pulse-mind.ansible-role-apache-vhosts

Ansible-Rolle: Apache vhosts

Build-Status

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
Über das Projekt

Apache 2.x virtual hosts manage

Installieren
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts
GitHub Repository
Lizenz
Unknown
Downloads
216
Besitzer