supertarto.apache

Ansible Apache

CI

Installieren und konfigurieren Sie Apache mit Ansible.

Anforderungen

Keine

Getestete Plattformen

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

Rollenvariablen

Der Apache-Dienst, der Apache-Konfigurationspfad und die zu installierenden Pakete.

apache_service: apache2
apache_server_conf: /etc/apache2

apache_packages:
  - apache2
  - apache2-utils

Port-Konfiguration, die in ports.conf geladen werden soll.

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

Änderungen in security.conf für Produktionszwecke.

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

Eine Liste von Modulen, die aktiviert werden sollen, und eine Liste von Modulen, die deaktiviert werden sollen. Standardwert ist "leer".

apache_mods_enabled: []
apache_mods_disabled: []

Möchten Sie eine neue Vhosts-Datei erstellen? Wenn auf true gesetzt, wie wird die Konfigurationsdatei genannt?

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

Müssen die Standardhosts entfernt werden? Wenn auf true gesetzt, welche Konfigurationsdatei soll gelöscht werden? Es kann auch verwendet werden, um benutzerdefinierte Vhosts zu entfernen.

apache_remove_default_vhost: true
apache_default_vhost_filename:
 - 000-default.conf

apache_vhost_config wird verwendet, um Ihren Virtualhost zu konfigurieren. Sie können mehrere Vhosts haben. Wenn Sie einen bestimmten Parameter nicht festlegen möchten, löschen Sie einfach die Zeile. Zum Beispiel, wenn Sie keinen Serveralias definieren möchten oder wenn Sie kein "location" benötigen, entfernen Sie diese Zeilen.

Andere Variablen sind für mehrzeilige Eingaben gedacht: apache_vhost_config.custom_param, apache_vhost_config.directory.config, apache_vhost_config.location.config, apache_vhost_config.file.config. Vergessen Sie nicht das führende "|". Hier sehen Sie ein Beispiel. Standardmäßig ist apache_vhost_config leer. Sie MÜSSEN es selbst definieren, um Ihren Anforderungen gerecht zu werden.

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

Beispiele

- 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            

Installation

ansible-galaxy install supertarto.apache

Lizenz

GPL V3.0

Über das Projekt

Install and configure apache2 with ansible

Installieren
ansible-galaxy install supertarto.apache
GitHub Repository
Lizenz
gpl-3.0
Downloads
1.6k
Besitzer