apache
Ansible apache
Установите и настройте Apache с помощью Ansible.
Требования
Нет
Поддерживаемые платформы
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Debian 12 (Bookworm)
Переменные роли
Служба Apache, путь конфигурации Apache и пакеты для установки.
apache_service: apache2
apache_server_conf: /etc/apache2
apache_packages:
- apache2
- apache2-utils
Настройки портов, которые будут загружены в ports.conf
apache_listen_port: 80
apache_ports_configuration_items:
- regexp: "^Listen "
line: "Listen {{ apache_listen_port }}"
Изменения в security.conf для производственной среды.
apache_server_token: Prod
apache_server_signature: "Off"
apache_trace_enabled: "Off"
apache_security_configuration_items:
- regexp: "^ServerTokens "
line: "ServerTokens {{ apache_server_token }}"
- regexp: "^ServerSignature "
line: "ServerSignature {{ apache_server_signature }}"
- regexp: "^TraceEnable "
line: "TraceEnable {{ apache_trace_enabled }}"
Список модулей для включения и список модулей для отключения. Значение по умолчанию - "пусто".
apache_mods_enabled: []
apache_mods_disabled: []
Хотите создать новый файл vhosts? Если да, как будет называться файл конфигурации?
apache_create_vhosts: true
apache_vhosts_filename: "my-vhosts.conf"
Нужно ли удалить стандартные хосты? Если да, какой конфигурационный файл нужно удалить? Это также можно использовать для удаления пользовательских vhosts.
apache_remove_default_vhost: true
apache_default_vhost_filename:
- 000-default.conf
apache_vhost_config используется для настройки вашего виртуального хоста. Вы можете иметь несколько vhosts. Если вы не хотите устанавливать конкретный параметр, просто удалите его. Например, если вы не хотите определять serveralias или вам не нужен "location", удалите эти строки.
Другие переменные предназначены для многострочных значений: apache_vhost_config.custom_param, apache_vhost_config.directory.config, apache_vhost_config.location.config, apache_vhost_config.file.config. Не забудьте про начало с "|". Вот пример. По умолчанию apache_vhost_config пуст. Вы ДОЛЖНЫ определить его сами в соответствии с вашими потребностями.
apache_vhost_config:
- listen_ip: "*"
listen_port: 80
server_name: host1
custom_param: |
Redirect / https://host1
- listen_ip: "*"
listen_port: 443
server_name: host1
serveralias: alias1
documentroot: "/var/www/html"
serveradmin: admin@localhost
custom_param: |
ProxyRequests Off
ProxyPreserveHost On
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
ssl_engine: "on"
ssl_certificate_file: /etc/ssl/certs/certif.crt
ssl_certificate_key_file: /etc/ssl/private/certif.key
ssl_certificate_chain_file: /etc/ssl/certs/chain
directory:
- path: "/var/www/html"
config: |
AllowOverride All
Order deny,allow
allow from all
- path: "/usr/lib/cgi-bin"
config: |
SSLOptions +StdEnvVars
location:
- path: "/"
config: |
Options -Indexes
Options -Includes
Options -FollowSymLinks
ProxyPass http://localhost:8080/ min=0 max=100 smax=50 ttl=10
ProxyPassReverse http://localhost/
file:
- path: '\.(cgi|shtml|phtml|php)$'
config: |
SSLOptions +StdEnvVars
Примеры
- hosts: somehost
roles:
- supertarto.apache
vars:
apache_mods_enabled:
- ssl
apache_create_vhosts: true
apache_vhosts_filename: "mysite.conf"
apache_vhost_config:
- listen_ip: "*"
listen_port: 80
server_name: host1
custom_param: |
Redirect / https://host1
- listen_ip: "*"
listen_port: 443
server_name: host1
serveralias: alias1
documentroot: "/var/www/html"
serveradmin: admin@localhost
custom_param: |
ProxyRequests Off
ProxyPreserveHost On
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
ssl_engine: "on"
ssl_certificate_file: /etc/ssl/certs/certif.crt
ssl_certificate_key_file: /etc/ssl/private/certif.key
ssl_certificate_chain_file: /etc/ssl/certs/chain
directory:
- path: "/var/www/html"
config: |
AllowOverride All
Order deny,allow
allow from all
Установка
ansible-galaxy install supertarto.apache
Лицензия
GPL V3.0
ansible-galaxy install supertarto/ansible-apache