phpMyAdmin

 

Instalación y configuración de phpMyAdmin en Xubuntu 24.04 con Apache personalizado

Introducción

En esta guía detallo cómo instalé y configuré phpMyAdmin en un entorno con Apache 2, PHP 8.2 y MariaDB en Xubuntu 24.04, utilizando un directorio personalizado para el servidor web. También explico cómo resolver problemas comunes derivados de cambiar la raíz de Apache y cómo mantener todo funcionando correctamente en futuras configuraciones.


Requisitos previos

  • Tener Apache2, PHP 8.2 y MariaDB instalados y funcionando.

  • Haber cambiado la carpeta raíz de Apache a una ruta personalizada, en mi caso:

    /home/anthony/server/php/
    

Instalación de phpMyAdmin y módulos necesarios

Ejecuté el siguiente comando para instalar phpMyAdmin y los módulos de PHP requeridos:

sudo apt install phpmyadmin php-mbstring php-zip php-gd php-json php-curl

Esto instala:

  • phpmyadmin: interfaz web para administrar bases de datos.

  • php-mbstring: soporte para cadenas multibyte (requerido por phpMyAdmin).

  • php-zip, php-gd, php-json, php-curl: módulos comunes que permiten funcionalidades extra como exportaciones, gráficos y peticiones HTTP.


Habilitar módulo mbstring

Luego habilité el módulo mbstring con:

sudo phpenmod -v 8.2 mbstring

Importante: si estás usando PHP 8.2 como yo, asegúrate de tener instalado php8.2-mbstring. Si ves errores como que no encuentra el módulo, probablemente sea porque estás usando otra versión de PHP o no lo instalaste correctamente.


Crear enlace simbólico para que phpMyAdmin funcione con Apache personalizado

Como cambié la raíz de Apache a:

/home/anthony/server/php/

Apache no encontraba phpMyAdmin, porque por defecto se instala en:

/usr/share/phpmyadmin

Entonces creé un enlace simbólico para que se pueda acceder desde el navegador:

sudo ln -s /usr/share/phpmyadmin /home/anthony/server/php/phpmyadmin

Esto permite que al ingresar a:

http://localhost/phpmyadmin

se muestre correctamente la interfaz web.


Consideraciones importantes al cambiar el directorio raíz de Apache

Si vas a trabajar con múltiples tecnologías (PHP, Python, etc.) y cambiarás la raíz web, debes tener en cuenta:

  1. Actualizar el archivo de configuración de Apache:

    • Ruta: /etc/apache2/sites-available/000-default.conf

    • Cambiar la línea:

      DocumentRoot /var/www/html
      

      por:

      DocumentRoot /ruta/que/elijas
      
  2. phpMyAdmin u otras apps web pueden dejar de funcionar si están fuera del nuevo DocumentRoot. Necesitarás crear enlaces simbólicos o mover los archivos.

  3. Actualizar el archivo de configuración principal de Apache para permitir acceso a la nueva carpeta:

    • Ruta: /etc/apache2/apache2.conf

    • Agregar al final:

      <Directory /ruta/que/elijas>
          Options Indexes FollowSymLinks
          AllowOverride All
          Require all granted
      </Directory>
      
  4. Verifica permisos del sistema de archivos:

    • Asegúrate de que la carpeta personalizada tenga los permisos correctos:

      sudo chown -R www-data:www-data /ruta/que/elijas
      sudo chmod -R 755 /ruta/que/elijas
      
  5. Habilitar verificación de acceso a directorios:

    Apache necesita saber que puede servir archivos desde la carpeta personalizada.

    Esto se hace agregando Require all granted en la configuración global (como se muestra arriba), o usando un archivo .htaccess si AllowOverride All está habilitado.

    En un archivo .htaccess (opcional)

    Podés crear un archivo llamado .htaccess dentro de tu carpeta web (por ejemplo, en /home/anthony/server/php/miapp/) con esto:

    Require all granted

    Pero esto solo funcionará si AllowOverride está en All en la configuración principal de Apache (como pusiste antes). Si no, el .htaccess será ignorado.

    Esto evita errores como "403 Forbidden" al acceder a tus apps.

  6. Habilitar módulos de Apache si cambias de tecnología (por ejemplo, usar mod_wsgi para Python).

  7. Reiniciar Apache luego de cualquier cambio:

    sudo systemctl restart apache2
    

Resultado final

Luego de instalar, habilitar módulos, crear el enlace simbólico y reiniciar Apache, phpMyAdmin quedó funcionando correctamente en:

http://localhost/phpmyadmin

Y listo. ¡Ya puedo administrar mis bases de datos MariaDB de forma visual!


Próximos pasos

  • Documentar cómo instalar y conectar proyectos Symfony y Laravel a MariaDB.

  • Crear perfiles para diferentes entornos (PHP, Python, etc.) desde Apache.


¡Gracias por leer! 😄

Comentarios

Entradas populares de este blog

Instalación de PHP 8.2

Terminal Caliente