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:
-
Actualizar el archivo de configuración de Apache:
-
Ruta:
/etc/apache2/sites-available/000-default.conf -
Cambiar la línea:
DocumentRoot /var/www/htmlpor:
DocumentRoot /ruta/que/elijas
-
-
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.
-
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>
-
-
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
-
-
Habilitar verificación de acceso a directorios:
Apache necesita saber que puede servir archivos desde la carpeta personalizada.
Esto se hace agregando
Require all granteden la configuración global (como se muestra arriba), o usando un archivo.htaccesssiAllowOverride Allestá habilitado.En un archivo
.htaccess(opcional)Podés crear un archivo llamado
.htaccessdentro de tu carpeta web (por ejemplo, en/home/anthony/server/php/miapp/) con esto:Require all granted
Pero esto solo funcionará si
AllowOverrideestá enAllen la configuración principal de Apache (como pusiste antes). Si no, el.htaccessserá ignorado.Esto evita errores como "403 Forbidden" al acceder a tus apps.
-
Habilitar módulos de Apache si cambias de tecnología (por ejemplo, usar
mod_wsgipara Python). -
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
Publicar un comentario