apache2-vhosts
apache2-vhosts
Эта роль создает несколько виртуальных хостов apache2 вместе с индивидуальными учетными записями пользователей. Она используется в среде, когда размещено несколько сайтов, доступ к которым необходим нескольким разработчикам. SSH заблокирован, чтобы разрешить только входы по публичному ключу.
Переменные роли
Существует несколько переменных, которые могут быть переданы. Некоторые из них будут нужны для каждого хоста, в то время как другие будут основаны на роли.
Переменные 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
Список всех необходимых пакетов apache2 для apt. По умолчанию устанавливается рабочий процесс apache2-mpm-itk, так что каждый виртуальный хост может работать от имени пользователя, использующего его.
apache_modules
Список всех включенных модулей apache2 и конфигурационных файлов. Все перечисленное здесь является символическими ссылками от /etc/apache2/mods-available к /etc/apache2/mods-enabled.
apache_host
IP-адрес для привязки apache2. Используется в строке Listen в конфигурационном файле apache, а также для строк VirtualHost в конфигурационных файлах виртуальных хостов.
apache_port
Порт, на котором apache2 должен слушать. Используется в строке Listen в конфигурационном файле apache, а также для строк VirtualHost в конфигурационных файлах виртуальных хостов.
apache_ssl_port
SSL-порт, на котором apache2 должен слушать. Используется в строке Listen в конфигурационном файле apache, а также для строк VirtualHost в конфигурационных файлах виртуальных хостов.
Переменные 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
Список всех необходимых пакетов PHP для apt.
post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors
Настройки, используемые в файле php.ini. Эти настройки, вероятно, будут установлены для каждого хоста.
Настройки 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
Любые сайты, перечисленные здесь, определенно не будут присутствовать на сервере. Учетные записи пользователей и папки public_html будут удалены, а конфигурационные файлы сайта будут отключены и удалены.
disabled_vhost_sites
Сайты, перечисленные здесь, все еще будут иметь свои учетные записи пользователей и папки public_html, но они не смогут войти в систему, и конфигурационный файл виртуального хоста не будет включен в apache.
vhost_sites
Это объединение отключенных и любых дополнительных сайтов, которые должны быть включены. Это обеспечит наличие учетной записи пользователя и возможность входа через SSH. Папки public_html будут созданы, а конфигурация будет ссылаться на sites-enabled, так что apache сможет обслуживать их содержимое.
Настройки SSH
В рамках создания виртуальных хостов все файлы из files/ssh/keys объединяются и добавляются к каждой включенной учетной записи пользователя. Это позволяет нескольким пользователям входить в каждую учетную запись как хостинг-пользователь.
Add apache virtualhosts with Ansible
ansible-galaxy install Boonyah/ansible-role-apache2-vhosts