📌 Nginx
1. Actualiza los paquetes del sistema
2. Instala Nginx
3. Crear els directoris necessaris per gestionar llocs web: sites-available i sites-enabled.
mkdir -p /etc/nginx/sites-available
mkdir -p /etc/nginx/sites-enabled
4. Generar un certificat autofirmat amb RSA (2048 bits).
cd /etc/nginx/sites-available
openssl req -x509 -nodes -days 10 -newkey rsa:2048 -keyout private.key -out public.crt
5. Crear l'arxiu de configuració de Nginx per Laravel a sites-available
.
nano /etc/nginx/sites-available/laravel.conf
5.1. Contingut del fitxer de configuració de Nginx.
# Redirección de HTTP a HTTPS
server {
listen 80;
server_name localhost;
# Redirigir todas las peticiones HTTP a HTTPS
return 301 https://$host$request_uri;
}
# Configuración para HTTPS
server {
listen 443 ssl;
server_name localhost;
# Ubicacion de los certificados SSL
ssl_certificate /etc/nginx/sites-available/public.crt;
ssl_certificate_key /etc/nginx/sites-available/private.key;
# Configuracion de seguridad SSL
ssl_protocols TLSv1.2 TLSv1.3;
#Definim el directori del projecte Laravel
root /var/www/html/streaming-laravel/public;
index index.php index.html index.htm;
# Habilitar la gestió d'errors
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
location /admin {
allow all;
if ($host = "edt.laravel-streaming") {
return 403;
}
}
# Configurar el maneig de les sol·licituds PHP
location / {
if ($host = "edt.streaming-laravel.admin") {
return 301 /admin;
}
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
# Prevenir l'accés a fitxers sensibles
location ~ /\.ht {
deny all;
}
# Control de errores
error_page 404 /404.html;
location = /404.html {
root /var/www/html/streaming-laravel/public;
internal;
}
error_page 403 /403.html;
location = /403.html {
root /var/www/html/streaming-laravel/public;
internal;
}
error_page 401 /401.html;
location = /401.html {
root /var/www/html/streaming-laravel/public;
internal;
}
error_page 500 502 503 /500.html;
location = /500.html {
root /var/www/html/streaming-laravel/public;
internal;
}
error_page 501 /501.html;
location = /501.html {
root /var/www/html/streaming-laravel/public;
internal;
}
}
6. Reiniciar Nginx per aplicar els canvis
7. Crear un enllaç simbòlic a sites-enabled per activar la configuració.
ln -s /etc/nginx/sites-available/laravel.conf /etc/nginx/sites-enabled/
8. Modificar l'arxiu de configuració principal de Nginx per incloure els arxius de sites-enabled.
nano /etc/nginx/nginx.conf
(Assegura't d’afegir aquesta línia dins del bloc http si no hi és:)
include /etc/nginx/sites-enabled/*;