A través de este tutorial, instalará una pila LEMP en un servidor de CentOS 8. Aunque MySQL está disponible en los repositorios predeterminados en CentOS 8, en esta guía se mostrará el proceso de configuración de una pila LEMP con MariaDB como sistema de administración de bases de datos.
Para ver una versión más detallada de este tutorial, con más explicaciones de cada paso, consulte Cómo instalar la pila Linux, Nginx, MySQL, PHP (LEMP) en CentOS 8.
Para completar esta guía, necesitará acceso a un servidor de CentOS 8 como usuario sudo
.
Instale el paquete nginx
con:
- sudo dnf install nginx
Cuando finalice la instalación, ejecute el siguiente comando para habilitar e iniciar el servidor:
- sudo systemctl start nginx
Si firewalld
está activo, deberá ejecutar el siguiente comando para permitir el acceso externo en el puerto 80
(HTTP):
- sudo firewall-cmd --permanent --add-service=http
Vuelva a cargar la configuración del firewall para que los cambios surtan efecto:
- sudo firewall-cmd --reload
Una vez añadida la nueva regla de firewall, puede verificar si su servidor está activo accediendo a la dirección IP pública o al nombre del dominio de este desde su navegador web. Verá una página como la siguiente:
Ahora instalaremos MariaDB, una ramificación del servidor MySQL original de Oracle desarrollada por la comunidad. Para instalar este software, ejecute lo siguiente:
- sudo dnf install mariadb-server
Cuando termine la instalación, habilite e inicie el servidor MariaDB con lo siguiente:
- sudo systemctl start mariadb
Par mejorar la seguridad del servidor de su base de datos, se recomienda que ejecute una secuencia de comandos de seguridad que se incluye con MariaDB. Inicie la secuencia de comandos interactiva con lo siguiente:
- sudo mysql_secure_installation
En la primera solicitud se pedirá que introduzca la contraseña root de la base de datos actual. Debido a que acaba de instalar MariaDB y aún no realizó aún cambios en la configuración, el espacio de esta contraseña estará en blanco. Por ello, pulse ENTER
en la solicitud.
En la siguiente solicitud se pregunta si desea configurar una contraseña root de base de datos. Debido a que MariaDB usa un método de autenticación especial para el root user que normalmente proporciona más seguridad que una contraseña, no es necesario que lo configure ahora. Escriba N
y pulse ENTER
.
Desde allí, puede pulsar Y
y luego ENTER
para aceptar los valores predeterminados para todas las preguntas siguientes.
Para instalar los paquetes php-fpm
y php-mysql
, ejecute lo siguiente:
- sudo dnf install php-fpm php-mysqlnd
Cuando finalice la instalación, deberá editar el archivo /etc/php-fpm.d/www.conf
para regular algunos ajustes. Instalaremos nano
para facilitar la edición de estos archivos:
- sudo dnf install nano
Ahora, abra el archivo de configuración /etc/php-fpm.d/www.conf
usando nano
o el editor que prefiera:
- sudo nano /etc/php-fpm.d/www.conf
Busque las directivas user
y group
. Si usa nano
, puede pulsar CTRL
+W
para buscar estos términos dentro del archivo abierto. Asegúrese de cambiar ambos valores de apache
a nginx
:
…
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
…
Guarde y cierre el archivo cuando finalice la edición.
Para habilitar e iniciar el servicio php-fpm
, ejecute lo siguiente:
- sudo systemctl start php-fpm
Finalmente, reinicie el servidor web Nginx de modo que cargue los archivos de configuración creados por la instalación de php-fmp
:
- sudo systemctl restart nginx
En CentOS 8, la instalación predeterminada de php-fpm
crea automáticamente archivos de configuración que ahora permitirán que su servidor web Nginx gestione los archivos .php
en la raíz de documento predeterminada ubicada en /usr/share/nginx/html
. No necesitará realizar cambios en la configuración de Nginx para que PHP funcione correctamente en su servidor web.
Solo tendremos que modificar el propietario y grupo predeterminados en la raíz del documento de Nginx, para que pueda crear y modificar archivos en esa ubicación empleando su usuario de sistema no root regular.
- sudo chown -R sammy.sammy /usr/share/nginx/html/
Cree un nuevo archivo PHP llamado info.php
en el directorio /usr/share/nginx/html
:
- nano /usr/share/nginx/html/info.php
El siguiente código PHP mostrará información sobre el entorno PHP actual que se ejecuta en el servidor:
<?php
phpinfo();
Copie este contenido a su archivo info.php
y no olvide guardarlo cuando termine.
Ahora, podemos probar si nuestro servidor web puede mostrar correctamente el contenido generado por una secuencia de comandos PHP. Vaya a su navegador y acceda al nombre de host o la dirección IP de su servidor; agregue /info.php
al final:
http://server_host_or_IP/info.php
Verá una página similar a la siguiente:
A continuación, se ofrecen los enlaces a más guías detalladas relacionadas con este tutorial:
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!