GNU/Linux >> Tutoriales Linux >  >> Ubuntu

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

Nginx (pronunciado "motor x") es un servidor HTTP gratuito, de código abierto y de alto rendimiento. Nginx es conocido por su estabilidad, rico conjunto de funciones, configuración simple y bajo consumo de recursos. Este tutorial muestra cómo puede instalar Nginx en un servidor Ubuntu 18.04 LTS con compatibilidad con PHP 7.2 (a través de PHP-FPM) y compatibilidad con MySQL (LEMP = L inux + nginx (pronunciado "e motor x") + M ySQL + P HP).

Requisitos

  • Servidor Ubuntu 18.04 LTS
  • Privilegios de raíz

¿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 motor x es un servidor proxy y HTTP de alto rendimiento con bajo consumo de memoria. La mayoría de los sitios web a gran escala como Netflix, Pinterest, CloudFlare, GitHub utilizan Nginx.

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

Ejecute el siguiente comando.

sudo apt install nginx -y

Una vez completada la instalación, inicie el servicio Nginx y permita que se inicie cada vez que se inicia el sistema.

systemctl start nginx
systemctl enable nginx

La instalación de Nginx está completa.

Configurar el cortafuegos

Se recomienda activar el firewall en el servidor.

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

Ejecute el siguiente comando UFW.

ufw allow ssh
ufw allow http

Ahora inicie el cortafuegos UFW y habilítelo para que se inicie cada vez que se inicia el sistema.

ufw enable

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

Paso 2:instalar MySQL

MySQL es el sistema de gestión de bases de datos relacionales (RDBMS) de código abierto más popular creado por Oracle Corporation. Es un componente central de LEMP Stack e instalaremos la última versión de MySQL desde el repositorio de Ubuntu.

Instale MySQL con el siguiente comando apt.

sudo apt install mysql-server mysql-client -y

Una vez completada la instalación de MySQL, inicie el servicio MySQL y habilítelo para que se inicie cada vez que se inicie 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 para el antiguo PHP FastCGI que proporciona funciones adicionales y mejoras de velocidad. Se adapta bien a sitios pequeños o grandes basados ​​en el lenguaje de programación PHP.

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

Instale PHP-FPM usando el siguiente comando.

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 inicie el servicio PHP-FPM y habilítelo para que se inicie cada vez que se inicia el sistema después de que se complete toda la instalación.

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

PHP7.2-FPM está funcionando en Ubuntu 18.04 bajo el archivo sock, verifíquelo 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

Vaya al directorio de configuración '/etc/nginx' y edite el archivo 'nginx.conf' usando vim o nano.

cd /etc/nginx/
vim nginx.conf

Descomente las siguientes líneas.

keepalive_timeout 2;
server_tokens off;

Guarde el archivo de configuración y salga del editor.

Ahora edite el archivo de host virtual predeterminado de Nginx.

vim sites-available/default

Descomente la línea PHP que se muestra a continuación y cambie la línea del archivo sock.

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

Guardar y salir.

Pruebe la configuración de Nginx y asegúrese de que no haya ningún error, luego reinicie el servicio.

nginx -t
systemctl reload nginx

Configurar PHP-FPM

Vaya al directorio '/etc/php/7.2' y edite el archivo 'php.ini'.

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

Descomente la línea 'cgi.fix_patinfo' y cambie el valor a '0'.

cgi.fix_pathinfo=0

Guardar y salir.

Vuelva a cargar 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 administrar bases de datos MySQL o MariaDB desde un navegador web.

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

Instale PHPMyAdmin usando el comando apt a continuación.

sudo apt install phpmyadmin -y

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

Elija ninguna opción y mueva el cursor a 'OK'.

Para la configuración de la base de datos phpmyadmin, elija 'Sí'.

Y escriba el nuevo administrador de phpmyadmin 'FUERTE' como '[email protected]#'.

Repita la contraseña '[email protected]#'.

Y la instalación de phpmyadmin está completa.

Paso 6:configurar PhpMyAdmin

Después de la instalación de phpmyadmin, debemos configurar phpmyadmin para que se ejecute en el servidor web Nginx y configurar el acceso de phpmyadmin del usuario de MySQL.

Configurar PhpMyAdmin con Nginx

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

Vaya al directorio de configuración '/etc/nginx' y edite el archivo de host virtual predeterminado.

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

Pegue la siguiente configuración de Nginx para phpmyadmin dentro del paréntesis 'servidor {...}'.

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;
    }
}

Guardar y salir.

Pruebe la configuración de nginx y reinicie el servicio de nginx.

nginx -t
systemctl reload nginx

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

Configurar 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.

Inicie sesión en el shell de MySQL.

mysql -u root -p

Ahora cree un nuevo usuario utilizando las consultas de MySQL a continuación.

create user [email protected]'localhost' identified by '[email protected]#';
grant all privileges on *.* to [email protected]'localhost' identified by '[email protected]#';
flush privileges;
exit;

Y hemos creado un nuevo usuario para el acceso phpmyadmin.

Paso 7 - Prueba

Probar archivos PHP

Vaya al directorio raíz web '/var/www/html' y cree un nuevo archivo phpinfo.

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

Pegue el script phpinfo a continuación.

<?php
phpinfo();
?>

Guardar y salir.

Ahora abra el navegador web y escriba la dirección IP del servidor como se muestra a continuación. Reemplace la IP con la IP de su servidor.

http://192.168.33.10/info.php

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

Inicio de sesión de prueba PhpMyAdmin

En el navegador web, escriba la siguiente URL de phpmyadmin (reemplace la IP con la IP de su servidor).

http://192.168.33.10/phpmyadmin/

En la página de inicio de sesión de phpmyadmin, escriba el usuario 'hakase' con la contraseña '[email protected]#' y haga clic en el botón 'Ir'.

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

LEMP Stack y PhpMyAdmin se instalaron correctamente en Ubuntu 18.04 LTS.


Ubuntu
  1. Cómo instalar Phorum con Nginx en Ubuntu 18.04 LTS

  2. Cómo instalar Nginx con PHP5 y MySQL en Ubuntu 11.10

  3. Cómo instalar Lighttpd con PHP5 y MySQL en Ubuntu 11.04

  4. Cómo instalar y configurar PHP y Nginx (LEMP) en Ubuntu 20.04

  5. Cómo instalar LEMP Stack Nginx, MySQL, PHP en Ubuntu 22.04

Instale Nginx, MySQL, PHP (LEMP Stack) en Ubuntu 20.04 LTS

Cómo instalar la pila LEMP en Ubuntu 20.04

Cómo instalar Nginx, MySQL y PHP (LEMP) en Ubuntu 20.04

Cómo instalar LEMP WordPress Ubuntu y Debian con Virtualhost

Cómo instalar LEMP Stack con PhpMyAdmin en Ubuntu 20.04

Cómo instalar Nginx, MySQL y PHP (LEMP) en un servidor Ubuntu 15.04