pulse-mind.ansible-role-apache-vhosts

Rôle Ansible : Apache vhosts

Statut de la construction

Objectif

J'utilise le rôle geerlingguy.apache avec les rôles jdauphant.nginx et viasite-ansible.site.

Le rôle jdauphant.nginx gère les sites dans des fichiers séparés et le rôle permet de supprimer explicitement les sites.

Geerlingguy a commenté le but d'un seul vhosts.conf.

Le rôle viasite-ansible.site réalise une configuration complexe de site : création d'utilisateur, configuration de nginx, apache, mysql, etc. Chaque site fonctionne comme un rôle séparé, donc j'ai aussi besoin de vhosts apache séparés.

Ce rôle permet d'utiliser geerlingguy.apache différemment.

D'autres rôles "apache-vhosts" que j'ai trouvés font la même chose que viasite-ansible.site : c'est trop complexe.

Caractéristiques

  • Ajouter des sites avec plusieurs playbooks
  • Supprimer explicitement des sites
  • Chaque site peut avoir un modèle séparé

Limitations

  • uniquement Debian, Ubuntu et CentOS
  • pas de SSL (nous configurons SSL sur nginx)

Les problèmes sont les bienvenus !

Utilisation

Avant d'utiliser ce rôle, vous devez installer apache avec le rôle geerlingguy.apache ou de toute autre manière.

Certains noms de variables et valeurs correspondent au rôle de geerlingguy (voir les répertoires default et vars). Donc, vous n'avez pas besoin de les définir deux fois.

Ajouter des sites :

La définition du site correspond également de près :

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]

Comparé avec celui 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]

Modèle personnalisé pour le site :

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

Supprimer des sites :

apache_vhosts_remove_sites:
  - www.local.dev

Exemple 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
À propos du projet

Apache 2.x virtual hosts manage

Installer
ansible-galaxy install pulse-mind.ansible-role-apache-vhosts
Licence
Unknown
Téléchargements
216
Propriétaire