En este artículo veremos cómo instalar phpMyAdmin en CentOS 6 paso a paso, de modo que podrás administrar el servicio de bases de datos MariaDB/MySQL de tu servidor o VPS CentOS, de forma cómoa gracias a la interfaz web de esta aplicación.
Contenido
Antes de instalar phpMyAdmin en CentOS 6
Para poder seguir hasta el final esta guía de instalación de phpMyAdmin en CentOS 6 deberías cumplir estos requisitos básicos:
- Un sistema CentOS 6 actualizado.
- Una pila o entorno tipo LAMP, es decir, servicio web con PHP (desde la versión 7.2) y motor de bases de datos MariaDB/MySQL.
- Acceso a consola como root o un usuario con permisos de sudo.
- Conexión a Internet.
Si aún no dispones del entorno necesario, es aconsejable revisar previamente nuestra guía de instalación LAMP en CentOS 6.
También necesitamos algunas herramientas del sistema, que obtendremos desde los repositorios de CentOS 6, por lo que actualizamos la información de los mismos:
~$ sudo yum update
E instalamos las mencionadas herramientas:
~$ sudo yum install -y wget xz
Cómo descargar phpMyAdmin para CentOS 6
Vamos a descargar phpMyAdmin para CentOS 6 desde el sitio web del proyecto, ya que en los repositorios de la distribución no existen paquetes actualizados.
En la sección de descargas encontraremos las últimas revisiones de la versión 4 y de la nueva versión 5, siendo esta última la que descargaremos en este tutorial:
Disponemos de varios formatos de compresión del paquete de phpMyAdmin, como .zip, .tar.gz y .tar.xz. Elegiremos el de mayor compresión para agilizar la descarga. En este tutorial copiaremos el enlace y realizaremos la descarga desde consola con el comando wget:
~$ wget --no-check-certificate https://files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.tar.xz
Cómo instalar phpMyAdmin en CentOS 6
Para poder instalar phpMyAdmin en CentOS 6 debemos seguir una serie de pasos que detallamos a continuación.
Archivos de phpMyAdmin
Extraeremos el contenido del archivo que acabamos de descargar directamente en su ubicación definitiva:
~$ sudo tar xf phpMyAdmin-5.2.0-all-languages.tar.xz -C /var/www/html/
El nombre del directorio contiene números de versión, así que podemos renombrarlo o crear un enlace simbólico:
~$ sudo ln -s /var/www/html/phpMyAdmin-5.2.0-all-languages/ /var/www/html/phpmyadmin
Como phpMyAdmin necesita almacenar archivos temporales en su propio directorio de instalación, concederemos la propiedad de este directorio al usuario con el que corre el servicio web (apache para Apache en CentOS 6):
~$ sudo chown apache /var/www/html/phpmyadmin/
PHP
La aplicación phpMyAdmin necesita la presencia en CentOS 6 de ciertas extensiones de PHP, como puede ser mbstring. Nos aseguramos de que estén instaladas:
~$ sudo yum install -y php-bz2 php-mbstring php-xml php-zip
Será necesario recargar la configuración del servicio web o del servicio PHP (según corresponda) para aplicar la nueva configuración:
~$ sudo service httpd reload
Configuración de phpMyAdmin
Es importante configurar phpMyAdmin en CentOS 6 antes de conectar por primera vez. La aplicación provee un archivo de configuración de muestra que podemos utilizar copiándolo como el archivo de configuración final:
~$ sudo cp /var/www/html/phpmyadmin/config.sample.inc.php /var/www/html/phpmyadmin/config.inc.php
Editamos el nuevo archivo de configuración:
~$ sudo nano /var/www/html/phpmyadmin/config.inc.php
En primer lugar debemos dar un valor a la variable blowfish_secret, que servirá para cifrar las cookies de sesión:
... $cfg['blowfish_secret'] = ''; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ ...
Indicaremos una cadena de 32 caracteres entre las comillas:
... $cfg['blowfish_secret'] = 'abcdef0123456789ABCDEF0123456789'; ...
Por otro lado, phpMyAdmin permite almacenar configuraciones extendidas para cada usuario y base de datos en una base propia de phpMyAdmin. Si queremos activar esta característica tendremos que buscar el bloque de variables para el almacenamiento de la configuración:
... /** * phpMyAdmin configuration storage settings. */ /* User used to manipulate with storage */ // $cfg['Servers'][$i]['controlhost'] = ''; // $cfg['Servers'][$i]['controlport'] = ''; // $cfg['Servers'][$i]['controluser'] = 'pma'; // $cfg['Servers'][$i]['controlpass'] = 'pmapass'; /* Storage database and tables */ // $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; // $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; // $cfg['Servers'][$i]['relation'] = 'pma__relation'; // $cfg['Servers'][$i]['table_info'] = 'pma__table_info'; // $cfg['Servers'][$i]['table_coords'] = 'pma__table_coords'; // $cfg['Servers'][$i]['pdf_pages'] = 'pma__pdf_pages'; // $cfg['Servers'][$i]['column_info'] = 'pma__column_info'; // $cfg['Servers'][$i]['history'] = 'pma__history'; // $cfg['Servers'][$i]['table_uiprefs'] = 'pma__table_uiprefs'; // $cfg['Servers'][$i]['tracking'] = 'pma__tracking'; // $cfg['Servers'][$i]['userconfig'] = 'pma__userconfig'; // $cfg['Servers'][$i]['recent'] = 'pma__recent'; // $cfg['Servers'][$i]['favorite'] = 'pma__favorite'; // $cfg['Servers'][$i]['users'] = 'pma__users'; // $cfg['Servers'][$i]['usergroups'] = 'pma__usergroups'; // $cfg['Servers'][$i]['navigationhiding'] = 'pma__navigationhiding'; // $cfg['Servers'][$i]['savedsearches'] = 'pma__savedsearches'; // $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; // $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; // $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; /** * End of servers configuration */ ...
Estas variables definen un usuario (pma), una contraseña (pmapass) y una base de datos (phpmyadmin). Es interesante cambiar la contraseña por motivos de seguridad. Además, habrá que eliminar los dos caracteres // al inicio de cada línea $cfg para que estas variables sean tenidas en cuenta:
... $cfg['Servers'][$i]['controlhost'] = ''; $cfg['Servers'][$i]['controlport'] = ''; $cfg['Servers'][$i]['controluser'] = 'pma'; $cfg['Servers'][$i]['controlpass'] = 'XXXXXXXX'; ... $cfg['Servers'][$i]['pmadb'] = 'phpmyadmin'; $cfg['Servers'][$i]['bookmarktable'] = 'pma__bookmark'; $cfg['Servers'][$i]['relation'] = 'pma__relation'; ... $cfg['Servers'][$i]['central_columns'] = 'pma__central_columns'; $cfg['Servers'][$i]['designer_settings'] = 'pma__designer_settings'; $cfg['Servers'][$i]['export_templates'] = 'pma__export_templates'; ...
Ya podemos guardar los cambios y cerrar el archivo.
Servicio de bases de datos
Si decidiste activar el almacenamiento de configuraciones en el paso anterior, habrá que crear el usuario y la base de datos en el servicio que tenemos instalado en CentOS 6. Para ello conectamos con el cliente de consola mysql y el usuario administrador:
~$ mysql -u root -p
Recuerda usar los mismos valores que aparezcan en el archivo de configuración de phpMyAdmin.
Empezaremos creando la base de datos:
> create database phpmyadmin;
Y creamos el usuario con su contraseña. Para MySQL 5.x ó MariaDB lo hacemos así:
> create user pma@localhost identified by 'XXXXXXXX';
Pero para MySQL 8 conviene especificar el plugin de autenticación compatible con PHP:
> create user pma@localhost identified with mysql_native_password by 'XXXXXXXX';
En cualquier caso, damos permisos al usuario sobre la base:
> grant all privileges on phpmyadmin.* to pma@localhost;
Y ya podemos finalizar la sesión:
> exit
Además de crear la base, es necesario inicializarla mediante un script SQL previsto al efecto. Usaremos mysql desde consola para realizar esta inicialización:
~$ mysql -u pma -p < /var/www/html/phpmyadmin/sql/create_tables.sql
En el comando anterior hemos usado el usuario y la contraseña que hemos creado para la base de datos de phpMyAdmin.
Instalación vía web
Accedemos por primera vez a phpMyAdmin desde el navegador. En este caso como URL usamos la dirección IP o dominio del servidor CentOS 6 seguido la ruta /phpmyadmin o como hayamos renombrado o enlazado el nombre del directorio de phpMyAdmin:
Podremos iniciar sesión con cualquier usuario de MariaDB/MySQL que se autentifique mediante contraseña con el plugin de autenticación mysql_native_password.
Lógicamente, las tareas que podremos realizar dependerán del nivel de permisos que tenga el usuario con el que hemos iniciado sesión.
Conclusión
Ahora que sabes cómo instalar phpMyAdmin en CentOS 6 ya puedes administrar MariaDB o MySQL con la comodidad de una interfaz web tan potente como la de esta aplicación, tanto de forma local como remota.
En caso de preguntas, dudas, alguna sugerencia o corrección, puedes dejar un comentario.
¡Apoya este sitio!
¿Ya estás listo para administrar tus bases de datos gracias a esta guía de instalación de phpMyAdmin en CentOS 6? Si es así y quieres agradecérnoslo, cualquier contribución ayuda a mantener en línea este sitio web y a la creación de más tutoriales de CentOS 6 y phpMyAdmin, así que puedes dejar una propina de tan sólo 1 $ desde PayPal:
O, si te sientes especialmente agradecido, puedes invitarnos a un café:
¡Gracias!
Actualizado a la versión 5.2.0.