Boonyah.apache2-vhosts
apache2-vhosts
Ten moduł tworzy wiele wirtualnych hostów apache2 oraz indywidualne konta użytkowników. Jest to używane w środowisku, gdzie hostowanych jest wiele stron i muszą być one dostępne dla kilku programistów. SSH jest zablokowane, aby zezwalać tylko na logowanie za pomocą kluczy publicznych.
Zmienne modułu
Jest wiele zmiennych, które można przekazać. Niektóre będą potrzebne na poziomie hosta, podczas gdy inne będą związane z modułem.
Zmienne 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
Lista wszystkich potrzebnych pakietów apache2. Domyślnie instalowany jest worker apache2-mpm-itk, aby każdy wirtualny host mógł działać jako użytkownik, który go używa.
apache_modules
Lista wszystkich włączonych modułów apache2 oraz plików konfiguracyjnych. Wszystko wymienione tutaj jest linkowane z /etc/apache2/mods-available do /etc/apache2/mods-enabled.
apache_host
Adres IP, do którego będzie bindowany apache2. Używane w linii Listen w pliku konfiguracyjnym apache oraz dla linii VirtualHost w plikach konfiguracyjnych vhost.
apache_port
Port, na którym apache2 powinien nasłuchiwać. Używane w linii Listen w pliku konfiguracyjnym apache oraz dla linii VirtualHost w plikach konfiguracyjnych vhost.
apache_ssl_port
Port SSL, na którym apache2 powinien nasłuchiwać. Używane w linii Listen w pliku konfiguracyjnym apache oraz dla linii VirtualHost w plikach konfiguracyjnych vhost.
Zmienne 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
Lista wszystkich potrzebnych pakietów PHP.
post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors
Ustawienia używane w pliku php.ini. Prawdopodobnie będą ustawione na poziomie hosta.
Ustawienia 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
Jakiekolwiek strony wymienione tutaj nie będą obecne na serwerze. Konto użytkownika i foldery public_html zostaną usunięte, a pliki konfiguracyjne strony będą wyłączone i usunięte.
disabled_vhost_sites
Strony wymienione tutaj wciąż będą miały swoje konta użytkowników i foldery public_html, ale nie będą mogły się zalogować, a plik konfiguracyjny vhost nie będzie włączony w apache.
vhost_sites
To połączenie wyłączonych i dodatkowych stron, które powinny być aktywowane. Zapewni, że konto użytkownika jest obecne i mogą się zalogować przez SSH. Foldery public_html zostaną utworzone, a konfiguracja będzie linkowana do sites-enabled, aby apache mogło serwować ich zawartość.
Ustawienia SSH
W ramach tworzenia wirtualnych hostów wszystkie pliki z files/ssh/keys są łączone i dodawane do każdego aktywowanego konta użytkownika. Umożliwia to wielu użytkownikom logowanie się do każdego konta jako użytkownik hostingowy.
Add apache virtualhosts with Ansible
ansible-galaxy install Boonyah.apache2-vhosts