pulse-mind.ansible-role-apache-vhosts

Rola Ansible: Apache vhosts

Cel

Używam roli geerlingguy.apache wraz z rolami jdauphant.nginx i viasite-ansible.site.

Rola jdauphant.nginx zarządza stronami w oddzielnych plikach i wspiera explicite usuwanie stron.

Geerlingguy skomentował cel pojedynczego pliku vhosts.conf.

Rola viasite-ansible.site dokonuje kompleksowej konfiguracji witryn: tworzenie użytkowników, konfiguracja nginx, apache, mysql itd. Każda strona działa jako oddzielna rola, dlatego potrzebuję również oddzielnych vhosts dla apache.

Ta rola pozwala na użycie geerlingguy.apache w inny sposób.

Inne role "apache-vhosts", które znalazłem, robią to samo co viasite-ansible.site: są zbyt skomplikowane.

Funkcje

  • Dodawanie stron za pomocą kilku playbooków
  • Explicite usuwanie stron
  • Każda strona może mieć oddzielny szablon

Ograniczenia

  • tylko Debian, Ubuntu i CentOS
  • brak SSL (konfigurujemy SSL na nginx)

Problemy są mile widziane!

Użycie

Przed użyciem tej roli musisz zainstalować apache za pomocą roli geerlingguy.apache lub w inny sposób.

Niektóre nazwy i wartości zmiennych odpowiadają roli geerlingguy'a (zobacz katalogi default i vars). Możesz więc nie definiować ich dwa razy.

Dodawanie stron:

Definicja strony jest bardzo podobna:

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]

W porównaniu do geerlingguy'a:

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]

Niestandardowy szablon dla strony:

apache_vhosts_sites:
  www.local.dev:
    servername: "www.local.dev"
    template: "custom.conf.j2"

Usuwanie stron:

apache_vhosts_remove_sites:
  - www.local.dev

Przykładowy 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
O projekcie

Apache 2.x virtual hosts manage

Zainstaluj
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts
Licencja
Unknown
Pobrania
216
Właściciel