Instalación del servidor web Nginx con MariaDB y PHP / PHP-FPM en Fedora 23


Fedora 23 se lanzó hace unos días y lo hemos estado siguiendo de cerca desde entonces. Ya hemos cubierto la instalación de Fedora 23 Workstation y Server. Si aún no ha revisado esos artículos, puede encontrarlos en los enlaces a continuación:

  1. Fedora 23 Workstation installation
  2. Installation of Fedora 23 Server and Administration with Cockpit

En este artículo, le mostraremos cómo instalar la pila LEMP. LEMP es una combinación de herramientas web diseñadas para proyectos web. LEMP incluye: Linux, Nginx (pronunciado Engine X), MariaDB y PHP.

La instalación de Fedora ya se completó, por lo que estamos listos para continuar con la siguiente parte. Si no lo ha hecho, puede consultar los enlaces anteriores para ayudarlo con el proceso de instalación. Para facilitar el seguimiento y la comprensión, separaré el artículo en tres partes. Uno para cada paquete.

Antes de comenzar, se recomienda que actualice los paquetes de su sistema. Esto se puede lograr fácilmente con comandos como:

# dnf update

1. Instale el servidor web Nginx

1. Nginx es un servidor web ligero diseñado para un alto rendimiento con un bajo consumo de recursos en los servidores. A menudo es la opción preferida en el entorno empresarial debido a su estabilidad y flexibilidad.

Nginx se puede instalar fácilmente en Fedora con un solo comando:

# dnf install nginx

2. Una vez que se ha instalado nginx, hay algunos pasos más importantes que realizar. Primero configuraremos Nginx para que se habilite automáticamente al arrancar el sistema y luego iniciaremos y confirmaremos el estado de Nginx.

# systemctl enable nginx.service
# sudo systemctl start nginx
# sudo systemctl status nginx

3. A continuación, agregaremos una regla de firewall, que nos permitirá acceder a los puertos http y https estándar:

# firewall-cmd --permanent --add-service=http
# firewall-cmd --permanent --add-service=https
# firewall-cmd --reload

4. Ahora verifiquemos si nginx se está ejecutando como se esperaba. Encuentre su dirección IP emitiendo el siguiente comando:

# ip a | grep inet

5. Ahora copie/pegue esa dirección IP en su navegador. Debería ver el siguiente resultado:

http://your-ip-address

6. A continuación, necesitamos configurar Nginx Sever Name, abrir el siguiente archivo de configuración con el editor vi.

# vi /etc/nginx/nginx.conf

Busque la directiva "server_name". Su estado actual se establecerá en:

server_name _;

Cambie el subrayado con la dirección IP de su servidor:

server_name 192.168.0.6

Nota: ¡Asegúrese de cambiar esto con la dirección IP de su propio servidor!

Es importante mencionar que el directorio raíz del servidor web Nginx es /usr/share/nginx/html . Esto significa que deberá cargar sus archivos allí.

2. Instale MariaDB

7. MariaDB es un servidor de base de datos relacional que poco a poco se está convirtiendo en la mejor opción para las nuevas versiones de diferentes distribuciones de Linux.

MariaDB es una bifurcación comunitaria del famoso servidor de bases de datos MySQL. MariaDB está destinado a permanecer libre bajo la GNU GPL, que es una de las razones por las que es la opción preferida sobre MySQL.

Para instalar MariaDB en su servidor Fedora 23, ejecute el siguiente comando:

# dnf install mariadb-server

8. Una vez que se completa la instalación, podemos configurar MariaDB para que se inicie automáticamente al arrancar el sistema e iniciar el servidor MariaDB con los siguientes comandos:

# systemctl enable mariadb
# systemctl start mariadb
# systemctl status mariadb

9. El siguiente paso es opcional, pero recomendado. Puede proteger su instalación de MariaDB y establecer una nueva contraseña para el usuario root. Para asegurar la instalación, ejecute el siguiente comando:

# mysql_secure_installation

Esto iniciará una serie de preguntas que deberá responder para asegurar su instalación. La pregunta es realmente fácil y no requiere ninguna explicación adicional. A continuación, se muestra una configuración de muestra que puede utilizar:

3. Instale PHP y sus módulos

10. El paso final de nuestra configuración es la instalación de PHP. PHP es un lenguaje de programación utilizado para desarrollar aplicaciones web dinámicas. Muchos sitios web en Internet se crean utilizando este idioma.

Instalar PHP en Fedora 23 es bastante sencillo. Comience ejecutando el siguiente comando:

# dnf install php php-fpm php-mysql php-gd

11. Para poder ejecutar archivos PHP, se requieren cambios menores en la configuración de PHP. Por defecto, el usuario destinado a usar php-fpm es Apache.

Esto debería cambiarse a nginx. Abra el archivo www.conf con su editor de texto favorito, como nano o vim:

# vim /etc/php-fpm.d/www.conf

Encuentra las siguientes líneas:

; RPM: apache Choosed to be able to access some dir as httpd 
user = apache 
; RPM: Keep a group allowed to write in log dir. 
group = apache

Cambie apache con nginx como se muestra a continuación:

; RPM: apache Choosed to be able to access some dir as httpd 
user = nginx 
; RPM: Keep a group allowed to write in log dir. 
group = nginx

12. Ahora guarde el archivo. Necesitaremos reiniciar php-fpm y Nginx para aplicar los cambios. El reinicio se puede completar con:

# systemctl restart php-fpm
# systemctl restart nginx

Y verifique su estado:

# systemctl status php-fpm
# systemctl status nginx

13. Ha llegado el momento de poner a prueba nuestra configuración. Crearemos un archivo de prueba llamado info.php en el directorio raíz web de Nginx/usr/share/nginx/html /:

# cd /usr/share/nginx/html
# vi info.php

En ese archivo inserte el siguiente código:

<?php
phpinfo()
?>

Guarde el archivo y acceda a la dirección IP de su sistema en el navegador. Debería ver la siguiente página:

http://your-ip-address/info.php

Conclusión

Felicitaciones, su configuración de pila LEMP en el servidor Fedora 23 ahora está completa. Puede comenzar a probar sus nuevos proyectos y jugar con PHP y MariaDB. Si tiene alguna pregunta o encuentra dificultades al configurar LEMP en su sistema, comparta su experiencia en la sección de comentarios a continuación.