sql >> Base de Datos >  >> Database Tools >> phpMyAdmin

Instalación de phpMyAdmin con Apache en CentOS 7

phpMyAdmin es una herramienta de administración gratuita y de código abierto para MySQL y MariaDB. Como aplicación web portátil escrita principalmente en PHP, se ha convertido en una de las herramientas de administración de MySQL más populares, especialmente para los servicios de alojamiento web. En esta guía, instalaremos phpMyAdmin con Apache en CentOS 7.

Un requisito previo importante antes de usar esta guía es instalar una pila LAMP (Linux, Apache, MariaDB y PHP) en su servidor CentOS 7. La pila LAMP es la plataforma que se utilizará para servir a nuestra interfaz phpMyAdmin (MariaDB es también el software de gestión de bases de datos que deseamos gestionar). Si aún no tiene una instalación LAMP en su servidor, haga clic aquí para leer nuestro tutorial sobre cómo instalar LAMP en CentOS 7.

Paso 1:Agregar repositorio EPEL:
Necesitamos agregar el repositorio EPEL (paquetes adicionales para Enterprise Linux) a nuestro servidor antes de continuar con la instalación, ya que contiene muchos paquetes adicionales, incluido el paquete phpMyAdmin que estamos buscando. Para instalar, escriba el siguiente comando:

sudo yum install epel-release

Paso 2:Instalar phpMyAdmin:
Escriba el siguiente comando para instalar el paquete phpMyAdmin utilizando el sistema de empaquetado yum seguido de y para continuar:

sudo yum install phpmyadmin

Después de una instalación exitosa, debería obtener un resultado similar al que se muestra a continuación:

La instalación incluye un archivo de configuración de Apache que se ha colocado en su directorio apropiado. Necesitamos modificar este archivo de configuración para que nuestra instalación funcione perfectamente para nuestras necesidades.

Abra el phpMyAdmin.conf en el /etc/httpd archivo en el editor de texto (nano en esta guía) para hacer algunas modificaciones:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf 

Actualmente, la instalación en el archivo de configuración está configurada para denegar el acceso a cualquier conexión que no se realice desde el propio servidor. Dado que estamos evaluando nuestro servidor de forma remota (a través de ssh), necesitamos modificar algunas líneas para especificar la dirección IP de su conexión doméstica.

La primera ubicación es <Directory /usr/share/phpMyAdmin/> sección como se muestra a continuación:

Cambie cualquier línea que diga Require ip 127.0.0.1 o Allow from 127.0.0.1 para referirse a la dirección IP de su conexión doméstica.

Nota: Si necesita ayuda para encontrar la IP de su conexión doméstica, haga clic aquí para verificar.

La segunda ubicación es <Directory /usr/share/phpMyAdmin/setup/> sección como se muestra a continuación:

Además, cambie cualquier línea que diga Require ip 127.0.0.1 o Allow from 127.0.0.1 para referirse a la dirección IP de su conexión doméstica.

Nota: La dirección IP de sus conexiones domésticas difiere de la dirección IP de su VPS.

Después de realizar las configuraciones, reinicie el servidor web Apache escribiendo:

sudo systemctl restart httpd.service

Para acceder a la interfaz, visite su dirección IP pública o el nombre de dominio del servidor seguido de /phpMyAdmin, en su navegador web:

http://server_domain_or_IP/phpMyAdmin

Inicie sesión en la interfaz de phpmyadmin con el nombre de usuario raíz y la contraseña administrativa que configuró durante la instalación de MySQL. Después de iniciar sesión, la interfaz de usuario se parece a la siguiente captura de pantalla:

ASEGURAR SU INSTANCIA PHPMYADMIN

Es importante asegurar su phpmyadmin para evitar el acceso no autorizado. Una manera fácil de hacer esto es cambiar la ubicación de la interfaz de /phpMyAdmin a otra cosa para evitar intentos automatizados de fuerza bruta de bots.

Abra el archivo de configuración usando el siguiente comando:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf 

Las dos líneas a continuación son los alias predeterminados que nos brindan contenido de /usr/share/phpMyAdmin ubicación si accedemos al nombre de dominio o dirección IP de nuestro sitio, seguido de /phpMyAdmin o /phpmyadmin .

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

Vamos a deshabilitar estos alias predeterminados debido a la alta tasa a la que son atacados por bots y usuarios malintencionados. Por motivos de seguridad, debemos decidir sobre nuestro propio alias teniendo en cuenta estas dos reglas:

  • No debe indicar el propósito de la ubicación de la URL.
  • Debe ser fácil de recordar pero no fácil de adivinar.

En esta guía, vamos a usar /somethingelse .

Para aplicar nuestros cambios, vamos a comentar las líneas existentes (puede eliminarlas por completo) y agregar las nuestras:

#Alias /phpMyAdmin /usr/share/phpMyAdmin
#Alias /phpmyadmin /usr/share/phpMyAdmin
Alias /somethingelse /usr/share/phpMyAdmin

Guarde y cierre el archivo y luego reinicie httpd con el siguiente comando:

sudo systemctl restart httpd.service

Si visita la ubicación anterior de su instalación de phpMyAdmin, obtendrá un error 404:

http://server_domain_or_IP/phpMyAdmin

http://server_domain_or_IP/nothingtosee

También puede proteger phpMyAdmin colocando una puerta de enlace frente a toda la aplicación utilizando el .htaccess integrado de Apache. funcionalidades de autenticación y autorización.

En primer lugar, necesitaremos habilitar el uso de anulaciones de archivos .htaccess editando nuestro archivo de configuración de Apache. Abra phpmyadmin.conf con el siguiente comando:

sudo nano /etc/httpd/conf.d/phpMyAdmin.conf 

Agregar AllowOverride All al final del <Directory /usr/share/phpmyadmin> sección del archivo de configuración como se muestra a continuación:

Guarde el archivo antes de cerrar y luego reinicie Apache con el comando:

sudo systemctl restart apache2

Después de habilitar el uso de .htaccess, debemos crear el archivo para implementar completamente la seguridad escribiendo el siguiente comando:

sudo nano /usr/share/phpmyadmin/.htaccess

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

Puedes leer más en htaccess aquí.

Escriba el siguiente comando para agregar la contraseña a htaccess archivo:

sudo htpasswd -c /etc/httpd/pma_pass username

Para agregar usuarios adicionales para autenticarse, escriba el mismo comando nuevamente, pero esta vez sin -c bandera, y con un nuevo nombre de usuario:

sudo htpasswd /etc/httpd/pma_pass seconduser

Con esto, cada vez que acceda a phpMyAdmin en su dominio, se le solicitará el nombre de cuenta y la contraseña adicionales que acaba de configurar como se muestra a continuación:
Con esto, cada vez que acceda a phpMyAdmin en su dominio, se le solicitará el nombre de cuenta adicional y la contraseña que acaba de configurar como se muestra a continuación:

Después de escribir la contraseña de autenticación de Apache, será redirigido a la página de autenticación original de phpMyAdmin para ingresar sus otras credenciales.