supertarto.apache

Ansible apache

CI

Zainstaluj i skonfiguruj apache używając ansible.

Wymagania

Brak

Przetestowane platformy

  • Debian 10 (Buster)
  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)

Zmienne roli

Usługa apache, ścieżka do konfiguracji apache oraz pakiety do zainstalowania.

apache_service: apache2
apache_server_conf: /etc/apache2

apache_packages:
  - apache2
  - apache2-utils

Konfiguracja portów, które mają być załadowane w ports.conf

apache_listen_port: 80
apache_ports_configuration_items:
  - regexp: "^Listen "
    line: "Listen {{ apache_listen_port }}"

Zmiany w security.conf dla celów produkcyjnych.

apache_server_token: Prod
apache_server_signature: "Off"
apache_trace_enabled: "Off"
apache_security_configuration_items:
  - regexp: "^ServerTokens "
    line: "ServerTokens {{ apache_server_token }}"
  - regexp: "^ServerSignature "
    line: "ServerSignature {{ apache_server_signature }}"
  - regexp: "^TraceEnable "
    line: "TraceEnable {{ apache_trace_enabled }}"

Lista modułów do włączenia i lista modułów do wyłączenia. Domyślna wartość to "pusta".

apache_mods_enabled: []
apache_mods_disabled: []

Czy chcesz stworzyć nowy plik vhosts? Jeśli ustawione na true, jak ma nazywać się plik konfiguracyjny?

apache_create_vhosts: true
apache_vhosts_filename: "my-vhosts.conf"

Czy musimy usunąć domyślne hosty? Jeśli ustawione na true, który plik konfiguracyjny należy usunąć? Może być również używane do usuwania niestandardowych vhosts.

apache_remove_default_vhost: true
apache_default_vhost_filename:
 - 000-default.conf

apache_vhost_config służy do konfigurowania twojego wirtualnego hosta. Możesz mieć wiele vhosts. Jeśli nie chcesz ustawiać konkretnego parametru, po prostu usuń te linie. Na przykład, jeśli nie chcesz definiować serveralias lub jeśli nie potrzebujesz "location", usuń te linie.

Inne zmienne mają być wielolinijkowe: apache_vhost_config.custom_param, apache_vhost_config.directory.config, apache_vhost_config.location.config, apache_vhost_config.file.config. Nie zapomnij o wprowadzeniu "|". Oto przykład. Domyślnie apache_vhost_config jest pusty. Musisz go sam zdefiniować, aby dopasować do swoich potrzeb.

apache_vhost_config:
  - listen_ip: "*"
    listen_port: 80
    server_name: host1
    custom_param: |
        Redirect / https://host1
    
  - listen_ip: "*"
    listen_port: 443
    server_name: host1
    serveralias: alias1
    documentroot: "/var/www/html"
    serveradmin: admin@localhost
    custom_param: |
      ProxyRequests Off
      ProxyPreserveHost On
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
      LogLevel warn
    ssl_engine: "on"
    ssl_certificate_file: /etc/ssl/certs/certif.crt
    ssl_certificate_key_file: /etc/ssl/private/certif.key
    ssl_certificate_chain_file: /etc/ssl/certs/chain
    directory:
      - path: "/var/www/html"
        config: |
          AllowOverride All
          Order deny,allow
          allow from all
      - path: "/usr/lib/cgi-bin"
        config: |
          SSLOptions +StdEnvVars
    location:
      - path: "/"
        config: |
          Options -Indexes
          Options -Includes
          Options -FollowSymLinks
          ProxyPass http://localhost:8080/ min=0 max=100 smax=50 ttl=10
          ProxyPassReverse http://localhost/
    file:
      - path: '\.(cgi|shtml|phtml|php)$'
        config: |
          SSLOptions +StdEnvVars

Przykłady

- hosts: somehost
  roles:
    - supertarto.apache

  vars:
    apache_mods_enabled:
        - ssl
    apache_create_vhosts: true
    apache_vhosts_filename: "mysite.conf"
    apache_vhost_config:
        - listen_ip: "*"
          listen_port: 80
          server_name: host1
          custom_param: |
            Redirect / https://host1

        - listen_ip: "*"
          listen_port: 443
          server_name: host1
          serveralias: alias1
          documentroot: "/var/www/html"
          serveradmin: admin@localhost
          custom_param: |
            ProxyRequests Off
            ProxyPreserveHost On
            ErrorLog ${APACHE_LOG_DIR}/error.log
            CustomLog ${APACHE_LOG_DIR}/access.log combined
            LogLevel warn
          ssl_engine: "on"
          ssl_certificate_file: /etc/ssl/certs/certif.crt
          ssl_certificate_key_file: /etc/ssl/private/certif.key
          ssl_certificate_chain_file: /etc/ssl/certs/chain
          directory:
            - path: "/var/www/html"
              config: |
                AllowOverride All
                Order deny,allow
                allow from all            

Instalacja

ansible-galaxy install supertarto.apache

Licencja

GPL V3.0

O projekcie

Install and configure apache2 with ansible

Zainstaluj
ansible-galaxy install supertarto.apache
Licencja
gpl-3.0
Pobrania
1.6k
Właściciel