Boonyah.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
所需的所有 apt apache2 包的列表。默认情况下安装 apache2-mpm-itk 工作进程,以便每个虚拟主机可以作为使用它的用户运行。
apache_modules
所有启用的 apache2 模块及其配置文件的列表。这里列出的所有内容都从 /etc/apache2/mods-available 创建了符号链接到 /etc/apache2/mods-enabled。
apache_host
将 apache2 绑定到的 IP 地址。用于 apache 配置文件中的 Listen 行,以及虚拟主机配置文件中的 VirtualHost 行。
apache_port
apache2 应监听的端口。用于 apache 配置文件中的 Listen 行,以及虚拟主机配置文件中的 VirtualHost 行。
apache_ssl_port
apache2 应监听的 SSL 端口。用于 apache 配置文件中的 Listen 行,以及虚拟主机配置文件中的 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
所需的所有 apt PHP 包的列表。
post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors
在 php.ini 文件中使用的设置。这些设置可能会根据主机设置。
虚拟主机设置
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.apache2-vhosts