Cómo instalar phpMyAdmin con Nginx en Ubuntu 18.04 LTS
phpMyAdmin es una herramienta de gestión de bases de datos basada en la web, gratuita y de código abierto, para MySQL. Se utiliza para realizar tareas de administración como crear, editar o eliminar bases de datos, y gestionar usuarios y permisos. Con phpMyAdmin, puedes importar datos desde CSV y SQL, y exportar datos a varios formatos como, CSV, SQL, XML y PDF.
En este tutorial, aprenderemos a instalar phpMyAdmin con Nginx en un servidor Ubuntu 18.04.
Requisitos
- Un servidor con Ubuntu 18.04.
- Una dirección IP estática 192.168.0.111 para tu servidor.
- Un usuario no root con privilegios sudo.
Cómo empezar
Antes de empezar, tendrás que actualizar tu sistema con la última versión. Puedes hacerlo ejecutando el siguiente comando:
sudo apt-get update -y sudo apt-get upgrade -y
Una vez actualizado tu sistema, reinicia el sistema para aplicar los cambios.
Instalar el servidor LEMP
En primer lugar, tendrás que instalar Nginx, el servidor MariaDB, PHP y otros módulos PHP en tu sistema. Puedes instalarlos todos ejecutando el siguiente comando:
sudo apt-get install nginx php7.2 php7.2-common php7.2-mysql php7.2-mbstring php7.2-fpm php7.2-cgi php7.2-common php-pear php-gettext mariadb-server -y
Una vez instalados todos los paquetes, inicia el servicio de Nginx y MariaDB y habilítalos para que se inicien en el arranque con el siguiente comando:
sudo systemctl start nginx sudo systemctl start mariadb sudo systemctl enable nginx sudo systemctl enable mariadb
Instalar phpMyAdmin
Por defecto, phpMyAdmin está disponible en el repositorio por defecto de Ubuntu 18.04. Puedes instalarlo con sólo ejecutar el siguiente comando:
sudo apt-get install phpmyadmin -y
Durante la instalación, el instalador te pedirá que elijas el servidor web como se muestra en la siguiente página.
No selecciones ninguna opción, porque usaremos Nginx como servidor web. Por tanto, haz clic en el botón Aceptar. A continuación, se te pedirá que configures la base de datos como se muestra en la siguiente página:
Haz clic en el botón No. Deberías ver la siguiente página:
Ahora, proporciona una contraseña para que phpMyAdmin se registre en la base de datos y haz clic en el botón Aceptar. Se te pedirá que confirmes la contraseña de nuevo. Proporciona la misma contraseña y haz clic en el botón Aceptar para finalizar la instalación.
Configurar la base de datos
En primer lugar, accede al shell de MariaDB con el siguiente comando:
sudo mysql
A continuación, crea una nueva cuenta de usuario administrador y concede los permisos adecuados con el siguiente comando:
MariaDB [(none)]> CREATE USER 'phpadmin'@'localhost' IDENTIFIED BY 'mypassword'; MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'phpadmin'@'localhost' WITH GRANT OPTION;
Sustituye la palabra ‘mypassword’ por una contraseña segura de tu elección. Ahora, sal del shell de MariaDB con el siguiente comando:
MariaDB [(none)]>EXIT;
Configurar Nginx
A continuación, tendrás que crear un archivo de host virtual Nginx. Puedes hacerlo con el siguiente comando:
sudo nano /etc/nginx/sites-available/phpmyadmin.conf
Añade las siguientes líneas:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name 192.168.0.111; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.2-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
Guarda y cierra el archivo. A continuación, comprueba que Nginx no tiene ningún error de sintaxis con el siguiente comando
sudo nginx -t
Si todo va bien, deberías ver la siguiente salida:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
A continuación, activa el archivo de host virtual de phpmyadmin y elimina el archivo de host virtual por defecto con el siguiente comando:
sudo rm -rf /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/phpmyadmin.conf /etc/nginx/sites-enabled/
A continuación, reinicia el servicio Nginx para aplicar los cambios con el siguiente comando:
sudo systemctl restart nginx
A continuación, comprueba el estado de Nginx con el siguiente comando:
sudo systemctl status nginx
Deberías ver la siguiente salida:
? nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2019-01-15 11:10:29 UTC; 2min 0s ago Docs: man:nginx(8) Process: 14871 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS) Process: 14885 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Process: 14874 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) Main PID: 14886 (nginx) Tasks: 2 (limit: 1113) CGroup: /system.slice/nginx.service ??14886 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; ??14887 nginx: worker process Jul 15 11:10:29 ubuntu1804 systemd[1]: Stopped A high performance web server and a reverse proxy server. Jul 15 11:10:29 ubuntu1804 systemd[1]: Starting A high performance web server and a reverse proxy server... Jul 15 11:10:29 ubuntu1804 systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument Jul 15 11:10:29 ubuntu1804 systemd[1]: Started A high performance web server and a reverse proxy server.
Accede a phpMyAdmin
Ahora que phpMyAdmin está instalado y configurado, es el momento de acceder a la interfaz web de phpMyAdmin.
Abre tu navegador web y escribe la URL http://192.168.0.111/phpmyadmin/. Serás redirigido a la siguiente página:
Ahora, proporciona tu nombre de usuario y contraseña de administrador. A continuación, haz clic en el botón Ir. Deberías ver el panel de control predeterminado de phpMyAdmin en la siguiente página:
Enhorabuena! has instalado y configurado correctamente phpMyAdmin en tu servidor Ubuntu 18.04 LTS. Ahora puedes gestionar tu base de datos MariaDB a través de la interfaz web de phpMyAdmin. No dudes en preguntarme si tienes alguna duda.