HanXHX.nginx

Nginx für Debian/FreeBSD Ansible-Rolle

Ansible Galaxy GitHub Workflow Status (master branch)

Installieren und Konfigurieren von Nginx auf Debian/FreeBSD.

Funktionen:

  • SSL/TLS "gehärtete" Unterstützung
  • Verwalten der Basisauthentifizierung auf der Seite / im Standort
  • Proxy + Upstream
  • Schnelle PHP-Konfiguration
  • Vorgefertigte Site-Vorlagen (sollte bei vielen Apps funktionieren)
  • Automatische Konfiguration von HTTP2 auf SSL/TLS-Seiten
  • Verwalten dynamischer Module (Installation und Laden)
  • Bereitstellung von benutzerdefinierten Fakten.d mit Site-Konfiguration
  • Kann mit dem Proxy-Protokoll hören
  • Zertifikate mit acme.sh (Let's Encrypt) generieren -- EXPERIMENTELL

Unterstützte Betriebssysteme:

Betriebssystem Funktionierend Stabil (aktive Unterstützung)
Debian Jessie (8) Ja Überprüfen Sie die neueste unterstützte Version (1.5.0)
Debian Stretch (9) Ja Überprüfen Sie die neueste unterstützte Version (1.9.0)
Debian Buster (10) Ja Ja
Debian Bullseye (11) Ja Ja
Debian Bookworm (12) Ja Noch nicht :)
FreeBSD 11 NEIN Nein
FreeBSD 12 NEIN Nein
Ubuntu 20.04 Ja Ja
Ubuntu 22.04 Ja Ja

Anforderungen

  • Ansible >=2.11
  • Wenn Sie nginx_backports auf true setzen, müssen Sie das Backports-Repository installieren, bevor Sie diese Rolle ausführen.

Rollenvariablen

Verpackung

Debian:

  • nginx_apt_package: APT Nginx-Paket (versuchen: apt-cache search ^nginx)
  • nginx_backports: Nginx aus dem Backport-Repository installieren (boolescher Wert)

FreeBSD:

  • nginx_pkgng_package: PKGNG Nginx-Paket (sollte "nginx" oder "nginx-devel" sein)

Gemeinsame

  • nginx_root: Stammverzeichnis, in dem Sie Ihre Dateien haben möchten
  • nginx_log_dir: Log-Verzeichnis (wenn Sie es ändern, vergessen Sie nicht, die logrotate-Konfiguration zu ändern)
  • nginx_resolver: Liste der DNS-Resolver (Standard: OpenDNS)
  • nginx_error_log_level: Standardprotokollebene
  • nginx_auto_config_httpv2: boolescher Wert, automatische Konfiguration von HTTP2 wo möglich
  • nginx_fastcgi_fix_realpath: boolescher Wert, Verwendung von realpath für fastcgi (Behebung von Problemen mit Symlinks und PHP-OpCache)
  • nginx_default_hsts: Zeichenfolge, standardmäßiger Header für HSTS

Nginx-Konfiguration

  • nginx_user
  • nginx_worker_processes
  • nginx_pid: Daemon-PID-Datei
  • nginx_events_*: alle Variablen im Ereignisblock
  • nginx_http_*: alle Variablen im HTTP-Block
  • nginx_custom_core: Anweisungenliste (für den Kern, wird Daten in /etc/nginx/nginx.conf speichern)
  • nginx_custom_http: Anweisungenliste (wird Daten in /etc/nginx/conf.d/custom.conf speichern)
  • nginx_module_packages: Liste der zu installierenden Modulpakete (Debian)
  • nginx_load_modules: Liste der zu ladenden Module (voller Pfad), sollte nur auf FreeBSD verwendet werden

Sonstiges

  • nginx_debug_role: auf true setzen, wenn Sie die Ausgabe von no_log-Aufgaben sehen möchten

Über Module

Die letzten Updates von Debian-Backports laden Module aus dem Verzeichnis /etc/nginx/modules-enabled. Deaktivieren/Aktivieren wird nicht mehr unterstützt. Bitte warten Sie auf weitere Updates.

Feine Konfiguration

Site-Konfiguration

PHP-Konfiguration

Upstream-Konfiguration

SSL/TLS-Konfiguration

Basisauthentifizierung

FreeBSD

acme.sh

Hinweis

  • Aktive Unterstützung für Debian/Ubuntu.
  • FreeBSD-Unterstützung ist experimentell. Ich teste (im Moment) nur 10.2 (aber es kann auch auf anderen Versionen funktionieren).

Abhängigkeiten

Siehe: requirements.yml.

Wenn Sie diese Rolle lokal mit Vagrant entwickeln möchten

Führen Sie vor der Verwendung von Vagrant einmal aus:

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

Wenn Sie diese Rolle lokal mit Molecule entwickeln möchten

Überprüfen Sie die verfügbaren Szenarien im molecule Verzeichnis.

Mit dem Szenario debian-12:

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

Beispiel-Playbook

Siehe tests/test.yml.

Lizenz

GPLv2

Spende

Wenn Ihnen dieser Code geholfen hat oder wenn Sie ihn für Ihre Projekte verwendet haben, können Sie mir gerne ein paar :beers: kaufen.

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

Keine Kryptowährung? :star: Das Projekt ist auch eine Möglichkeit, Danke zu sagen! :sunglasses:

Autoreninformationen

Installieren
ansible-galaxy install HanXHX.nginx
Lizenz
gpl-2.0
Downloads
6.1k
Besitzer
CEO/CTO/SRE triplestack.fr / daemonit.com