damianlewis.apache

Rola Ansible: Apache

Instaluje i konfiguruje Apache.

Wymagania

Brak.

Zmienne Roli

Dostępne zmienne są wymienione poniżej, zobacz defaults/main.yml dla wartości domyślnych.

apache_use_ppa: false

Aby użyć repozytorium PPA do instalacji Apache, ustaw zmienną apache_use_ppa na true.

apache_user: www
apache_group: www

Możesz zmienić użytkownika i grupę, pod którymi będzie działać Apache. Domyślnie Apache używa www-data zarówno jako użytkownika, jak i grupy.

apache_timeout: '100'
apache_enable_keepalive: false
apache_max_keepalive_request: '200'
apache_keepalive_timeout: '300'
apache_enable_hostname_lookups: true

Niektóre z głównych dyrektyw konfiguracyjnych używanych przez Apache można nadpisać, ustawiając dowolną z powyższych zmiennych.

apache_log_path: /path/to/logs
apache_error_log_level: warn

Możesz skonfigurować rejestr błędów za pomocą zmiennej apache_error_log_level. Poziom rejestru błędów może być jednym z następujących: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, lub emerg. Domyślnie poziom rejestru błędów to warn.

Możesz nadpisać domyślną lokalizację, gdzie przechowywane są pliki dziennika, ustawiając zmienną apache_log_path. Domyślna lokalizacja to /var/log/apache2.

apache_disable_default_site: true

Wyłącza domyślną stronę zainstalowaną z Apache.

apache_pid_file: logs/apache.pid

Domyślna wartość dyrektywy pid to /var/run/apache2/apache2.pid. Użyj zmiennej apache_pid_file, aby to nadpisać.

apache_run_path: /var/run/apache2
apache_lock_path: /var/lock/apache2

Użyj zmiennych apache_run_path i apache_lock_path, aby nadpisać domyślne wartości używane do lokalizacji plików stanu tymczasowego. Domyślną wartością dla apache_run_path jest /var/run/apache2, a dla apache_lock_path to /var/lock/apache2.

apache_http_port: '8080'
apache_https_port: '44300'

Aby nadpisać domyślne porty używane dla HTTP i HTTPS, użyj zmiennych apache_http_port i apache_https_port.

apache_allow_additional_confs: false

Domyślnie Apache uwzględnia wszelkie pliki konfiguracyjne znalezione w folderach conf.d lub conf-enabled. Aby wykluczyć te dodatkowe konfiguracje, ustaw zmienną apache_allow_additional_confs na false.

apache_modules:
- name: headers
- name: rewrite
- name: ssl
  state: absent

Użyj zmiennej apache_modules, aby włączyć/wyłączyć moduły Apache. Atrybut name jest wymagany i powinien być nazwą modułu do włączenia/wyłączenia. Domyślnie wszystkie wymienione moduły będą włączone. Aby wyłączyć moduł, dodaj atrybut state z wartością absent.

apache_sites:
- hostname: www.example.com
  root: /var/www/html
  alias: *.example.com

Użyj zmiennej apache_sites, aby dodać i skonfigurować strony. Jedynymi wymaganymi atrybutami dla strony są hostname i ścieżka do folderu root. Można dodać opcjonalny serwer alias.

apache_sites:
- hostname: example.com
  root: /var/www/html
  state: absent

Domyślnie strona jest tworzona, kiedy zostanie dodana do zmiennej apache_sites. Użyj atrybutu state z wartością absent, aby wyłączyć/usunąć stronę.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_http_to_https_redirect: true

Ustaw zmienną enable_http_to_https_redirect, aby przekierować żądania HTTP do protokołu HTTPS. Upewnij się, że certyfikat SSL został skonfigurowany i że Apache jest skonfigurowany do używania SSL, jak opisano poniżej.

apache_sites:
- hostname: www.sub.example.com
  root: /var/www/subdomain/sub
  virtualhost_directives: |
    ServerPath "/sub/"
    RewriteEngine On
    RewriteRule "^(/sub/.*)" "/var/www/subdomain$1"

Dodatkowe dyrektywy wirtualnego hosta można dodać przy użyciu atrybutu virtualhost_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  headers:
  - 'X-Frame-Options "DENY"'
  - 'X-Content-Type-Options "nosniff"'
  - 'X-XSS-Protection "1; mode=block"'

Użyj atrybutu headers, aby dodać nagłówki odpowiedzi serwera.

apache_sites:
- hostname: example.com
  root: /var/www/html
  directories:
  - rule: '/var/www/html'
    block: |
      Options -Indexes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted

Dyrektywy katalogów można tworzyć, dodając je do atrybutu directories. Określ rule dla katalogu oraz dyrektywy do uwzględnienia w block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  filesmatches:
  - rule: '.+\.ph(p[3457]?|t|tml)$'
    block: |
      SetHandler proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost

Dyrektywy FilesMatch można tworzyć, dodając je do atrybutu filesmatches. Określ rule dla wyrażenia regularnego oraz dyrektywy do uwzględnienia w block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_error_log: true
  error_log_level: warn
  enable_access_log: true
  access_log_format: main

Aby utworzyć osobne pliki dziennika dla poszczególnych stron, ustaw atrybuty enable_error_log i enable_access_log na true. Użyj atrybutów error_log_level i access_log_format, aby skonfigurować logi. Poziom rejestru błędów może być jednym z następujących: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, lub emerg. Domyślnie poziom rejestru błędów to warn. Aby użyć niestandardowego formatu logu dostępu, upewnij się, że niestandardowy format istnieje. Domyślnie format logu dostępu to combined.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ssl_certificate: /etc/ssl/example.com/certificate.crt
  ssl_certificate_key: /etc/ssl/private/example.com.key
  ssl_certificate_chain: /etc/ssl/example.com/fullchain.pem

Aby używać HTTPS, upewnij się, że certyfikat SSL został zainstalowany na serwerze. Określ lokalizację certyfikatu, używając atrybutu ssl_certificate, oraz lokalizację klucza prywatnego, używając atrybutu ssl_certificate_key. Opcjonalnie można użyć pełnego certyfikatu łańcucha, ustawiając zmienną ssl_certificate_chain.

apache_sites:
- hostname: example.com
  root: /var/www/html
  https_virtualhost_directives: |
    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
    SSLHonorCipherOrder on
    SSLUseStapling on
    SSLCompression off
    SSLSessionTickets off
  https_headers:
  - 'Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"'

Dodatkowe dyrektywy SSL i nagłówki można dodać, używając atrybutu https_server_directives oraz https_headers.

apache_sites:
- hostname: example.com
  root: /var/www/html
  server_directives: |
    SSLStaplingCache shmcb:logs/stapling-cache(150000)

Dodatkowe dyrektywy serwera można dodać do pliku wirtualnego hosta, używając atrybutu server_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ip_address: '*'
  http_port: '80'
  https_port: '443'

Domyślne wartości używane do konfiguracji strony przedstawiono powyżej. Dodaj dowolne z tych atrybutów do strony, aby nadpisać ich wartość.

Zależności

Brak.

Przykładowy Playbook

- hosts: server
  become: yes

  tasks:
  - import_role:
      name: damianlewis.apache
O projekcie

Installs and configures Apache

Zainstaluj
ansible-galaxy install damianlewis.apache
Licencja
Unknown
Pobrania
122
Właściciel