--- title: "Installation d'un serveur NGINX" --- # Installation d'un serveur NGINX Nginx est un service qui permet de servir des fichiers via le protocole HTTP(S). C'est un équivalent au serveur Apache. Pour l'installer il suffit de lancer `sudo apt install -y nginx`. On va ensuite créer le dossier `/DATA/nginx` afin de stocker les fichiers de configuration des sites et les logs. Il faut créer un lien symbolique des fichiers de config dans `/DATA/nginx` vers `/etc/nginx/sites-enabled` pour activer le site. On fait `sudo ln -s /DATA/nginx/ /etc/nginx/sites-enabled/` puis on recharche le serveur `sudo systemctl reload nginx`. A chaque modification de la configuration il faut lancer sudo systemctl reload nginx pour prendre en compte les modification. Ci-après il y a un exemple de configuration simple pour les sites statiques avec https : ``` server { listen 80; listen [::]:80; server_name example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl http2; listen [::]:443 ssl http2; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; server_name example.com; root /DATA/root; index index.html; location / { try_files $uri $uri/ =404; } } ``` Pour obtenir le certificat ssl il faut stopper le service nginx et lancer sudo certbot certonly --standalone -d example.com ## Installer certbot pour nginx ``` sudo apt install python-certbot-nginx ``` utilisation : ``` sudo certbot run --nginx -d ```