Búsqueda de sitios web

Cómo instalar Nginx, MariaDB y PHP/FPM en Fedora 40


Probablemente debe haber instalado Fedora 40 Server Edition en su máquina y está ansioso y deseando configurar un servidor web para ejecutar sitios web y aplicaciones web. No busques más, porque todo eso lo haremos aquí, con sencillos y sencillos pasos que agradecerás al final.

En esta guía práctica, repasaremos los diferentes pasos para instalar la pila LEMP en su servidor web Fedora 40. Similar a la pila LAMP, pero bajo LEMP, utilizamos el servidor web Nginx.

Paso 1: Actualización de paquetes del sistema

Puede comenzar actualizando los paquetes de su sistema de la siguiente manera:

dnf update

Una vez hecho esto, proceda a instalar los paquetes LEMP compuestos.

Paso 2: instale el servidor web Nginx

Nginx es una alternativa al servidor web Apache, es liviano y consume menos recursos del sistema, de ahí su alto rendimiento, estabilidad y flexibilidad en entornos de producción empresarial.

Para instalar Nginx en Fedora 40, ejecute el siguiente comando:

dnf install nginx  

Una vez que se completa la instalación, debe administrar el servicio Nginx en su sistema. Primero, debe configurarlo para que se inicie automáticamente en el momento del arranque ejecutando el siguiente comando:

systemctl enable nginx.service

Luego inicie el servicio de la siguiente manera:

systemctl start nginx.service

A continuación, verifique que el servidor Nginx se esté ejecutando; puede ejecutar el siguiente comando para hacerlo:

systemctl status nginx.service

Para ver su servidor web Nginx a través del protocolo HTTP/HTTPS, debe permitir el acceso a él a través del firewall del sistema.

Para hacerlo, ejecute los siguientes comandos:

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

Luego vuelva a cargar las configuraciones del firewall del sistema para efectuar los cambios anteriores de la siguiente manera:

systemctl reload firewalld

Una cosa más importante que debe hacer durante la instalación de Nginx es verificar si la página de índice de instalación de Nginx se puede cargar en su navegador web; por lo tanto, abra su navegador web e ingrese la URL:

http://server-ip-address

Debería poder ver esta página a continuación:

Paso 3: Instale el servidor MariaDB

MariaDB es un fork del servidor de base de datos relacional MySQL más famoso, para instalar MariaDB en el servidor Fedora, emita el siguiente comando:

dnf install mariadb-server

Después de completar la instalación de MariaDB, debe habilitar, iniciar y verificar el servicio ejecutando la siguiente serie de comandos.

systemctl enable mariadb.service  
systemctl start mariadb.service 
systemctl status mariadb.service  

Ahora es el momento de proteger su instalación de MariaDB usando el siguiente comando:

mysql_secure_installation

Después de ejecutar el comando anterior, se le harán algunas preguntas de la siguiente manera:

Paso 4: Instale PHP y módulos

Para instalar PHP en Fedora junto con sus módulos, utilice el siguiente comando:

dnf install php php-common php-fpm php-mysqlnd php-gd

Ahora que se han instalado PHP y algunos módulos PHP, necesita configurar PHP para poder ejecutar archivos PHP.

Por defecto, PHP-FPM está configurado para usarse con un servidor web Apache, pero en nuestro caso, estamos usando un servidor web Nginx. servidor. Por lo tanto, debemos cambiar esa configuración en los pasos siguientes:

Usando su editor favorito, abra el archivo /etc/php-fpm.d/www.conf de la siguiente manera:

vi /etc/php-fpm.d/www.conf

Luego cambie los valores del usuario y grupo de apache a nginx en las siguientes líneas:

; 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

Luego reinicie el servidor web PHP-FPM y Nginx para efectuar los cambios anteriores:

systemctl restart php-fpm.service
systemctl restart nginx.service

Después de eso, confirme que se estén ejecutando emitiendo los siguientes comandos:

systemctl status php-fpm.service
systemctl status nginx.service

Ahora puedes probarlo todo, usando tu editor favorito, crea un archivo llamado info.php en tu directorio raíz de Nginx de la siguiente manera:

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

Agregue las siguientes líneas en el archivo, guárdelo y salga.

<?php
phpinfo()
?>

Luego abra su navegador web e ingrese la siguiente URL para verificar la información de PHP:

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

En este punto, debe haber instalado y configurado correctamente la pila LEMP en su servidor Fedora 40.

Paso 5: alojar un sitio web de muestra usando Nginx

Para alojar un sitio web de muestra utilizando Nginx, debe crear un directorio que contendrá los archivos de su sitio web con los permisos adecuados para acceder al directorio.

sudo mkdir -p /usr/share/nginx/html/mywebsite
sudo chown -R nginx:nginx /usr/share/nginx/html/mywebsite

A continuación, cree un archivo HTML simple que sirva como página de inicio de su sitio web.

sudo vi /usr/share/nginx/html/mywebsite/index.html

Agregue el siguiente contenido HTML de muestra:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Sample Website</title>
</head>
<body>
    <header>
        <h1>Welcome to My Sample Website</h1>
    </header>
    <main>
        <p>This is a simple website hosted on Nginx using Fedora 40.</p>
    </main>
    <footer>
        <p>&copy; 2024 My Sample Website</p>
    </footer>
</body>
</html>

Guarde el archivo y salga del editor.

Paso 6: configurar Nginx para servir el sitio web

Ahora necesita crear un nuevo archivo de configuración de bloque de servidor Nginx para su sitio web.

sudo vi /etc/nginx/conf.d/mywebsite.conf

Agregue la siguiente configuración (reemplace your_server_ip con la dirección IP o el nombre de dominio de su servidor real):

server {
    listen 80;
    server_name your_server_ip;  # Replace with your server's IP address or domain name

    root /usr/share/nginx/html/mywebsite;  # Document root
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Antes de recargar Nginx, es una buena práctica probar la configuración en busca de errores de sintaxis:

sudo nginx -t

Si la prueba es exitosa, puede recargar Nginx para aplicar la nueva configuración:

sudo systemctl reload nginx

Ahora que todo está configurado, puede acceder a su sitio web navegando a la siguiente URL

http://your_server_ip
OR
http://domain.com

Debería ver la página de inicio de su sitio web de muestra mostrando el mensaje "Bienvenido a mi sitio web de muestra".

Paso 7: habilite HTTPS en el sitio web para Nginx

Para configurar SSL para su sitio web de muestra alojado en Nginx con la raíz del documento /usr/share/nginx/html/mywebsite, puede utilizar Certbot para obtener un gratuito. >Certificado SSL de Let's Encrypt.

sudo dnf install certbot python3-certbot-nginx -y

A continuación, ejecute el siguiente comando para obtener e instalar el certificado SSL:

sudo certbot --nginx

Certbot configurará automáticamente sus ajustes de Nginx para usar el nuevo certificado SSL en su configuración de bloque de servidor existente.

Una vez que Certbot haya completado la instalación, puede verificar que SSL esté funcionando correctamente navegando a https://yourdomain.com.

En algunos casos, algunos de ustedes deben haber encontrado errores o desean más explicaciones sobre un tema que les preocupa, pueden dejar un comentario en la sección de comentarios a continuación y encontraremos soluciones juntos.

Artículos relacionados: