En este artículo vamos a enseñarte cómo instalar phpMyAdmin para tu WordPress en Ubuntu 16. Esta instalación va a ser para mod_php, que es un módulo de apache2 capaz de ejecutar PHP.
phpMyAdmin es una herramienta escrita en PHP con la que se pueden gestionar bases de datos MySQL a través de cualquier navegador.
Con phpMyAdmin puedes hacer lo mismo que si te conectases directamente a la base de datos en MySQL. Puedes crear y borrar usuarios, gestionar los permisos de los usarios, crear y borrar bases de datos y administrar sus tablas, vistas, etc. También puedes importar y exportar bases de datos (con esto puedes hacer backups o incluso migrar una instalación de WordPress).
Debes saber que phpmyadmin básicamente ayuda a gestionar las bases de datos, no añade ninguna funcionalidad que no tenga MySQL, por lo que si no tienes permisos en una base de datos en MySQL, tampoco los tendrás en phpMyAdmin. Por defecto tampoco podrás crear bases de datos.
Dicho esto, vamos a empezar el tutorial.
Contenidos del Post
1.- Prepara el servidor
En primer lugar, conéctate por SSH al servidor en el que quieres instalar phpMyAdmin. Puedes hacerlo con el comando ssh -l $USER $HOST -p $PORT.
La variable $USER es el nombre del usuario con el que te vas a conectar (se puede omitir si te conectas con un usuario con el mismo nombre).
$HOST es el 'nombre' del servidor al que te vas a conectar. Puede ser tanto la IP como el nombre del dominio (al fin y al cabo, el nombre del dominio resuelve a la IP).
$PORT es el número de puerto. Por defecto es el 22, pero es posible que se haya cambiado. Si es el puerto por defecto, se puede omitir.
Un ejemplo de una conexión típica, puede ser: ssh -l root example1.com (este comando es equivalente a ssh root@example1.com.
Si vas a instalar phpMyAdmin en local, puedes omitir este primer paso.
En cuanto estés en el servidor, procede a actualizar los paquetes. Puedes hacerlo con los comandos:
apt-get update
apt-get upgrade -y
El -y sirve para evitar el prompt, o lo que es lo mismo, que no te pregunten si quieres actualizar los paquetes, sino que se actualicen sin preguntarte.
El tercer paso sería asegurarse de que tienes un servidor LAMP (apache2, mysql y php) instalado. Si tienes WordPress ya tienes un LAMP instalado, pero si no lo tienes, puedes instalar los paquetes necesarios con los siguientes comandos:
apt-get install apache2 -y
apt-get install mysql-server -y
apt-get install php -y
2.- Instala phpMyAdmin
Ahora instala el paquete phpmyadmin. Lo puedes hacer con el comando:
apt-get install phpmyadmin -y
Mientras se está instalando phpMyAdmin, te saltará el prompt preguntándote si quieres que el servidor configure un servidor web para que funcione phpMyAdmin.
Pulsa la barra espaciadora en apache2, y luego pulsa INTRO.
Poco más tarde se te abrirá otra ventana preguntándote si quieres que se configure una base de datos para utilizar con phpMyAdmin.
Selecciona Yes para que se cree automáticamente la base de datos y el usuario asociado a dicha base de datos (ambos 'phpmyadmin'). Esta base de datos añade funcionalidades a phpMyAdmin.
En cuanto selecciones Yes te aparecerá otra ventana pidiéndote la contraseña que quieres que tenga el usuario phpmyadmin@localhost en la base de datos phpmyadmin.
Escribe la contraseña de tu elección y pulsa INTRO.
Vuelve a introducir la contraseña y vuelve a pulsar INTRO.
Con esto se terminará de instalar phpMyAdmin.
3.- Accede a phpMyAdmin
Si intentas entrar ahora a phpmyadmin, verás que no puedes. Antes debes indicar a apache que incluya el fichero de configuración de phpmyadmin.
Abre el fichero /etc/apache2/apache2.conf (puedes utilizar cualquier editor, nosotros te recomendamos vi, y en menor medida, nano, e introduce la siguiente directiva Include /etc/phpmyadmin/apache.conf. Guarda los cambios y reinicia el servicio apache systemctl restart apache2.
Ahora intenta acceder otra vez a www.$DOMINIO/phpmyadmin y verás que esta vez sí se abre el phpMyAdmin.
Accede con el usuario (por defecto phpmyadmin, y la contraseña (la que has elegido durante la instalación de phpMyAdmin) y podrás gestionar la base de datos phpmyadmin.
Si accedes con las credenciales de la base de datos de WordPress, podrás gestionar la base de datos de tu WordPress.
Y con ésto ya tendrás tu phpMyAdmin en funcionamiento. Para que una base de datos te aparezca en phpmyadmin, deberás tener privilegios sobre dicha base de datos.
Por defecto, los usuarios con privilegios sobre las bases de datos de WordPress no tendrán acceso a la base de datos phpmyadmin. Si puedes acceder a mySQL como 'root' o como un usuario con privilegios de grant sobre la base de datos phpmyadmin, puedes darle privilegios sobre dicha base de datos al usuario con privilegios sobre la base de datos de WordPress (el usuario 'phpmyadmin' no puede dar privilegios sobre la base de datos phpmyadmin a ningún otro usuario).
Con nuestro Hosting WordPress Administrado todas las instalaciones de WordPress vienen con phpMyAdmin y además tienen privilegios sobre la base de datos phpmyadmin.
Si quieres esconder bases de datos en la lista, introduce en el fichero /etc/phpmyadmin/config.inc.php la directiva $cfg['Servers'][$i]['hide_db'] = 'information_schema|performance_schema|phpmyadmin';
Sustituye las bases de datos 'information_schema|performance_schema|phpmyadmin' por las que quieras ocultar.
4.- Posibles problemas
A continuación vamos a comentar algunos de los posibles problemas con los que puedes encontrarte.
4.1.- PHP-FPM
Si en lugar de utilizar mod_php, utilizas PHP-FPM, habrás comprobado que no puedes acceder a phpMyAdmin. Para ello debes hacer que phpMyAdmin se conecte a un pool de PHP-FPM. Busca en el fichero de configuración de apache del dominio, copia la directiva de llamada a php-fpm y pégala en el fichero /etc/phpmyadmin/apache.conf, sustituyendo la ruta del dominio (por ejemplo, /var/www/example1.com/html) por la ruta /usr/share/phpmyadmin.
4.2.- PHP 7.2
Otro problema puede ocurrir si tienes activada la versión de php 7.2 debido a que phpMyAdmin no es del todo compatible con php7.2, por lo que si tienes esta versión activada obtendrás fallos constantemente.
La primera solución es cambiar a otra versión de php, por ejemplo la 7.1. La segunda solución es activar PHP-FPM, y hacer que phpMyAdmin utilice la versión de php 7.1 (el dominio puede utilizar la versión 7.2 sin ningún problema).
4.3.- Blowfish secret
Otro problema que suele suceder es que aparece un mensaje de error que dice que el archivo de configuración necesita una frase secreta (blowfish_secret).
También puede ser que en lugar de decir que necesita una frase secreta, diga que ésta es demasiado corta. La solución para ambos errores (en realidad son warnings, pero bastante molestos) es la misma.
Edita el fichero /etc/phpmyadmin/config.inc.php e introduce al final del todo la directiva $cfg['blowfish_secret'] = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
Sustituye las 'x' por un conjunto de caracteres alfanuméricos (número y letras, tanto mayúsculas como minúsculas) cuya longitud sea mayor o igual a 32.
Guarda los cambios y reloguea para ver que el warning ha desaparecido.
5.- Conclusión
Es una gran herramienta si no te sientes cómodo gestionando las bases de datos con los comandos SQL. Además es más sencillo gestionar las bases de datos visualmente.
Si te sientes cómodo gestionando las bases de datos con los comandos SQL, esta herramienta no te aportará nada nuevo, y además comprobarás que es más lento realizar muchas de las acciones de phpmyadmin que simplemente ejecutando la sentencia correspondiente.