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/html
por:
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 granted
en la configuración global (como se muestra arriba), o usando un archivo.htaccess
siAllowOverride 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á enAll
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.
-
Habilitar módulos de Apache si cambias de tecnología (por ejemplo, usar
mod_wsgi
para 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