robertdebock.httpd

Rola Ansible httpd

Zainstaluj i skonfiguruj httpd na swoim systemie.

GitHub GitLab Pobrania Wersja
github gitlab downloads Wersja

Przykładowy playbook

Ten przykład pochodzi z molecule/default/converge.yml i jest testowany przy każdym pushu, pull requeście i wydaniu.

---
- name: Zbieżność
  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

Maszyna musi być przygotowana. W CI robi się to przy użyciu molecule/default/prepare.yml:

---
- name: Przygotowanie
  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 }}"

Zobacz także pełne wyjaśnienie i przykład na temat korzystania z tych ról.

Zmienne roli

Domyślne wartości zmiennych są ustawione w defaults/main.yml:

---
# domyślny plik dla httpd

# Nazwa serwera do użycia.
httpd_servername: "{{ ansible_fqdn }}"

# Port bez SSL do użycia.
httpd_port: 80

# Włączyć (samopodpisane certyfikaty) SSL?
https_ssl_enable: false

# Aby skonfigurować https, ustaw nazwę hosta do nasłuchiwania.
httpd_ssl_servername: "{{ ansible_fqdn }}"

# Dla SSL wymagany jest port TCP.
httpd_ssl_port: 443

# Certyfikat SSL:
httpd_openssl_crt: "{{ httpd_openssl_crt_directory }}/apache-httpd.crt"

# Klucz SSL
httpd_openssl_key: "{{ httpd_openssl_key_directory }}/apache-httpd.key"

# Czy strona "działa" powinna być zachowana
httpd_remove_example: false

# Dodatkowe moduły httpd do zainstalowania

httpd_additional_modules: []

httpd_custom_modules_to_activate_with_command: []

apache_global_vhost_settings: |
  DirectoryIndex index.php index.html

# Szablon do użycia dla vhosts. Użyteczne do nadpisania konfiguracji własnym ustawieniem.
vhost_conf_template: vhost.conf.j2

default_vhost_conf: default_vhost.conf

Wymagania

Stan używanych ról

Poniższe role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.

Wymaganie GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.buildtools Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab
robertdebock.openssl Build Status GitHub Build Status GitLab
robertdebock.python_pip Build Status GitHub Build Status GitLab
robertdebock.selinux Build Status GitHub Build Status GitLab

Kontekst

Ta rola jest częścią wielu kompatybilnych ról. Zobacz dokumentację tych ról dla dalszych informacji.

Oto przegląd powiązanych ról: dependencies

Kompatybilność

Ta rola była testowana na tych obrazach kontenerów:

kontener tagi
EL 9
Debian wszystkie
Fedora wszystkie
Ubuntu wszystkie

Minimalna wymagana wersja Ansible to 2.12, testy zostały wykonane na:

  • Poprzedniej wersji.
  • Aktualnej wersji.
  • Wersji deweloperskiej.

Jeśli znajdziesz problemy, proszę zgłoś je na GitHubie.

Licencja

Apache-2.0.

Informacje o autorze

robertdebock

Proszę rozważ wsparcie mnie.

O projekcie

Install and configure httpd on your system.

Zainstaluj
ansible-galaxy install robertdebock.httpd
Licencja
apache-2.0
Pobrania
377.4k
Właściciel
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.