pulse-mind.ansible-role-apache-vhosts
Ansible-Rolle: Apache vhosts
Zweck
Ich benutze die Rolle geerlingguy.apache zusammen mit den Rollen jdauphant.nginx und viasite-ansible.site.
Die Rolle jdauphant.nginx verwaltet die Seiten in separaten Dateien und unterstützt das explizite Entfernen von Seiten.
Geerlingguy kommentierte den Zweck einer einzigen vhosts.conf.
Die Rolle viasite-ansible.site führt eine komplexe Einrichtung von Seiten durch: Benutzererstellung, Einrichtung von nginx, apache, mysql usw. Jede Seite spielt als separate Rolle, deshalb benötige ich auch separate Apache vhosts.
Diese Rolle ermöglicht eine andere Verwendung von geerlingguy.apache.
Andere Rollen "apache-vhosts", die ich gefunden habe, tun das Gleiche wie viasite-ansible.site: sie sind auch zu komplex.
Funktionen
- Seiten mit mehreren Playbooks hinzufügen
- Seiten ausdrücklich entfernen
- Jede Seite kann eine separate Vorlage haben
Einschränkungen
- nur Debian, Ubuntu und CentOS
- kein SSL (wir konfigurieren SSL auf nginx)
Fragen sind willkommen!
Verwendung
Bevor Sie diese Rolle verwenden, müssen Sie Apache mit der Rolle geerlingguy.apache oder auf andere Weise installieren.
Einige Variablennamen und -werte stimmen mit der Rolle von geerlingguy überein (siehe Verzeichnisse default und vars). Sie können sie also nicht doppelt definieren.
Seiten hinzufügen:
Die Seitendefinition sieht ähnlich aus:
apache_vhosts_sites:
www.local.dev:
servername: "www.local.dev"
serveralias: "local.dev"
documentroot: "/var/www/html"
extra_parameters: |
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Verglichen mit geerlingguys:
apache_vhosts_sites:
- servername: "www.local.dev"
serveralias: "local.dev"
documentroot: "/var/www/html"
extra_parameters: |
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Benutzerdefinierte Vorlage für die Seite:
apache_vhosts_sites:
www.local.dev:
servername: "www.local.dev"
template: "custom.conf.j2"
Seiten entfernen:
apache_vhosts_remove_sites:
- www.local.dev
Beispiel-Playbook
- hosts: all
roles:
- viasite-ansible.apache-vhosts
vars:
apache_vhosts_sites:
foo:
servername: "local.dev"
documentroot: "/var/www/html"
bar:
servername: "local2.dev"
documentroot: "/var/www/html"
templated_site:
template: tests/custom_template.conf.j2
servername: "other.dev"
somevariable: "somevalue"
apache_vhosts_remove_sites:
- baz
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts