Boonyah.apache2-vhosts
apache2-vhosts
Diese Rolle erstellt eine Anzahl von Apache2 vhosts sowie individuelle Benutzerkonten. Sie wird in einer Umgebung verwendet, in der mehrere Webseiten gehostet werden und von mehreren Entwicklern zugänglich sein müssen. SSH ist so konfiguriert, dass nur Anmeldungen mit öffentlichen Schlüsseln erlaubt sind.
Rollenvariablen
Es gibt eine Reihe von Variablen, die übergeben werden können. Einige werden pro Host benötigt, während andere rollenbasiert sind.
Apache-Variablen
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
Eine Liste aller benötigten apt Apache2-Pakete. Standardmäßig wird der Apache2-mpm-itk-Worker installiert, damit jeder vhost als der Benutzer ausgeführt werden kann, der ihn verwendet.
apache_modules
Eine Liste aller aktivierten Apache2-Module und der Konfigurationsdateien. Alles, was hier aufgeführt ist, wird von /etc/apache2/mods-available nach /etc/apache2/mods-enabled verlinkt.
apache_host
Die IP-Adresse, an die sich Apache2 binden soll. Wird für die Listen-Zeile in der Apache-Konfigurationsdatei und die VirtualHost-Zeilen in den vhost-Konfigurationsdateien verwendet.
apache_port
Der Port, auf dem Apache2 hören soll. Wird für die Listen-Zeile in der Apache-Konfigurationsdatei und die VirtualHost-Zeilen in den vhost-Konfigurationsdateien verwendet.
apache_ssl_port
Der SSL-Port, auf dem Apache2 hören soll. Wird für die Listen-Zeile in der Apache-Konfigurationsdatei und die VirtualHost-Zeilen in den vhost-Konfigurationsdateien verwendet.
PHP-Variablen
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
Eine Liste aller benötigten apt PHP-Pakete.
post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors
Einstellungen, die in der php.ini-Datei verwendet werden. Diese werden wahrscheinlich pro Host festgelegt.
Vhost-Einstellungen
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
Alle hier aufgeführten Seiten werden sicher nicht auf dem Server vorhanden sein. Benutzerkonten und public_html-Ordner werden gelöscht und die Site-Konfigurationsdateien werden deaktiviert und entfernt.
disabled_vhost_sites
Seiten, die hier aufgeführt sind, haben weiterhin ihre Benutzerkonten und public_html-Ordner, können sich jedoch nicht anmelden, und die vhost-Konfigurationsdatei wird nicht in Apache aktiviert.
vhost_sites
Dies ist eine Zusammenführung von deaktivierten und allen zusätzlichen Seiten, die aktiviert werden sollen. Es wird sichergestellt, dass das Benutzerkonto vorhanden ist und dass sie sich über SSH anmelden können. public_html-Ordner werden erstellt und die Konfiguration wird zu sites-enabled verlinkt, damit Apache deren Inhalte bereitstellen kann.
SSH-Einstellungen
Im Rahmen der Erstellung der vhosts werden alle Dateien im Verzeichnis files/ssh/keys zusammengeführt und jedem aktivierten Benutzerkonto hinzugefügt. Dies ermöglicht es mehreren Benutzern, sich in jedes Konto als Hosting-Benutzer einzuloggen.
Add apache virtualhosts with Ansible
ansible-galaxy install Boonyah.apache2-vhosts