HanXHX.nginx

Nginx pour le rôle Ansible sur Debian/FreeBSD

Ansible Galaxy État du workflow GitHub (branche principale)

Installez et configurez Nginx sur Debian/FreeBSD.

Fonctionnalités :

  • Support SSL/TLS "renforcé"
  • Gérer l’authentification de base sur le site / emplacement
  • Proxy + Upstream
  • Configuration rapide de PHP
  • Modèles de site préconfigurés (doit fonctionner avec de nombreuses applications)
  • Configuration automatique de HTTP2 sur les sites SSL/TLS
  • Gestion des modules dynamiques (installation et chargement)
  • Déployer des faits personnalisés avec la configuration des sites
  • Peut écouter avec le protocole de proxy
  • Générer des certificats avec acme.sh (let's encrypt) -- EXPÉRIMENTAL

Systèmes d'exploitation pris en charge :

OS Fonctionnel Stable (support actif)
Debian Jessie (8) Oui Vérifiez la dernière version prise en charge (1.5.0)
Debian Stretch (9) Oui Vérifiez la dernière version prise en charge (1.9.0)
Debian Buster (10) Oui Oui
Debian Bullseye (11) Oui Oui
Debian Bookworm (12) Oui Pas encore :)
FreeBSD 11 NA Non
FreeBSD 12 NA Non
Ubuntu 20.04 Oui Oui
Ubuntu 22.04 Oui Oui

Exigences

  • Ansible >=2.11
  • Si vous mettez nginx_backports à vrai, vous devez installer le dépôt backports avant de lancer ce rôle.

Variables du rôle

Packaging

Debian :

  • nginx_apt_package: paquet APT nginx (essayez : apt-cache search ^nginx)
  • nginx_backports: installer nginx depuis le dépôt backport (booléen)

FreeBSD :

  • nginx_pkgng_package: paquet PKGNG nginx (doit être "nginx" ou "nginx-devel")

Partagé

  • nginx_root: répertoire racine où vous voulez avoir vos fichiers
  • nginx_log_dir: répertoire des logs (si vous le changez, n'oubliez pas de modifier la configuration de logrotate)
  • nginx_resolver: liste des résolveurs DNS (par défaut : OpenDNS)
  • nginx_error_log_level: niveau de log par défaut
  • nginx_auto_config_httpv2: booléen, configurer automatiquement HTTP2 là où c'est possible
  • nginx_fastcgi_fix_realpath: booléen, utiliser realpath pour fastcgi (corrige les problèmes avec les liens symboliques et PHP opcache)
  • nginx_default_hsts: chaîne, en-tête par défaut envoyé pour HSTS

Configuration de Nginx

  • nginx_user
  • nginx_worker_processes
  • nginx_pid: fichier pid du démon
  • nginx_events_*: toutes les variables dans le bloc events
  • nginx_http_*: toutes les variables dans le bloc http
  • nginx_custom_core: liste d'instructions (pour le core, mettra les données dans /etc/nginx/nginx.conf)
  • nginx_custom_http: liste d'instructions (mettra les données dans /etc/nginx/conf.d/custom.conf)
  • nginx_module_packages: liste des modules à installer (Debian)
  • nginx_load_modules: liste des modules à charger (chemin complet), doit être utilisé uniquement sur FreeBSD

Divers

  • nginx_debug_role: définissez true si vous avez besoin de voir la sortie des tâches sans log

À propos des modules

Les dernières mises à jour des backports Debian chargent les modules à partir du répertoire /etc/nginx/modules-enabled. La désactivation/activation n'est plus supportée. Veuillez attendre une mise à jour future.

Configuration fine

Configuration du site

Configuration PHP

Configuration Upstream

Configuration SSL/TLS

Authentification de base

FreeBSD

acme.sh

Remarque

  • Support actif pour Debian/Ubuntu.
  • Le support de FreeBSD est expérimental. Je teste (pour le moment) 10.2 (mais cela peut fonctionner sur d'autres versions).

Dépendances

Voir : requirements.yml.

Si vous devez développer ce rôle localement sur Vagrant

Avant d'utiliser Vagrant, exécutez une fois :

ansible-galaxy install -p ./tests/ HanXHX.php,master

Si vous devez développer ce rôle localement avec molecule

Vérifiez les scénarios disponibles dans le répertoire molecule.

Avec le scénario debian-12 :

molecule -v -c molecule/_shared/base.yml verify -s debian-12

Exemple de Playbook

Voir tests/test.yml.

Licence

GPLv2

Don

Si ce code vous a aidé, ou si vous l’avez utilisé pour vos projets, n’hésitez pas à m’offrir quelques :bières:

  • Bitcoin : 1BQwhBeszzWbUTyK4aUyq3SRg7rBSHcEQn
  • Ethereum : 63abe6b2648fd892816d87a31e3d9d4365a737b5
  • Litecoin : LeNDw34zQLX84VvhCGADNvHMEgb5QyFXyD
  • Monero : 45wbf7VdQAZS5EWUrPhen7Wo4hy7Pa7c7ZBdaWQSRowtd3CZ5vpVw5nTPphTuqVQrnYZC72FXDYyfP31uJmfSQ6qRXFy3bQ

Pas de crypto-monnaie ? :star: le projet est également une manière de dire merci ! :sunglasses:

Informations sur l'auteur

Installer
ansible-galaxy install HanXHX.nginx
Licence
gpl-2.0
Téléchargements
6.1k
Propriétaire
CEO/CTO/SRE triplestack.fr / daemonit.com