GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo instalar y asegurar phpMyAdmin en CentOS 8

phpMyAdmin es una herramienta de software de código abierto que se utiliza para administrar bases de datos MySQL/MariaDB. Proporciona una manera fácil de interactuar con MySQL a través de un navegador web. phpMyAdmin es muy útil para los usuarios que no se sienten cómodos administrando sus datos desde la línea de comandos, por lo que es esencial para cualquier administrador de sistemas proteger phpMyAdmin de diferentes tipos de ataques.

En este tutorial, le mostraremos cómo instalar y asegurar phpMyAdmin en CentOS 8.

Requisitos

  • Un nuevo CentOS 8 VPS en la plataforma en la nube de Atlantic.net.
  • Una contraseña raíz configurada en su servidor.

Paso 1:crear el servidor en la nube de Atlantic.Net

Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo CentOS 8 como sistema operativo con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.

Una vez que haya iniciado sesión en su servidor CentOS 8, ejecute el siguiente comando para actualizar su sistema base con los últimos paquetes disponibles.

dnf update -y

Paso 2:instale Apache, MariaDB y PHP

Antes de comenzar, instale Apache, MariaDB, PHP y otras extensiones de PHP requeridas con el siguiente comando:

dnf install httpd mariadb-server php php-cli php-json php-mbstring php-pdo php-pecl-zip php-mysqlnd -y

Después de instalar todos los paquetes, puede continuar con el siguiente paso.

Paso 3:establezca la contraseña raíz de MariaDB

Primero, inicie el servicio MariaDB y habilítelo para que se inicie en el momento del arranque con el siguiente comando:

systemctl start mariadb
systemctl enable mariadb

A continuación, configure la contraseña raíz de MySQL usando el siguiente script:

mysql_secure_installation

Este script establecerá la contraseña raíz de MySQL, eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz de forma remota y eliminará la base de datos de prueba y accederá a ella, como se muestra a continuación:

Ingrese la contraseña actual para root (ingrese para ninguno):

Set root password? [Y/n] Y
New password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Paso 4:instalar phpMyAdmin

Primero, descargue la última versión de phpMyAdmin al directorio raíz web de Apache usando el siguiente comando:

cd /var/www/html
wget https://files.phpmyadmin.net/phpMyAdmin/4.9.4/phpMyAdmin-4.9.4-all-languages.zip

Una vez descargado, descomprima el archivo descargado con el siguiente comando:

unzip phpMyAdmin-4.9.4-all-languages.zip

A continuación, cambie el nombre del directorio extraído a phpmyadmin como se muestra a continuación:

mv phpMyAdmin-4.9.4-all-languages phpmyadmin

A continuación, cambie la propiedad del directorio phpmyadmin al usuario de apache:

chown -R apache:apache /var/www/html/phpmyadmin

A continuación, cambie el nombre del archivo config.sample.inc.php:

cd /var/www/html/phpmyadmin
mv config.sample.inc.php config.inc.php

A continuación, edite el archivo y defina su contraseña segura:

nano config.inc.php

Busque la línea a continuación y actualice con su contraseña segura, como se muestra a continuación:

$cfg['blowfish_secret'] = 'your-secure-password';

Guarde y cierre el archivo. Luego, importe las tablas para phpMyAdmin con el siguiente comando:

mysql < sql/create_tables.sql -u root -p

Una vez que haya terminado, puede continuar con el siguiente paso.

Paso 5:configurar Apache para phpMyAdmin

A continuación, cree un archivo de configuración de host virtual de Apache para phpMyAdmin:

nano /etc/httpd/conf.d/phpmyadmin.conf

Agregue las siguientes líneas:

Alias /phpmyadmin /var/www/html/phpmyadmin

<Directory /var/www/html/phpmyadmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
      Require all granted
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /var/www/html/phpmyadmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted
     </RequireAny>

   </IfModule>

   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>

</Directory>

Guarde y cierre el archivo. Luego, inicie el servicio Apache y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:

systemctl start httpd
systemctl enable httpd

Ahora, abra su navegador web y visite la URL http://your-server-ip/phpmyadmin. Debería ver la interfaz web de phpMyAdmin en la siguiente pantalla:

Inicie sesión con sus credenciales de MySQL creadas anteriormente.

Paso 6:proteger phpMyAdmin

En esta sección, mostraremos diferentes formas de asegurar su interfaz web phpMyAdmin.

Cambiar la ubicación de acceso de phpMyAdmin

Es una buena idea cambiar la URL de acceso de su interfaz phpMyAdmin. Puede cambiarlo editando el archivo phpmyadmin.conf:

nano /etc/httpd/conf.d/phpmyadmin.conf

Busque la siguiente línea:

Alias /phpmyadmin /var/www/html/phpmyadmin

Reemplácelo con la siguiente línea:

Alias /securelocation /var/www/html/phpmyadmin

Guarde y cierre el archivo, luego reinicie el servicio Apache para implementar los cambios:

systemctl restart httpd

Ahora puede acceder a la interfaz de phpMyAdmin usando la URL http://your-server-ip/securelocation.

Permitir phpMyAdmin desde una IP específica

Siempre es una buena idea permitir que phpMyAdmin solo sea accesible desde una dirección IP específica.

Para hacerlo, abra el archivo phpmyadmin.conf:

nano /etc/httpd/conf.d/phpmyadmin.conf

Encuentra las siguientes líneas:

     <RequireAny>
       Require all granted
     </RequireAny>

Reemplácelo con lo siguiente:

<RequireAny>
    Require ip your-client-ip-address
    Require ip ::1
</RequireAny>

Guarde y cierre el archivo, luego reinicie el servicio Apache para implementar los cambios:

systemctl restart httpd

Su interfaz phpMyAdmin ahora solo es accesible desde una dirección IP específica.

Proteger con contraseña la interfaz de phpMyAdmin

También puede agregar una capa adicional de protección con contraseña en phpMyAdmin configurando la autenticación básica.

Primero, cree un archivo de autenticación usando el siguiente comando:

htpasswd -c /etc/httpd/.htpasswd phpadmin

Proporcione una contraseña segura como se muestra a continuación:

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

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

nano /var/www/html/phpmyadmin/.htaccess

Agregue las siguientes líneas:

AuthType basic
AuthName "Authentication Required"
AuthUserFile /etc/httpd/.htpasswd
Require valid-user

Guarde y cierre el archivo cuando haya terminado.

Luego, edite el archivo phpmyadmin.conf y configure Apache para usar el archivo .htpasswd.

nano /etc/httpd/conf.d/phpmyadmin.conf

Agregue las siguientes líneas debajo de la línea "AddDefaultCharset UTF-8":

    AllowOverride All

Guarde el archivo, luego reinicie el servicio Apache para implementar los cambios:

systemctl restart httpd

Paso 7:Pruebe phpMyAdmin

En este punto, la interfaz de phpMyAdmin está protegida con una capa adicional de protección con contraseña. Para probarlo, abra su navegador web y escriba la URL http://your-server-ip/securelocation. Se le pedirá que proporcione las credenciales de inicio de sesión que creamos anteriormente:

Escriba su nombre de usuario y contraseña y haga clic en Aceptar botón. Será redirigido a la página de inicio de sesión de phpMyAdmin:

Proporcione su nombre de usuario y contraseña de MySQL, luego haga clic en Ir botón. Debería ver su interfaz web phpMyAdmin en la siguiente pantalla:

Conclusión

En la guía anterior, aprendimos cómo instalar y asegurar phpMyAdmin en CentOS 8. Su interfaz de phpMyAdmin ahora está protegida con protección de contraseña adicional. Puede usar este método para asegurar un servidor bajo un plan de hospedaje VPS de Atlantic.Net.

Obtenga más información sobre nuestros servicios de alojamiento VPS y servidores privados virtuales.


Linux
  1. Cómo instalar y proteger phpMyAdmin en Debian 9

  2. Cómo instalar y asegurar phpMyAdmin en Ubuntu

  3. Cómo instalar phpMyAdmin en CentOS 7

  4. Cómo instalar phpMyAdmin en CentOS 8

  5. Cómo instalar y asegurar MongoDB 4 en CentOS 8

Cómo instalar OrangeHRM en CentOS 7

Cómo instalar phpMyAdmin en CentOS 6

Cómo instalar phpMyAdmin en CentOS 8

Cómo instalar y configurar GlusterFS en CentOS 7/CentOS 8

Cómo instalar y asegurar phpMyAdmin en Ubuntu 14.04

¿Cómo instalar phpMyAdmin en CentOS 7?