GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cómo instalar y proteger phpMyAdmin con Apache en Ubuntu 18.04

phpMyAdmin es una aplicación PHP de código abierto diseñada para manejar la administración de servidores MySQL y MariaDB a través de una interfaz basada en web.

phpMyAdmin le permite administrar bases de datos MySQL, cuentas de usuario y privilegios, ejecutar declaraciones SQL, importar y exportar datos en una variedad de formatos de datos y mucho más.

Este tutorial cubre los pasos necesarios para instalar y asegurar phpMyAdmin con Apache en Ubuntu 18.04.

Requisitos previos #

Asegúrese de cumplir con los siguientes requisitos previos antes de continuar con este tutorial:

  • Tenga LAMP (Linux, Apache, MySQL y PHP) instalado en su servidor Ubuntu.
  • Iniciar sesión como usuario con privilegios sudo.

Aunque no es necesario, se recomienda acceder a su instalación de phpMyAdmin a través de HTTPS. Si su dominio aún no está protegido por un SSL, puede seguir esta guía y asegurar su Apache con Let's Encrypt en Ubuntu 18.04.

Instalando phpMyAdmin #

Para instalar phpMyAdmin en su servidor Ubuntu 18.04, siga estos pasos:

  1. Actualice el índice de paquetes y actualice los paquetes del sistema a las últimas versiones:

    sudo apt update && sudo apt upgrade
  2. Instale el paquete phpMyAdmin desde los repositorios predeterminados de Ubuntu con el siguiente comando:

    sudo apt install phpmyadmin

    El instalador le pedirá que elija el servidor web que debe configurarse automáticamente para ejecutar phpMyAdmin, elija apache presionando Space y luego Enter .

    A continuación, se le preguntará si desea utilizar dbconfig-common para configurar la base de datos, seleccione Yes y pulsa Enter .

    Ingrese una contraseña para que phpMyAdmin se registre en la base de datos, seleccione OK y presiona Enter .

    Se le pedirá que confirme la contraseña, ingrese la misma contraseña, seleccione OK y presiona Enter .

  3. Una vez que se complete el proceso de instalación, reinicie Apache para que los cambios surtan efecto:

    sudo systemctl restart apache2

Crear un número de usuario administrativo de MySQL

En los sistemas Ubuntu que ejecutan MySQL 5.7 (y versiones posteriores), el usuario raíz está configurado para usar el auth_socket método de autenticación por defecto.

El auth_socket El complemento autentica a los usuarios que se conectan desde el host local a través del archivo de socket de Unix. Esto significa que no puede autenticarse como raíz proporcionando una contraseña.

En lugar de cambiar el método de autenticación para el usuario raíz de MySQL, crearemos un nuevo usuario administrativo de MySQL. Este usuario tendrá los mismos privilegios que el usuario raíz y se configurará para usar mysql_native_password método de autenticación.

Usaremos este usuario para iniciar sesión en el panel de phpMyAdmin y realizar tareas administrativas en nuestro servidor MySQL o MariaDB.

Comience por iniciar sesión en el servidor MySQL como usuario root:

sudo mysql

Desde el shell de MySQL, ejecute los siguientes comandos que crearán un nuevo usuario administrativo y otorgarán los permisos apropiados:

CREATE USER 'padmin'@'localhost' IDENTIFIED BY 'super-strong-password';GRANT ALL PRIVILEGES ON *.* TO 'padmin'@'localhost' WITH GRANT OPTION;

En nuestro ejemplo, nombramos al usuario administrativo padmin . Puede usar cualquier nombre que desee, solo asegúrese de establecer una contraseña segura.

Accediendo a phpMyAdmin #

Para acceder a la interfaz de phpMyAdmin, abra su navegador favorito y escriba el nombre de dominio de su servidor o la dirección IP pública seguida de /phpmyadmin :

https://your_domain_or_ip_address/phpmyadmin

Ingrese las credenciales de inicio de sesión del usuario administrativo que creó anteriormente y haga clic en Go .

Una vez que inicie sesión, verá el panel de control de phpMyAdmin, que se verá así:

Asegurando phpMyAdmin #

Para agregar una capa adicional de seguridad, protegeremos con contraseña el directorio phpMyAdmin configurando una autenticación básica.

Primero crearemos un archivo de contraseñas con los usuarios usando htpasswd herramienta que viene con el paquete Apache. Guardaremos el .htpasswd archivo en /etc/phpmyadmin directorio:

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

En este ejemplo estamos creando un usuario llamado padmin . Puede elegir cualquier nombre de usuario, no tiene que ser el mismo que el usuario administrativo de MySQL.

El comando anterior le pedirá que ingrese y confirme la contraseña del usuario.

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

Si desea agregar un usuario adicional, puede usar el mismo comando sin -c bandera:

sudo htpasswd /etc/phpmyadmin/.htpasswd padmin2

El siguiente paso es configurar Apache para proteger con contraseña el directorio phpMyAdmin y usar .htpasswd archivo.

Para hacerlo, abra el phpmyadmin.conf archivo que se creó automáticamente durante la instalación de phpMyAdmin:

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

Y edite/inserte las siguientes líneas resaltadas en amarillo:

/etc/apache2/conf-disponible/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
    Options  +FollowSymLinks +Multiviews +Indexes  # edit this line
    DirectoryIndex index.php

    AllowOverride None
    AuthType basic
    AuthName "Authentication Required"
    AuthUserFile /etc/phpmyadmin/.htpasswd
    Require valid-user

    <IfModule mod_php5.c>
    ...

Guarde y cierre el archivo y reinicie Apache para que los cambios surtan efecto:

sudo systemctl restart apache2

Ahora, al acceder a su phpMyAdmin, se le pedirá que ingrese las credenciales de inicio de sesión del usuario que creó anteriormente:

https://your_domain_or_ip_address/phpmyadmin

Después de ingresar la autenticación básica, será llevado a la página de inicio de sesión de phpMyAdmin donde deberá ingresar sus credenciales de inicio de sesión de usuario administrativo de MySQL.

También es una buena idea cambiar el /phpmyadmin alias a algo más único y seguro.
Ubuntu
  1. Cómo instalar y asegurar phpMyAdmin en Ubuntu

  2. Cómo instalar Apache ZooKeeper en Ubuntu

  3. Cómo instalar y configurar Nextcloud con Apache en Ubuntu 18.04

  4. Cómo instalar Apache Maven en Ubuntu 18.04 y 16.04

  5. Instalar phpMyAdmin con Apache en Ubuntu 18.04 - ¿Proceso paso a paso?

Cómo instalar phpMyAdmin con Apache (LAMP) en Ubuntu 18.04

Cómo instalar phpMyAdmin con Apache (LAMP) en Ubuntu 20.04

Cómo instalar phpMyAdmin con LAMP en Ubuntu 16.04

Cómo instalar phpMyAdmin con Apache en Ubuntu 22.04 LTS

Cómo instalar Drupal con Apache en Debian y Ubuntu

Cómo instalar y asegurar phpMyAdmin en Ubuntu 14.04