Boonyah.apache2-vhosts

apache2-vhosts

Ce rôle crée plusieurs vhosts apache2 ainsi que des comptes utilisateurs individuels. Cela est utilisé dans un environnement où plusieurs sites sont hébergés et doivent être accessibles par plusieurs développeurs. L'accès SSH est restreint pour n'autoriser que les connexions par clé publique.

Variables de rôle

Il existe plusieurs variables qui peuvent être passées. Certaines seront nécessaires par hôte, tandis que d'autres seront basées sur le rôle.

Variables Apache

apache_packages:
  - apache2
  - apache2-doc
  - apache2-utils
  - apache2-mpm-itk
  - libapache2-mod-php5

apache_modules:
  - alias.conf
  - alias.load
  - auth_basic.load
  - authn_file.load
  - ...

apache_host: "127.0.0.1"
apache_port: "80"
apache_ssl_port: "443"

apache_packages

Une liste de tous les paquets apache2 nécessaires. Par défaut, le worker apache2-mpm-itk est installé, permettant à chaque vhost d'être exécuté en tant qu'utilisateur qui l'utilise.

apache_modules

Une liste de tous les modules apache2 activés et des fichiers de configuration. Tout ce qui est listé ici est un lien symbolique de /etc/apache2/mods-available vers /etc/apache2/mods-enabled.

apache_host

L'adresse IP à laquelle apache2 doit être lié. Utilisé pour la ligne Listen dans le fichier de configuration apache ainsi que pour les lignes VirtualHost dans les fichiers de configuration vhost.

apache_port

Le port sur lequel apache2 doit écouter. Utilisé pour la ligne Listen dans le fichier de configuration apache ainsi que pour les lignes VirtualHost dans les fichiers de configuration vhost.

apache_ssl_port

Le port SSL sur lequel apache2 doit écouter. Utilisé pour la ligne Listen dans le fichier de configuration apache ainsi que pour les lignes VirtualHost dans les fichiers de configuration vhost.

Variables PHP

php_packages:
  - php5-common
  - php5-cli
  - php5-suhosin
  - php5-apc
  - php-pear
  - php5-gd
  - php5-memcache
  - php5-mcrypt
  - php5-gmp
  - php5-mysql
  - php5-curl

post_max_size: "10M"
upload_max_filesize: "10M"
php_timezone: "Australia/Brisbane"
memory_limit: "32M"
html_errors: "Off"

php_packages

Une liste de tous les paquets PHP nécessaires.

post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors

Paramètres utilisés dans le fichier php.ini. Ceux-ci seront probablement définis par hôte.

Paramètres de vhost

deleted_vhost_sites:
  - {
      host: 'del.example.com',
      user: 'delexample',
      group: 'delexample',
      admin_email: '[email protected]',
      disabled: True
    }

disabled_vhost_sites: &disabled
  - {
      host: 'dev.example.com',
      user: 'devexample',
      group: 'devexample',
      admin_email: '[email protected]',
      disabled: True
    }

vhost_sites:
  - *disabled
  - {
      host: 'example.com',
      user: 'example',
      group: 'example',
      admin_email: '[email protected]',
      ssl: {
        enabled: False,
        ssl_certificate: '/path/to/ssl/cert',
        ssl_certificate_key: '/path/to/ssl/private_key'
      },
      aliases: [
        www.example.com
        au.example.com
      ]
    }

deleted_vhost_sites

Tous les sites listés ici ne seront pas présents sur le serveur. Les comptes utilisateurs et les dossiers public_html seront supprimés et les fichiers de configuration du site seront désactivés et retirés.

disabled_vhost_sites

Les sites listés ici auront toujours leurs comptes utilisateurs et dossiers public_html présents, mais ils ne pourront pas se connecter et le fichier de configuration vhost ne sera pas activé dans apache.

vhost_sites

C'est une combinaison de sites désactivés et de tous les sites supplémentaires à activer. Cela garantira que le compte utilisateur est présent et qu'il peut se connecter via SSH. Les dossiers public_html seront créés et la configuration sera liée à sites-enabled pour qu'apache puisse servir leur contenu.

Paramètres SSH

Dans le cadre de la création des vhosts, tous les fichiers dans files/ssh/keys sont combinés et ajoutés à chaque compte utilisateur activé. Cela permet à plusieurs utilisateurs de se connecter à chaque compte en tant qu'utilisateur hébergeur.

Installer
ansible-galaxy install Boonyah.apache2-vhosts
Licence
Unknown
Téléchargements
77
Propriétaire