damianlewis.apache

Ansible Rolle: Apache

Installiert und konfiguriert Apache.

Anforderungen

Keine.

Rollenvariablen

Verfügbare Variablen sind unten aufgelistet. Siehe defaults/main.yml für die Standardwerte.

apache_use_ppa: false

Um das PPA-Repository zur Installation von Apache zu verwenden, setzen Sie die Variable apache_use_ppa auf true.

apache_user: www
apache_group: www

Sie können den Benutzer und die Gruppe ändern, unter denen Apache laufen soll. Standardmäßig verwendet Apache www-data für Benutzer und Gruppe.

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

Einige der Hauptkonfigurationsanweisungen von Apache können überschrieben werden, indem Sie eine der oben genannten Variablen setzen.

apache_log_path: /path/to/logs
apache_error_log_level: warn

Sie können das Fehlerprotokoll mit der Variable apache_error_log_level konfigurieren. Der Fehlerprotokolllevel kann einer der folgenden Werte sein: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, oder emerg. Standardmäßig ist der Fehlerprotokolllevel warn.

Sie können den Standardort, an dem Protokolldateien gespeichert werden, ändern, indem Sie die Variable apache_log_path setzen. Der Standardort ist /var/log/apache2.

apache_disable_default_site: true

Deaktiviert die standardmäßig mit Apache installierte Website.

apache_pid_file: logs/apache.pid

Die Standard-PID-Direktive ist auf /var/run/apache2/apache2.pid eingestellt. Verwenden Sie die Variable apache_pid_file, um dies zu überschreiben.

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

Verwenden Sie die Variablen apache_run_path und apache_lock_path, um die Standardwerte für die temporären Statusdateispeicherorte zu überschreiben. Standardmäßig ist apache_run_path auf /var/run/apache2 und apache_lock_path auf /var/lock/apache2 eingestellt.

apache_http_port: '8080'
apache_https_port: '44300'

Um die Standardports für HTTP und HTTPS zu überschreiben, verwenden Sie die Variablen apache_http_port und apache_https_port.

apache_allow_additional_confs: false

Standardmäßig schließt Apache alle Konfigurationsdateien in den Ordnern conf.d oder conf-enabled ein. Um diese zusätzlichen Konfigurationen auszuschließen, setzen Sie die Variable apache_allow_additional_confs auf false.

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

Verwenden Sie die Variable apache_modules, um Apache-Module ein- oder auszuschalten. Das Attribut name ist erforderlich und sollte der Name des Moduls sein, das ein- oder ausgeschaltet werden soll. Standardmäßig wird jedes aufgelistete Modul aktiviert. Fügen Sie das Attribut state mit dem Wert absent hinzu, um ein Modul zu deaktivieren.

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

Verwenden Sie die Variable apache_sites, um Websites hinzuzufügen und zu konfigurieren. Die einzigen erforderlichen Attribute für eine Website sind hostname und der Pfad zum root-Ordner. Ein optionales Serveralias kann hinzugefügt werden.

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

Standardmäßig wird eine Website erstellt, wenn sie zur Variable apache_sites hinzugefügt wird. Verwenden Sie das Attribut state mit dem Wert absent, um eine Website zu deaktivieren oder zu entfernen.

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

Setzen Sie die Variable enable_http_to_https_redirect, um HTTP-Anfragen auf das HTTPS-Protokoll umzuleiten. Stellen Sie sicher, dass ein SSL-Zertifikat eingerichtet wurde und dass Apache für die Verwendung von SSL konfiguriert ist, wie unten beschrieben.

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

Zusätzliche Direktiven für den virtuellen Host können mit dem Attribut virtualhost_directives hinzugefügt werden.

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"'

Verwenden Sie das Attribut headers, um Serverantwort-Header hinzuzufügen.

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

Verzeichnis-Direktiven können erstellt werden, indem sie dem Attribut directories hinzugefügt werden. Geben Sie eine rule für das Verzeichnis und die Direktiven an, die im block enthalten sein sollen.

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

FilesMatch-Direktiven können erstellt werden, indem sie dem Attribut filesmatches hinzugefügt werden. Geben Sie eine rule für den regulären Ausdruck und die Direktiven an, die im block enthalten sein sollen.

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

Um separate Protokolldateien für einzelne Websites zu erstellen, setzen Sie die Attribute enable_error_log und enable_access_log auf true. Verwenden Sie die Attribute error_log_level und access_log_format, um die Protokolle zu konfigurieren. Der Fehlerprotokolllevel kann einer der folgenden Werte sein: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, oder emerg. Standardmäßig ist der Fehlerprotokolllevel warn. Um ein benutzerdefiniertes Zugangprotokollformat zu verwenden, stellen Sie sicher, dass das benutzerdefinierte Format vorhanden ist. Standardmäßig ist das Zugangprotokollformat 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

Um HTTPS zu verwenden, stellen Sie sicher, dass ein SSL-Zertifikat auf dem Server installiert ist. Geben Sie den Speicherort des Zertifikats mit dem Attribut ssl_certificate und den Speicherort des privaten Schlüssels mit dem Attribut ssl_certificate_key an. Ein optionales vollständiges Kettenzertifikat kann durch Setzen der Variable ssl_certificate_chain verwendet werden.

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"'

Zusätzliche SSL-Direktiven und Header können mit den Attributen https_server_directives und https_headers hinzugefügt werden.

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

Zusätzliche Server-Direktiven können mit dem Attribut server_directives zur Konfigurationsdatei des virtuellen Hosts hinzugefügt werden.

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

Die oben gezeigten Standardwerte zur Konfiguration einer Website können durch Hinzufügen von Attributen überschrieben werden.

Abhängigkeiten

Keine.

Beispiel-Playbook

- hosts: server
  become: yes

  tasks:
  - import_role:
      name: damianlewis.apache
Über das Projekt

Installs and configures Apache

Installieren
ansible-galaxy install damianlewis.apache
GitHub Repository
Lizenz
Unknown
Downloads
122
Besitzer