| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| serveurs:installation:web-srv:nginx [2022/05/25 08:12] – [Création d'un certificat SSL avec Certbot] jpmilcent | serveurs:installation:web-srv:nginx [2023/08/03 13:47] (Version actuelle) – [Ajouter le support de GeoIp] jpmilcent |
|---|
| |
| ===== Installation ===== | ===== Installation ===== |
| * Installer //Nginx// et //Certbot// : ''sudo aptitude install supervisor nginx python3-certbot-nginx python3-certbot-dns-ovh '' | * Installer //Nginx// et //Certbot// : ''sudo apt install nginx python3-certbot-nginx python3-certbot-dns-ovh '' |
| * Activer le redémarrage automatique du service : ''systemctl enable nginx.service'' | * Activer le redémarrage automatique du service : ''systemctl enable nginx.service'' |
| * Activer le démarrage automatique du service Systemd lançant deux fois par jour ''certbot renew'' : ''systemctl enable certbot.timer'' | * Activer le démarrage automatique du service Systemd lançant deux fois par jour ''certbot renew'' avec : ''systemctl enable certbot.timer'' |
| * Vérifier le status et démarrer le service si nécessaire : ''systemctl status certbot.timer'' | * Vérifier le status et démarrer le service si nécessaire : ''systemctl status certbot.timer'' |
| |
| ===== Modification du format des logs ===== | ===== Modification du format des logs ===== |
| Modifier les logs d'accès (ajout d'infos) pour Telegraf et GoAccess : | Modifier les logs d'accès (ajout d'infos) pour Telegraf et GoAccess : |
| * Éditer la conf de Nginx ''vi /etc/nginx/nginx.conf'' et remplacer la section Log contenant :<code nginx> | * Éditer la conf de Nginx ''vi /etc/nginx/nginx.conf'' et remplacer dans la section ''http {...}'' contenant :<code nginx> |
| access_log /var/log/nginx/access.log; | access_log /var/log/nginx/access.log; |
| error_log /var/log/nginx/error.log; | |
| </code> | </code> |
| * Par le contenu suivant : <code nginx> | * Par le contenu suivant : <code nginx> |
| |
| access_log /var/log/nginx/access.log enhanced-fmt; | access_log /var/log/nginx/access.log enhanced-fmt; |
| error_log /var/log/nginx/error.log; | |
| </code> | </code> |
| **ATTENTION** : vérifier la présence du nom de domaine de l'hôte virtuel (''$host'') dans les logs d’accès. | **ATTENTION** : vérifier la présence du nom de domaine de l'hôte virtuel (''$host'') dans les logs d’accès. |
| ===== Ajouter le support de GeoIp ===== | ===== Ajouter le support de GeoIp ===== |
| * Vérifier le support de GeoIp par Ngninx : ''nginx -V 2>&1 | grep -o with-http_geoip_module'' | * Vérifier le support de GeoIp par Ngninx : ''nginx -V 2>&1 | grep -o with-http_geoip_module'' |
| * GeoIP n'est plus maintenu => geoip2 dont le module et le support dans Nginx nécessite [[https://github.com/leev/ngx_http_geoip2_module#user-content-download-maxmind-geolite2-database-optional|la compilation du module]] | * GeoIP n'est plus maintenu => geoip2 dont le module et le support dans Nginx nécessite [[https://github.com/leev/ngx_http_geoip2_module#user-content-download-maxmind-geolite2-database-optional|la compilation du module]] mais depuis Debian 11 un module ''GeoIP2'' existe dans [[https://packages.debian.org/bullseye/nginx-full| le paquet pour la version Debian 11 Bullseye]]. |
| * À voir plus tard... | * Debian 11+ : installer le module avec : ''apt install libnginx-mod-http-geoip2'' |
| * Apparemment, un module ''GeoIP2'' existe dans [[https://packages.debian.org/bullseye/nginx-full| le paquet pour la version Debian 11 Bullseye]]. A voir lors de la mise à jour vers Debian 11. | |
| |
| ===== Ajouter le support des fichiers d'authentification HTTP ===== | ===== Ajouter le support des fichiers d'authentification HTTP ===== |
| * Installer le paquet suivant : ''aptitude install apache2-utils'' | * Installer le paquet suivant : ''apt install apache2-utils'' |
| * Pour créer une fichier //.htpasswd// : ''htpasswd -c /etc/nginx/.htpasswd <user-name-1>'' | * Pour créer une fichier //.htpasswd// : ''htpasswd -c /etc/nginx/.htpasswd <user-name-1>'' |
| * Ensuite, pour ajouter des utilisateurs (sans l'option ''-c'') : ''htpasswd /etc/nginx/.htpasswd <user-name-2>'' | * Ensuite, pour ajouter des utilisateurs (sans l'option ''-c'') : ''htpasswd /etc/nginx/.htpasswd <user-name-2>'' |