apache

Ansible Роль: Apache

Устанавливает и настраивает Apache.

Требования

Нет.

Переменные роли

Доступные переменные перечислены ниже, см. defaults/main.yml для значений по умолчанию.

apache_use_ppa: false

Чтобы использовать PPA репозиторий для установки Apache, установите переменную apache_use_ppa в значение true.

apache_user: www
apache_group: www

Вы можете изменить пользователя и группу, от имени которых будет работать Apache. По умолчанию Apache использует www-data как пользователя и группу.

apache_timeout: '100'
apache_enable_keepalive: false
apache_max_keepalive_request: '200'
apache_keepalive_timeout: '300'
apache_enable_hostname_lookups: true

Некоторые основные настройки, используемые Apache, можно переопределить, установив любую из вышеупомянутых переменных.

apache_log_path: /path/to/logs
apache_error_log_level: warn

Вы можете настроить уровень ведения журнала ошибок с помощью переменной apache_error_log_level. Уровень ведения журнала ошибок может быть одним из следующих: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert или emerg. По умолчанию уровень ведения журнала ошибок установлен на warn.

Вы можете переопределить место хранения файлов журналов, установив переменную apache_log_path. По умолчанию это /var/log/apache2.

apache_disable_default_site: true

Отключает установленный по умолчанию сайт Apache.

apache_pid_file: logs/apache.pid

Настройка по умолчанию для директивы pid/var/run/apache2/apache2.pid. Используйте переменную apache_pid_file, чтобы переопределить это значение.

apache_run_path: /var/run/apache2
apache_lock_path: /var/lock/apache2

Используйте переменные apache_run_path и apache_lock_path, чтобы переопределить значения по умолчанию для временных файлов состояния. По умолчанию для apache_run_path используется /var/run/apache2, а для apache_lock_path - /var/lock/apache2.

apache_http_port: '8080'
apache_https_port: '44300'

Чтобы переопределить порты, используемые для HTTP и HTTPS, используйте переменные apache_http_port и apache_https_port.

apache_allow_additional_confs: false

По умолчанию Apache включает любые конфигурационные файлы, найденные в папках conf.d или conf-enabled. Чтобы исключить эти дополнительные конфигурации, установите переменную apache_allow_additional_confs в значение false.

apache_modules:
- name: headers
- name: rewrite
- name: ssl
  state: absent

Используйте переменную apache_modules, чтобы включать или отключать модули Apache. Атрибут name обязателен и должен содержать имя модуля, который необходимо включить или отключить. По умолчанию все перечисленные модули будут включены. Чтобы отключить модуль, добавьте атрибут state со значением absent.

apache_sites:
- hostname: www.example.com
  root: /var/www/html
  alias: *.example.com

Используйте переменную apache_sites для добавления и настройки сайтов. Единственными обязательными атрибутами сайта являются hostname и путь к папке root. Можно добавить необязательный серверный alias.

apache_sites:
- hostname: example.com
  root: /var/www/html
  state: absent

По умолчанию сайт создается при добавлении в переменную apache_sites. Используйте атрибут state со значением absent, чтобы отключить или удалить сайт.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_http_to_https_redirect: true

Установите переменную enable_http_to_https_redirect, чтобы перенаправлять HTTP-запросы на протокол HTTPS. Убедитесь, что SSL-сертификат настроен, и Apache настроен на использование SSL, как указано ниже.

apache_sites:
- hostname: www.sub.example.com
  root: /var/www/subdomain/sub
  virtualhost_directives: |
    ServerPath "/sub/"
    RewriteEngine On
    RewriteRule "^(/sub/.*)" "/var/www/subdomain$1"

Дополнительные директивы виртуального хоста можно добавить с помощью атрибута virtualhost_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  headers:
  - 'X-Frame-Options "DENY"'
  - 'X-Content-Type-Options "nosniff"'
  - 'X-XSS-Protection "1; mode=block"'

Используйте атрибут headers, чтобы добавить заголовки ответа сервера.

apache_sites:
- hostname: example.com
  root: /var/www/html
  directories:
  - rule: '/var/www/html'
    block: |
      Options -Indexes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted

Директивы каталога можно создать, добавив их в атрибут directories. Укажите rule для каталога и директивы, которые следует включить в block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  filesmatches:
  - rule: '.+\.ph(p[3457]?|t|tml)$'
    block: |
      SetHandler proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost

Директивы FilesMatch можно создать, добавив их в атрибут filesmatches. Укажите rule для регулярного выражения и директивы, которые следует включить в block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_error_log: true
  error_log_level: warn
  enable_access_log: true
  access_log_format: main

Чтобы создать отдельные файлы журналов для отдельных сайтов, установите атрибуты enable_error_log и enable_access_log в значение true. Используйте атрибуты error_log_level и access_log_format, чтобы настроить журналы. Уровень ведения журнала ошибок может быть одним из следующих: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert или emerg. По умолчанию уровень ведения журнала ошибок установлен на warn. Чтобы использовать пользовательский формат доступа к журналу, убедитесь, что этот формат существует. Формат доступа к журналу по умолчанию - combined.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ssl_certificate: /etc/ssl/example.com/certificate.crt
  ssl_certificate_key: /etc/ssl/private/example.com.key
  ssl_certificate_chain: /etc/ssl/example.com/fullchain.pem

Чтобы использовать HTTPS, убедитесь, что SSL-сертификат установлен на сервере. Укажите местоположение сертификата с помощью атрибута ssl_certificate и местоположение закрытого ключа с помощью атрибута ssl_certificate_key. Необязательный сертификат полного цепочка можно использовать, установив переменную ssl_certificate_chain.

apache_sites:
- hostname: example.com
  root: /var/www/html
  https_virtualhost_directives: |
    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
    SSLHonorCipherOrder on
    SSLUseStapling on
    SSLCompression off
    SSLSessionTickets off
  https_headers:
  - 'Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"'

Дополнительные директивы и заголовки SSL можно добавить, используя атрибуты https_server_directives и https_headers.

apache_sites:
- hostname: example.com
  root: /var/www/html
  server_directives: |
    SSLStaplingCache shmcb:logs/stapling-cache(150000)

Дополнительные серверные директивы можно добавить в файл виртуального хоста, используя атрибут server_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ip_address: '*'
  http_port: '80'
  https_port: '443'

Значения по умолчанию для настройки сайта показаны выше. Добавьте любые из этих атрибутов, чтобы переопределить их значение.

Зависимости

Нет.

Пример Playbook

- hosts: server
  become: yes

  tasks:
  - import_role:
      name: damianlewis.apache
О проекте

Installs and configures Apache

Установить
ansible-galaxy install damianlewis/ansible-role-apache
Лицензия
Unknown
Загрузки
111
Владелец