robertdebock.httpd
Ansible роль httpd
Установите и настройте httpd на вашей системе.
| GitHub | GitLab | Скачивания | Версия | 
|---|---|---|---|
Пример playbook
Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на изменение и релизе.
---
- name: Converge
  hosts: all
  become: true
  gather_facts: true
  vars_files:
    - ../../vars/main.yml
    - ../../defaults/main.yml
  roles:
    - role: robertdebock.httpd
      # https_ssl_enable: true
      httpd_port: 8080
      httpd_ssl_port: 8443
      httpd_locations:
        - name: my_location
          location: /my_location
          backend_url: "http://localhost:8080/myapplication"
      # httpd_vhosts:
      #   - name: my_vhost_docroot
      #     servername: www1.example.com
      #     documentroot: "{{ httpd_data_directory }}/www1.example.com"
      #   - name: my_vhost_backend_http
      #     servername: www2.example.com
      #     backend_url: "http://www.example.com/"
      #     serveralias:
      #       - example.com
      #       - www.example.com
      #   - name: my_vhost_remote
      #     servername: www3.example.com
      #     remote: "http://localhost:3128/"
      #   - name: my_vhost_backend_https
      #     servername: www4.example.com
      #     backend_url: "https://www.example.com/"
      #   - name: my_vhost_piratebay
      #     servername: piratebay.nl
      #     backend_url: "https://thepirate-bay.org/"
      #     proxy_preserve_host: Off
      #     proxy_requests: Off
      #     setenv:
      #       - name: force-proxy-request-1.0
      #         value: 1
      #       - name: proxy-nokeepalive
      #         value: 1
      #       - name: proxy-initial-not-pooled
      #       - name: proxy-sendchunks
      #         value: 1
      #   - name: no_doc_root
      #     servername: nodocroot.example.com
      #     documentroot: /var/www/html/nodocroot
      #     create_docroot: false
      httpd_directories:
        - name: my_directory
          path: "{{ httpd_data_directory }}/my_directory"
          # options:
          #   - Indexes
          #   - FollowSymLinks
          allow_override: All
Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml:
---
- name: Prepare
  hosts: all
  become: true
  gather_facts: false
  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.epel
    - role: robertdebock.buildtools
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
Также смотрите полное объяснение и пример о том, как использовать эти роли.
Переменные роли
Значения по умолчанию для переменных заданы в defaults/main.yml:
---
# файл значений по умолчанию для httpd
# Имя сервера для использования.
httpd_servername: "{{ ansible_fqdn }}"
# Порт без SSL.
httpd_port: 80
# Включить SSL (самоподписанные сертификаты)?
https_ssl_enable: false
# Чтобы настроить https, укажите имя хоста для прослушивания.
httpd_ssl_servername: "{{ ansible_fqdn }}"
# Для SSL необходим TCP порт.
httpd_ssl_port: 443
# SSL сертификат:
httpd_openssl_crt: "{{ httpd_openssl_crt_directory }}/apache-httpd.crt"
# SSL ключ
httpd_openssl_key: "{{ httpd_openssl_key_directory }}/apache-httpd.key"
# Если страница "это работает" должна быть сохранена
httpd_remove_example: false
# Дополнительные модули httpd для установки
httpd_additionnal_modules: []
httpd_custom_modules_to_activate_with_command: []
apache_global_vhost_settings: |
  DirectoryIndex index.php index.html
# Шаблон для использования для vhosts. Полезно для переопределения конфигурации под вашу установку.
vhost_conf_template: vhost.conf.j2
default_vhost_conf: default_vhost.conf
Требования
- pip пакеты, перечисленные в requirements.txt.
 
Статус используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
| Требование | GitHub | GitLab | 
|---|---|---|
| robertdebock.bootstrap | ||
| robertdebock.buildtools | ||
| robertdebock.epel | ||
| robertdebock.openssl | ||
| robertdebock.python_pip | ||
| robertdebock.selinux | 
Контекст
Эта роль является частью множества совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:

Совместимость
Эта роль была протестирована на следующих образах контейнеров:
| контейнер | теги | 
|---|---|
| EL | 9 | 
| Debian | все | 
| Fedora | все | 
| Ubuntu | все | 
Минимальная версия Ansible, необходимая для работы - 2.12. Тесты проводились на:
- Предыдущей версии.
 - Текущей версии.
 - Версии разработки.
 
Если вы обнаружите проблемы, пожалуйста, сообщите об этом в GitHub.
Лицензия
Информация об авторе
Пожалуйста, рассмотрите возможность поддержки меня.
Install and configure httpd on your system.
ansible-galaxy install robertdebock.httpd