pulse-mind.ansible-role-apache-vhosts

Rol de Ansible: Vhosts de Apache

Estado de Construcción

Propósito

Estoy utilizando el rol geerlingguy.apache junto con los roles jdauphant.nginx y viasite-ansible.site.

El rol jdauphant.nginx gestiona los sitios en archivos separados y soporta la eliminación explícita de sitios.

Geerlingguy comentó sobre el propósito de un solo archivo vhosts.conf.

El rol viasite-ansible.site realiza una configuración compleja del sitio: creación de usuarios, configuración de nginx, apache, mysql, etc. Cada sitio actúa como un rol separado, así que también necesito vhosts de apache separados.

Este rol permite usar geerlingguy.apache de otra manera.

Otros roles "apache-vhosts" que encontré hacen lo mismo que viasite-ansible.site: son demasiado complejos.

Características

  • Agregar sitios con varios playbooks
  • Eliminar sitios de forma explícita
  • Cada sitio puede tener una plantilla separada

Limitaciones

  • solo Debian, Ubuntu y CentOS
  • sin SSL (configuramos SSL en nginx)

¡Se aceptan problemas!

Uso

Antes de usar este rol, debes instalar apache con el rol geerlingguy.apache u otra forma.

Algunas variables y valores coinciden con el rol de geerlingguy (ver directorios de default y vars). Así que no es necesario definirlas dos veces.

Agregar sitios:

La definición del sitio también es muy similar:

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]

En comparación con el de 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]

Plantilla personalizada para el sitio:

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

Eliminar sitios:

apache_vhosts_remove_sites:
  - www.local.dev

Ejemplo de 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
Acerca del proyecto

Apache 2.x virtual hosts manage

Instalar
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts
Licencia
Unknown
Descargas
216
Propietario