Cómo instalar y asegurar phpMyAdmin en Ubuntu 18.04 LTS

Instalar phpMyAdmin

phpMyAdmin es una herramienta de administración gratuita y de código abierto para MySQL y MariaDB. phpMyAdmin es una herramienta basada en web que le permite administrar fácilmente bases de datos MySQL o MariaDB. Puede realizar tareas de administración como crear, editar o eliminar bases de datos, importar y exportar copias de seguridad de bases de datos, ejecutar búsquedas y administrar usuarios y permisos usando phpMyAdmin.

Características

  • Soporte multi-idioma.
  • Importar datos de CSV y SQL.
  • Proporcione gráficos en vivo para monitorear la actividad del servidor MySQL como conexiones, procesos, uso de CPU/memoria, etc.
  • Buscar globalmente en una base de datos o en un subconjunto de ella.
  • Interfaz web simple y fácil de usar.
  • Exporte datos a varios formatos como CSV, SQL, XML, PDF, Word, Excel, LaTeX y otros.

En este tutorial, explicaremos cómo instalar y asegurar phpMyAdmin en el servidor Ubuntu 18.04, abarcando desde cómo instalar phpMyAdmin en Ubuntu 18.04 LTS hasta cómo asegurarlo adecuadamente.

Requisitos

    • Un servidor con Ubuntu 18.04.
    • Un usuario no root con privilegios sudo.

Instalar phpMyAdmin en Ubuntu 18.04

Antes de comenzar con la instalación de phpMyAdmin en Ubuntu, deberá instalar Apache y MySQL en su servidor. Puedes instalarlo con el siguiente comando:

sudo apt-get install apache2 mysql-server -y

De forma predeterminada, phpMyAdmin no está disponible en el repositorio predeterminado de Ubuntu 18.04. Por lo tanto, para instalar phpMyAdmin en Ubuntu, deberá agregar el repositorio PHP de terceros a su sistema.

Puede agregarlo simplemente ejecutando el siguiente comando:

sudo apt-get install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php

Una vez que se agrega el repositorio, para instalar phpMyAdmin en Ubuntu, ejecute el siguiente comando:

sudo apt-get install phpmyadmin php-mbstring php-gettext -y

Durante la instalación, se le pedirá que elija el servidor web como se muestra a continuación:

Instalar phpMyAdmin

Elija Apache y haga clic en OK botón. Será redirigido a la siguiente página:

Configurar la base de datos con dbconfig common

Ahora, haga clic en botón. Deberías ver la siguiente página:

Establecer la contraseña de la aplicación MySQL

Confirmar contraseña

Aquí, proporcione la contraseña de su aplicación MySQL para phpMyAdmin y haga clic en el OK botón.

Una vez que se haya instalado phpMyAdmin, habilite la extensión PHP mbstring con el siguiente comando:

sudo phpenmod mbstring

A continuación, reinicie el servicio de Apache para aplicar los cambios:

sudo systemctl restart apache2

Configurar la autenticación de usuario

phpMyAdmin creó automáticamente un usuario de base de datos llamado phpmyadmin con la contraseña administrativa que configuró durante la instalación. Sin embargo, se recomienda crear un usuario independiente para administrar las bases de datos a través de la interfaz web de phpMyAdmin. En la última versión de MariaDB, el usuario raíz de MySQL está configurado para autenticarse mediante el complemento auth_socket de forma predeterminada. Por lo tanto, para utilizar phpMyAdmin en Ubuntu 18.04 con su usuario raíz de MySQL, deberá cambiar su método de autenticación de auth_socket a mysql_native_password.

Primero, inicie sesión en MySQL shell con el siguiente comando:

sudo mysql

A continuación, verifique el método de autenticación del usuario de MySQL con el siguiente comando:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Producción:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

En el resultado anterior, debería ver que el usuario root usa el complemento auth_socket.

Puede configurar la cuenta raíz para autenticarse con una contraseña ejecutando el siguiente comando:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

A continuación, vacíe los privilegios con el siguiente comando:

mysql> FLUSH PRIVILEGES;

Ahora, verifique los métodos de autenticación ejecutando el siguiente comando:

mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;

Producción:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *AC18DF5CAE34BF4796EF975702F038A566B48B42 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.01 sec)

Luego, cree un usuario separado con el nombre phpmyadminuser para conectarse a phpMyAdmin.

Primero, inicie sesión en MySQL shell:

mysql -u root -p

Ingrese su contraseña de root, luego cree un usuario con el siguiente comando:

MariaDB [(none)]> CREATE USER 'phpmyadminuser'@'localhost' IDENTIFIED BY 'password';

Luego, otorgue los privilegios apropiados a phpmyadminuser con el siguiente comando:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpmyadminuser'@'localhost' WITH GRANT OPTION;

Finalmente, salga del shell de MySQL con el siguiente comando:

MariaDB [(none)]> exit;

Ahora, para acceder a phpMyAdmin, abra su navegador web y escriba la URL http://your-server-ip/phpmyadmin. Será redirigido a la siguiente página:

inicio de sesión de phpMyAdmin

Aquí, proporcione su nombre de usuario y contraseña. Luego, haga clic en el Vamos botón. Debería ver el panel de PhpMyAdmin en la siguiente página:

panel de phpMyAdmin

PhpMyAdmin seguro

phpMyAdmin ahora está instalado y configurado. Sin embargo, se recomienda proteger su instancia de phpMyAdmin para evitar el acceso no autorizado. Puede proteger phpMyAdmin utilizando las funcionalidades de autenticación y autorización .htaccess integradas de Apache.

Para hacerlo, primero habilite el uso de anulaciones de archivos .htaccess editando el archivo phpmyadmin.conf:

sudo nano /etc/apache2/conf-available/phpmyadmin.conf

Realice los siguientes cambios:

<Directory /usr/share/phpmyadmin>
    Options SymLinksIfOwnerMatch
    DirectoryIndex index.php
    AllowOverride All

Guarde y cierre el archivo. Luego, reinicie el servicio Apache para aplicar los cambios:

sudo systemctl restart apache2

A continuación, cree un archivo .htaccess dentro del directorio phpmyadmin:

sudo nano /usr/share/phpmyadmin/.htaccess

Agregue las siguientes líneas:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Guarde y cierre el archivo. Luego, cree un usuario llamado admin con la utilidad htpasswd:

sudo htpasswd -c /etc/phpmyadmin/.htpasswd admin

Producción:

New password: 
Re-type new password: 
Adding password for user admin

Su instancia de phpMyAdmin ahora está protegida con una capa adicional de autenticación.

Ahora, abra su navegador web y escriba la URL http://your-server-ip/phpmyadmin. Se le redirigirá al nombre de cuenta y la contraseña adicionales que acaba de configurar como se muestra a continuación:

phpMyAdmin protegido con .htaccess

Ahora, proporcione su nombre de usuario y la contraseña y haga clic en el Tronco En botón. Debería ser redirigido a la página de autenticación normal de phpMyAdmin.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *