httpd

Роль Ansible httpd

Простая роль Ansible для установки и настройки веб-сервера Apache на RHEL/CentOS 7. В частности, обязанности данной роли включают:

  • Установку необходимых пакетов;
  • Поддержку основного конфигурационного файла;
  • Поддержку конфигурационного файла для mod_ssl. Настройки по умолчанию основаны на рекомендациях Генератора конфигурации SSL от Mozilla;
  • Установку пользовательских файлов сертификатов;
  • Включение и поддержку конфигурационного файла для mod_status.

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

Требования

  • Настройки брандмауэра не учитываются в этой роли. Вы можете использовать другую роль для этого, например, clusterapps.rh-base.

Зависимости

Зависимостей нет.

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

Никакие из перечисленных ниже переменных не являются обязательными.

Переменная По умолчанию Примечания
httpd_access_log logs/access_log Путь к файлу журнала доступа (http)
httpd_access_log_ssl logs/ssl_access_log Путь к файлу журнала доступа (https)
httpd_document_root '/var/www/html' Путь к корневой папке (директории, содержащей html файлы)
httpd_error_log logs/error_log Путь к файлу журнала ошибок (http)
httpd_error_log_ssl logs/ssl_error_log Путь к файлу журнала ошибок (https)
httpd_extended_status on Включить расширенную информацию о статусе (см. httpd_status_enable)
httpd_listen_ssl 443 Номер порта для https соединений
httpd_listen 80 Номер порта для http соединений
httpd_log_level_ssl warn Уровень детализации журнала https
httpd_log_level warn Уровень детализации журнала http
httpd_server_admin root@localhost Адрес электронной почты администратора сервера
httpd_server_name - Имя хоста, которое сервер использует для самовидимости
httpd_server_root '/etc/httpd' Директория, содержащая конфигурационные файлы
httpd_server_tokens Prod См. документацию
httpd_ssl_ca_certificate_file - Имя файла сертификата CA. См. ниже, Установка сертификатов
httpd_ssl_certificate_chain_file - Имя файла цепочки сертификатов. См. ниже, Установка сертификатов
httpd_ssl_certificate_file localhost.crt Имя файла сертификата. См. ниже, Установка сертификатов
httpd_ssl_certificate_key_file localhost.key Имя файла ключа сертификата. См. ниже, Установка сертификатов
httpd_ssl_cipher_suite ... См. переменные по умолчанию
httpd_ssl_compression 'off' При 'on' включает сжатие на уровне SSL (что может вызвать проблемы с безопасностью)
httpd_ssl_honor_cipher_order 'on' При 'on' отдает предпочтение порядку предпочтений шифрования сервера вместо клиента
httpd_ssl_protocol 'all -SSLv3 -TLSv1' Указывает используемые версии протоколов SSL/TLS
httpd_ssl_session_tickets 'off' При 'on' включает использование тикетов сеансов TLS (что может вызвать проблемы с безопасностью)
httpd_ssl_stapling_cache 'shmcb:/var/run/ocsp(128000)' Настраивает кэш OCSP стаплинга (1)
httpd_ssl_stapling_responder_timeout 5 Тайм-аут для запросов OCSP стаплинга (1)
httpd_ssl_stapling_return_responder_errors 'off' При 'on' передает ошибки OCSP, связанные со стаплингом, клиенту (1)
httpd_ssl_use_stapling 'on' При 'on' включает стаплинг ответов OCSP в процессе рукопожатия TLS (1)
httpd_status_enable false Включить mod_status
httpd_status_location '/server-status' Путь к странице статуса mod_status
httpd_status_require 'host localhost' Контроль доступа для mod_status

(1) Для получения дополнительной информации о протоколе статуса сертификатов в режиме онлайн (OCSP) стаплинга см. документацию Apache и раздел "Запрос статуса сертификата" RFC 6066.

Установка сертификатов

По умолчанию роль использует самоподписанный сертификат, который генерируется при установке mod_ssl. Если вы хотите использовать пользовательский сертификат, поместите его в подкаталог с именем files/, относительно вашего основного местоположения playbook. Затем установите соответствующие переменные роли. Для получения инструкций о том, как настроить свои собственные (самоподписанные) сертификаты, см. например, CentOS Wiki.

Например, у вас есть серверный ключ acme-inc.key и файл сертификата acme-inc.crt. Структура каталога должна выглядеть так:

.
├── playbook.yml
└── files
    ├── acme-inc.crt
    └── acme-inc.key

Затем определите переменные роли в соответствующем месте (раздел vars: playbook, group_vars или host_vars):

httpd_ssl_certificate_key_file: 'acme-inc.key'
httpd_ssl_certificate_file: 'acme-inc.crt'

То же самое касается файла цепочки сертификатов и файла сертификата CA. Убедитесь, что они доступны в каталоге files/, и определите переменные httpd_ssl_certificate_chain_file и httpd_ssl_ca_certificate_file соответственно.

Пример Playbook

Скоро.

Тестирование

Скоро.

Участие

Вопросы, запросы на функции, идеи приветствуются и могут быть отправлены в разделе "Issues".

Запросы на изменение также очень приветствуются. Лучший способ отправить PR - это сначала создать форк этого проекта на Github, затем создать тему ветки для предложенного изменения и отправить эту ветку в свой форк. Затем Github может легко создать PR на основе этой ветки.

Лицензия

Лицензия BSD на 2 пункта, см. LICENSE.md.

Участники

Первоначальные участники:

О проекте

Installs the Apache web server on a RHEL/CentOS distribution.

Установить
ansible-galaxy install clusterapps/ansible-role-httpd
Лицензия
other
Загрузки
137
Владелец
I'm here to read the articles.