¿Cómo instalar y proteger phpMyAdmin en Ubuntu 22.04?
Introducción
El phpMyAdmin es una aplicación web de código abierto escrita en PHP que se utiliza para administrar y gestionar bases de datos MySQL. Proporciona una interfaz de usuario gráfica que permite a los usuarios crear, modificar y eliminar bases de datos, tablas, campos y registros, así como ejecutar consultas SQL y realizar otras tareas de gestión de bases de datos.
Antes de empezar con el tutorial, ¿no tienes un servidor Cloud Linux Ubuntu 22.04 en el que puedas instalar tu phpMyAdmin? ¡No te preocupes! Con solo un clic, puedes desplegarlo fácilmente con SW Hosting.
cta:cloud_so_ubuntu_22
Para instalar y proteger phpMyAdmin en Ubuntu 22.04, sigue los siguientes pasos:
Paso 1: Actualizar el sistema
Antes de empezar, es importante asegurarse de tener el sistema Ubuntu 22.04 actualizado. Para ello, abre una terminal y escribe el siguiente comando:
sudo apt-get update && sudo apt-get upgrade
Paso 2: Instalar Apache, MySQL y PHP
Para utilizar phpMyAdmin, es necesario instalar un servidor web Apache, una base de datos MySQL y el lenguaje de programación PHP. Para instalar estos paquetes, escribe el siguiente comando en la terminal:
sudo apt-get install apache2 mysql-server php
Seguidamente debemos cambiar / establecer una nueva contraseña de root para mysql server:
Para cambiar la contraseña de root en MySQL para Ubuntu 22.04, sigue estos pasos:
Abre una terminal en tu sistema Ubuntu.
Inicia sesión en MySQL como usuario root ejecutando el siguiente comando y presiona enter:
sudo mysql -u root -p
Una vez que hayas iniciado sesión en MySQL, cambia a la base de datos "mysql" ejecutando el siguiente comando:
USE mysql;
Puedes cambiar la contraseña de root ejecutando el siguiente comando. Reemplaza <nueva-contraseña>
con la nueva contraseña que deseas establecer:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password by 'nueva-contraseña.';
Si deseas cambiar la contraseña de root para un host diferente al localhost, ajusta la consulta en consecuencia utilizando el host correcto en lugar de 'localhost'.
Luego, ejecuta el siguiente comando para aplicar los cambios y recargar los privilegios:
FLUSH PRIVILEGES;
Puedes salir de la consola de MySQL ejecutando:
EXIT;
Una vez hecho esto, puedes mejorar la seguridad de tu servidor de BBDD usando el comando siguiente:
mysql_secure_installation
Este comando realiza una serie de configuraciones básicas de seguridad en MySQL para protegerlo contra posibles amenazas.
Paso 3: Instalar phpMyAdmin
Ahora, es necesario instalar phpMyAdmin en el servidor. Para esto, escribe el siguiente comando en la terminal:
sudo apt-get install phpmyadmin
Durante la instalación, se te pedirá que configures algunas opciones. Selecciona apache2
como servidor web y Yes
cuando se te pregunte si deseas configurar la base de datos de phpMyAdmin con dbconfig-common
.
Paso 4: Configurar Apache para phpMyAdmin
Ahora es necesario configurar el Apache para que phpMyAdmin funcione correctamente. Escribe el siguiente comando en la terminal:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
Esto abrirá el archivo de configuración de Apache para phpMyAdmin. Dentro de este archivo, agrega las siguientes líneas justo debajo de la línea que comienza con Alias
:
file phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
AddDefaultCharset UTF-8
<IfModule mod_authz_core.c>
# Apache 2.4
Require ip 127.0.0.1
Require ip ::1
</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>
Cuando hayas añadido estas líneas, debes guardar y cerrar el archivo.
Paso 5: Habilitar la configuración de phpMyAdmin
Escribe el siguiente comando en la terminal:
sudo a2enconf phpmyadmin
Esto habilitará la configuración de phpMyAdmin en Apache.
Paso 6: Reiniciar Apache
Para aplicar los cambios en Apache, es necesario reiniciar el servidor web. Escribe el siguiente comando en la terminal:
sudo systemctl restart apache2
Paso 7: Proteger phpMyAdmin con contraseña
Por defecto, phpMyAdmin no está protegido con contraseña, lo que significa que cualquier persona que tenga acceso a la URL de phpMyAdmin podrá acceder a la base de datos. Para proteger phpMyAdmin con contraseña, sigue los siguientes pasos:
- Crea un archivo de contraseña para Apache. Escribe el siguiente comando en la terminal:
sudo htpasswd -c /etc/apache2/.htpasswd <username>
Donde <username>
es el nombre de usuario que deseas utilizar para acceder a phpMyAdmin.
-
Editar el archivo de configuración de phpMyAdmin. Escribe el siguiente comando en la terminal:
sudo nano /etc/phpmyadmin/apache.conf
Dentro de este archivo, agrega las siguientes líneas justo debajo de la línea que comienza con Alias /phpmyadmin
:
file apache.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex index.php
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAny>
Require ip 127.0.0.1
Require ip ::1
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</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
AuthType Basic
AuthName "Restricted Content"
AuthUserFile /etc/apache2/.htpasswd
Require valid-user
</IfModule>
</Directory>
Después de agregar estas líneas, debes de guardar y cerrar el archivo.
- Luego, tienes que reiniciar el Apache. Par esto, escribe el siguiente comando en la terminal:
sudo systemctl restart apache2
Paso 8: Acceder a phpMyAdmin
Ahora, puedes acceder a phpMyAdmin ingresando la URL "http://localhost/phpmyadmin" en tu navegador web. Se te pedirá que ingreses el nombre de usuario y la contraseña que creaste en el paso anterior para acceder a phpMyAdmin.
success Con estos pasos, has instalado y protegido phpMyAdmin en Ubuntu 22.04. Es importante tener en cuenta que phpMyAdmin es una herramienta poderosa y que una configuración incorrecta podría comprometer la seguridad de tu servidor y tu base de datos, por lo que se recomienda utilizarlo con precaución y siempre asegurándose de tener las últimas actualizaciones y parches de seguridad instalados.
Recuerda que si no dispones aun de un servidor Cloud con sistema operativo Linux puedes desplegarlo fácilmente con SW Hosting.
cta:cloud_so_ubuntu_22