Servidor web · 6 min read · Oct 12, 2025

Cómo instalar Nginx con PHP y MySQL (LEMP Stack) en Ubuntu 18.04

Nginx (pronunciado “engine x”) es un servidor HTTP de alto rendimiento, gratuito y de código abierto. Nginx es conocido por su estabilidad, rica funcionalidad, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puedes instalar Nginx en un servidor Ubuntu 18.04 LTS con soporte para PHP 7.2 (a través de PHP-FPM) y soporte para MySQL (LEMP = L inux + nginx (pronunciado “ e ngine x”) + M ySQL + P HP).

Prerrequisitos

  • Servidor Ubuntu 18.04 LTS
  • Privilegios de root

¿Qué haremos?

  1. Instalar Nginx
  2. Instalar MySQL
  3. Instalar PHP-FPM
  4. Configurar Nginx y PHP-FPM
  5. Instalar PhpMyAdmin
  6. Configurar PhpMyAdmin
  7. Pruebas

Paso 1 - Instalar Nginx

Nginx o engine x es un servidor HTTP y proxy de alto rendimiento con bajo consumo de memoria. La mayoría de los sitios web a gran escala como Netflix, Pinterest, CloudFlare, GitHub están utilizando Nginx.

En este paso, instalaremos el servidor web Nginx desde el repositorio de Ubuntu.

Ejecuta el siguiente comando.

sudo apt install nginx -y

Después de que la instalación esté completa, inicia el servicio Nginx y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start nginx  
systemctl enable nginx

La instalación de Nginx está completa.

Configurar el Firewall

Se recomienda activar el firewall en el servidor.

Agrega el puerto del servicio SSH y HTTP a la configuración del firewall.

Ejecuta el comando UFW a continuación.

ufw allow ssh  
ufw allow http

Ahora inicia el firewall UFW y habilítalo para que se inicie cada vez que arranque el sistema.

ufw enable

El servidor web Nginx está en funcionamiento bajo el firewall UFW.

Configuración del Firewall UFW

Paso 2 - Instalar MySQL

MySQL es el sistema de gestión de bases de datos relacional (RDBMS) de código abierto más popular creado por Oracle Corporation. Es un componente central del LEMP Stack, y vamos a instalar la última versión de MySQL desde el repositorio de Ubuntu.

Instala MySQL usando el comando apt a continuación.

sudo apt install mysql-server mysql-client -y

Después de que la instalación de MySQL esté completa, inicia el servicio MySQL y habilítalo para que se inicie cada vez que arranque el sistema.

systemctl start mysql  
systemctl enable mysql

Y hemos instalado MySQL 5.7 en el servidor Ubuntu 18.04.

Paso 3 - Instalar PHP-FPM

PHP-FPM o FastCGI Process Manager es una alternativa al antiguo PHP FastCGI que proporciona características adicionales y mejoras de velocidad. Se adapta bien a sitios pequeños a grandes basados en el lenguaje de programación PHP.

En este paso, instalaremos PHP7.2-FPM con algunas extensiones adicionales requeridas por phpmyadmin.

Instala PHP-FPM usando el comando a continuación.

sudo apt install php7.2 php7.2-fpm php7.2-cli php7.2-curl php7.2-mysql php7.2-curl php7.2-gd php7.2-mbstring php-pear -y

Ahora inicia el servicio PHP-FPM y habilítalo para que se inicie cada vez que arranque el sistema después de que toda la instalación esté completa.

systemctl start php7.2-fpm  
systemctl enable php7.2-fpm

PHP7.2-FPM está en funcionamiento en Ubuntu 18.04 bajo el archivo sock, verifícalo usando el comando netstat.

netstat -pl | grep php

Paso 4 - Configurar Nginx y PHP-FPM

En este paso, configuraremos el servidor web Nginx y PHP-FPM.

Configurar Nginx

Ve al directorio de configuración ‘/etc/nginx’ y edita el archivo ‘nginx.conf’ usando vim o nano.

cd /etc/nginx/  
vim nginx.conf

Descomenta las siguientes líneas.

keepalive_timeout 2;
server_tokens off;

Guarda el archivo de configuración y sal del editor.

Ahora edita el archivo de host virtual predeterminado de Nginx.

vim sites-available/default

Descomenta la línea de PHP que se muestra a continuación y cambia la línea del archivo sock.

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
        #
        # # Con php-fpm (o otros sockets unix):
                fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
        # # Con php-cgi (o otros sockets tcp):
        # fastcgi_pass 127.2.0.1:9000;
        }

Guarda y sal.

Prueba la configuración de Nginx y asegúrate de que no haya errores, luego reinicia el servicio.

ginx -t  
systemctl reload nginx

Reiniciar Nginx y probar la configuración

Configurar PHP-FPM

Ve al directorio ‘/etc/php/7.2’ y edita el archivo ‘php.ini’.

cd /etc/php/7.2/  
vim fpm/php.ini

Descomenta la línea ‘cgi.fix_pathinfo’ y cambia el valor a ‘0’.

cgi.fix_pathinfo=0

Guarda y sal.

Recarga el servicio PHP-FPM.

systemctl reload php7.2-fpm

Y hemos completado la configuración del servidor web Nginx y PHP-FPM.

Paso 5 - Instalar PhpMyAdmin

PhpMyAdmin es una aplicación basada en PHP para gestionar bases de datos MySQL o MariaDB desde un navegador web.

En este paso, instalaremos y configuraremos phpmyadmin bajo el stack LEMP (Linux, Nginx, MySQL y PHP-FPM).

Instala PHPMyAdmin usando el comando apt a continuación.

sudo apt install phpmyadmin -y

Durante la instalación, te preguntará sobre la configuración del servidor web para phpmyadmin.

Elige la opción ninguna y mueve el cursor a ‘OK’.

Para la configuración de la base de datos de phpmyadmin, elige ‘Sí’.

No seleccionar para configurar un servidor web

Y escribe una nueva contraseña ‘FUERTE’ para el administrador de phpmyadmin como ‘Hakaselabs001@#’.

Repite la contraseña ‘Hakaselabs001@#’.

repetir la contraseña

Y la instalación de phpmyadmin está completa.

Paso 6 - Configurar PhpMyAdmin

Después de la instalación de phpmyadmin, necesitamos configurarlo para que funcione bajo el servidor web Nginx y configurar el acceso del usuario de MySQL a phpmyadmin.

Configurar PhpMyAdmin con Nginx

Para ejecutar phpmyadmin bajo el servidor web Nginx, necesitamos agregar la configuración al archivo de configuración del host virtual.

Ve al directorio de configuración ‘/etc/nginx’ y edita el archivo de host virtual predeterminado.

cd /etc/nginx/  
vim sites-available/default

Pega la siguiente configuración de Nginx para phpmyadmin dentro del corchete ‘server {…}’.

location /phpmyadmin {
    root /usr/share/;
    index index.php;
    try_files $uri $uri/ =404;

location ~ ^/phpmyadmin/(doc|sql|setup)/ {
    deny all;
    }

location ~ /phpmyadmin/(.+\.php)$ {
    fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
    }
}

Guarda y sal.

Prueba la configuración de nginx y reinicia el servicio nginx.

ginx -t  
systemctl reload nginx

Y hemos agregado la configuración de Nginx para phpmyadmin.

Configurar el Usuario de MySQL para PhpMyAdmin

En este tutorial, utilizaremos un usuario de MySQL no root para phpmyadmin. Crearemos un nuevo usuario y otorgaremos todos los privilegios de la base de datos dentro del servidor al usuario.

Inicia sesión en el shell de MySQL.

mysql -u root -p

Ahora crea un nuevo usuario usando las consultas de MySQL a continuación.

create user hakase@'localhost' identified by 'Hakaselabs001@#';  
grant all privileges on *.* to hakase@'localhost' identified by 'Hakaselabs001@#';  
flush privileges;  
exit;

Y hemos creado un nuevo usuario para el acceso a phpmyadmin.

Configurar un usuario de MySQL

Paso 7 - Pruebas

Probar Archivos PHP

Ve al directorio raíz web ‘/var/www/html’ y crea un nuevo archivo phpinfo.

cd /var/www/html/  
vim info.php

Pega el script phpinfo a continuación.

Guarda y sal.

Ahora abre el navegador web y escribe la dirección IP del servidor como se muestra a continuación. Reemplaza la IP con la IP de tu servidor.

http://192.168.33.10/info.php

Y a continuación está toda la información sobre la configuración del servidor PHP.

Resultado de PHP Info

Probar Inicio de Sesión en PhpMyAdmin

En el navegador web, escribe la siguiente URL de phpmyadmin (reemplaza la IP con la IP de tu servidor).

http://192.168.33.10/phpmyadmin/

En la página de inicio de sesión de phpmyadmin, escribe el usuario ‘hakase’ con la contraseña ‘Hakaselabs001@#’ y haz clic en el botón ‘Ir’.

Inicio de sesión en PHPMyAdmin

Ahora veremos el panel de control de phpmyadmin como se muestra a continuación.

Panel de control de PHPMyAdmin

El LEMP Stack y PhpMyAdmin se han instalado con éxito en Ubuntu 18.04 LTS.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.