ansible-role-apache-vhosts

Ansible Роль: Apache vhosts

Цель

Я использую роль geerlingguy.apache вместе с ролями jdauphant.nginx и viasite-ansible.site.

Роль jdauphant.nginx управляет сайтами в отдельных файлах и поддерживает явное удаление сайтов.

Geerlingguy комментировал цель единственного vhosts.conf.

Роль viasite-ansible.site выполняет сложную настройку сайтов: создание пользователей, настройка nginx, apache, mysql и т. д. Каждый сайт функционирует как отдельная роль, поэтому мне тоже нужны отдельные apache vhosts.

Эта роль позволяет использовать geerlingguy.apache другим способом.

Другие роли "apache-vhosts", которые я нашел, делают то же, что и viasite-ansible.site: они тоже сложные.

Особенности

  • Добавление сайтов с несколькими плейбуками
  • Явное удаление сайтов
  • Каждый сайт может иметь отдельный шаблон

Ограничения

  • только Debian, Ubuntu и CentOS
  • нет SSL (мы настраиваем SSL на nginx)

Проблемы приветствуются!

Использование

Перед использованием этой роли вы должны установить apache с помощью роли geerlingguy.apache или другим способом.

Некоторые имена и значения переменных совпадают с ролью geerlingguy (см. директории default и vars). Так что, вам не нужно определять их дважды.

Добавление сайтов:

Определение сайта также выглядит похоже:

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]

Сравнение с geerlingguy:

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]

Пользовательский шаблон для сайта:

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

Удаление сайтов:

apache_vhosts_remove_sites:
  - www.local.dev

Пример плейбука

- 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
О проекте

Apache 2.x virtual hosts manage

Установить
ansible-galaxy install pulse-mind/ansible-role-apache-vhosts
Лицензия
Unknown
Загрузки
207
Владелец