httpd

Ansible роль httpd

Установите и настройте httpd на вашей системе.

GitHub GitLab Скачивания Версия
github gitlab downloads Version

Пример 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

Требования

Статус используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Статус сборки GitHub Статус сборки GitLab
robertdebock.buildtools Статус сборки GitHub Статус сборки GitLab
robertdebock.epel Статус сборки GitHub Статус сборки GitLab
robertdebock.openssl Статус сборки GitHub Статус сборки GitLab
robertdebock.python_pip Статус сборки GitHub Статус сборки GitLab
robertdebock.selinux Статус сборки GitHub Статус сборки GitLab

Контекст

Эта роль является частью множества совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на следующих образах контейнеров:

контейнер теги
EL 9
Debian все
Fedora все
Ubuntu все

Минимальная версия Ansible, необходимая для работы - 2.12. Тесты проводились на:

  • Предыдущей версии.
  • Текущей версии.
  • Версии разработки.

Если вы обнаружите проблемы, пожалуйста, сообщите об этом в GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, рассмотрите возможность поддержки меня.

О проекте

Install and configure httpd on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-httpd
Лицензия
apache-2.0
Загрузки
367443
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.