Boonyah.apache2-vhosts
apache2-vhosts
Este rol crea varios vhosts de apache2 junto con cuentas de usuario individuales. Se utiliza en un entorno donde se alojan varios sitios y necesitan ser accesibles por varios desarrolladores. SSH está restringido para que solo se permitan inicios de sesión con claves públicas.
Variables del Rol
Hay varias variables que se pueden pasar. Algunas serán necesarias por cada host, mientras que otras serán basadas en el rol.
Variables de 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
Una lista de todos los paquetes de apache2 necesarios. Por defecto, se instala el trabajador apache2-mpm-itk para que cada vhost pueda ejecutarse como el usuario que lo utiliza.
apache_modules
Una lista de todos los módulos de apache2 habilitados y los archivos de configuración. Todo lo listado aquí está vinculado desde /etc/apache2/mods-available a /etc/apache2/mods-enabled.
apache_host
La dirección IP a la que se vinculará apache2. Se usa para la línea Listen en el archivo de configuración de apache, así como para las líneas VirtualHost en los archivos de configuración de vhost.
apache_port
El puerto en el que apache2 debe escuchar. Se usa para la línea Listen en el archivo de configuración de apache, así como para las líneas VirtualHost en los archivos de configuración de vhost.
apache_ssl_port
El puerto SSL en el que apache2 debe escuchar. Se usa para la línea Listen en el archivo de configuración de apache, así como para las líneas VirtualHost en los archivos de configuración de vhost.
Variables de 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
Una lista de todos los paquetes PHP necesarios.
post_max_size, upload_max_filesize, php_timezone, memory_limit, html_errors
Configuraciones que se usan en el archivo php.ini. Probablemente serán establecidas por cada host.
Configuraciones 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
Cualquier sitio listado aquí no estará presente en el servidor. Las cuentas de usuario y las carpetas public_html serán eliminadas y los archivos de configuración del sitio serán deshabilitados y eliminados.
disabled_vhost_sites
Los sitios listados aquí aún tendrán sus cuentas de usuario y carpetas public_html presentes, pero no podrán iniciar sesión y el archivo de configuración de vhost no estará habilitado en apache.
vhost_sites
Esta es una combinación de deshabilitados y cualquier sitio extra que debería estar habilitado. Asegurará que la cuenta de usuario esté presente y que puedan iniciar sesión a través de SSH. Se crearán carpetas public_html y la configuración estará vinculada a sites-enabled para que apache sirva su contenido.
Configuraciones de SSH
Como parte de la creación de los vhosts, todos los archivos dentro de files/ssh/keys se combinan y se añaden a cada cuenta de usuario habilitada. Esto permite que varios usuarios inicien sesión en cada cuenta como el usuario de hospedaje.
Add apache virtualhosts with Ansible
ansible-galaxy install Boonyah.apache2-vhosts