Como instalar Nginx, MySQL y PHP (Lemp) a Ubuntu 4.20

¿Cómo va eso? me llamo Kiko. Os traigo un nuevo post sobre el sistema operativo mas molón. Un placer linuxeros.

Una combinación de Linux, Nginx, MySQL y PHP se conoce como Lemp stack es el popular entorno de alojamiento web para la aplicación basada en PHP. Aquí Linux es un sistema operativo, Nginx es el popular servidor web, MySQL es un sistema de gestión de bases de datos relacional que se utiliza para almacenar datos y PHP es el lenguaje de programación ampliamente utilizado.

Este artículo le ayudará a instalar Nginx, MySQL 8.0 y PHP 7.4 al sistema Ubuntu Linux. Empezamos por la instalación de la pila empate de su máquina Ubuntu.

requisitos previos

Antes de comenzar la instalación de empate en Ubuntu:

  • Un sistema Ubuntu 4.20 en ejecución
  • Accede como cuenta sudo proviledged en su sistema. Para crearlo, siga el tutorial inicial de configuración del servidor.
  • Un nombre de dominio / subdominio apuntaba en su servidor

Instalación del servidor web Nginx

A continuación, debe instalar el servidor web Nginx en su sistema. Los paquetes Nginx están disponibles en los repositorios apt predeterminado.

Ejecute los siguientes comandos para instalarlo:

sudo apt update
sudo apt install nginx

Instalación de PHP con PHP-FPM

Los paquetes PHP 7.4 están disponibles en los repositorios predeterminados de Ubuntu 20.04 LTS. Utilice el siguiente comando para actualizar la memoria caché de apt e instalar PHP en su sistema.

sudo apt update
sudo apt install -y php7.4 php7.4-fpm

Instala también módulos PHP adicionales necesarios para su aplicación.

sudo apt install php7.4-curl php7.4-gd php7.4-json php7.4-mbstring php7.4-xml

Ha instalado PHP 7.4 con el paquete PHP FPM en su sistema. Comprobamos el estado del servicio PHP FPM ejecutando el siguiente orden:

sudo systemctl status php7.4-fpm

● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2020-06-16 05:15:57 UTC; 34s ago
       Docs: man:php-fpm7.4(8)
    Process: 882716 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74>
   Main PID: 882699 (php-fpm7.4)
     Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2283)
     Memory: 10.3M
     CGroup: /system.slice/php7.4-fpm.service
             ├─882699 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
             ├─882714 php-fpm: pool www
             └─882715 php-fpm: pool www

Jun 16 05:15:57 linux systemd[1]: Starting The PHP 7.4 FastCGI Process Manager...
Jun 16 05:15:57 linux systemd[1]: Started The PHP 7.4 FastCGI Process Manager.

Instalación de MySQL

Los repositorios apt predeterminado de Ubuntu 4.20 contienen el servidor MySQL 8.0. Finalmente, instale paquetes mysql-server para la base de datos MySQL. Además, instala el paquete php-mysql para utilizar el soporte MySQL mediante PHP. Utilice el siguiente comando para instalarlo.

sudo apt install mysql-server php7.4-mysql

El instalador le pedirá la contraseña de root. Esta contraseña funcionará para su usuario root de MySQL. Después de instalar MySQL, ejecute el siguiente para la configuración inicial del servidor MySQL. Verá que el script pedirá más parámetros que las versiones anteriores de MySQL, como la política de validación de contraseñas, etc.

sudo mysql_secure_installation
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD COMPONENT can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD component? 

Press y|Y for Yes, any other key for No: y

There are three levels of password validation policy:

LOW    Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary  file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 2
Please set the password for root here.

New password:

Re-enter new password:

Estimated strength of the password: 100
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
Success.


Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Success.

By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.


Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
 - Dropping test database...
Success.

 - Removing privileges on test database...
Success.

Reloading the privilege tables will ensure that all changes
made so far will take effect immediately.

Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Success.

All done!

Configure Nginx con PHP-FPM

Creemos un host virtual Nginx para ejecutarlo con FPM / FastCGI. Para este tutorial, usamos VirtualHost predeterminado. Edite el archivo de configuración del anfitrión VirtualHost en el editor de texto. Puede crear VirtualHost nuevo según sus requisitos, así que asegúrese de habilitar cualquier VirtualHost nuevo.

sudo vim /etc/nginx/sites-available/example.com

Utilice la configuración básica del anfitrión virtual Nginx siguiente con la configuración de php fpm. Actualice la configuración de la siguiente manera.

Guarde los cambios en el archivo de configuración y cree un enlace en el directorio habilitado por el lugar.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com 

A continuación, reinicie el servicio Nginx para volver a cargar los cambios.

sudo systemctl restart nginx

Paso 5: gestionar los servicios

Lo hemos hecho con la instalación de la pila LAMP al sistema Ubuntu 4.20 LTS. Las órdenes siguientes le ayudarán a iniciar / detener o reiniciar los servicios Nginx y MySQL que se ejecutan con systemd.

Para reiniciar los servicios Nginx y MySQL, escriba:

sudo systemctl restart nginx
sudo systemctl restart mysql

Para iniciar los servicios Nginx y MySQL, escriba:

sudo systemctl start nginx
sudo systemctl start mysql

Para detener los servicios de Nginx y MySQL, escriba:

sudo systemctl stop nginx
sudo systemctl stop mysql

Paso 6: ajustar las reglas del cortafuegos

Puede proporcionar directamente un nombre de servicio como «http» o «https» para permitirlo. El cortafuegos utiliza el fichero / etc / services para determinar el puerto correspondiente del servicio.

sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
After adding the rules reload the rules using command:
sudo firewall-cmd --reload

Paso 7: revise la configuración

Después de completar toda la configuración. Creamos un fichero info.php archivo raíz del documento del sitio web con el siguiente.

sudo echo "<?php phpinfo(); ?>" > /var/www/html/info.php

Ahora accede a este archivo en el navegador web. Verá la pantalla como bajo con todos los detalles de PHP en el servidor.

como configurar Lemp stack a Ubuntu 4.20

Enhorabuena! Ha configurado correctamente el servidor Lempa en su sistema LTS Ubuntu 20.04.

Este Blog lo escribimos para ayudar y servir de referencia a la gente Linux. Esperamos que os guste.

Leave a Reply