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.
Add apache virtualhosts with Ansible
ansible-galaxy install Boonyah.apache2-vhosts