supertarto.apache

Ansible apache

CI

Installez et configurez apache avec ansible.

Exigences

Aucune

Plateformes testées

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

Variables de rôle

Le service apache, le chemin de configuration apache et les paquets à installer.

apache_service: apache2
apache_server_conf: /etc/apache2

apache_packages:
  - apache2
  - apache2-utils

Configuration des ports, à charger dans ports.conf

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

Modifications dans security.conf, à des fins de production.

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

Une liste des modules à activer et une liste des modules à désactiver. La valeur par défaut est "vide".

apache_mods_enabled: []
apache_mods_disabled: []

Voulez-vous créer un nouveau fichier vhosts ? Si c'est vrai, quel sera le nom du fichier de configuration ?

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

Devrions-nous supprimer les hôtes par défaut ? Si c'est vrai, quel fichier de configuration doit être supprimé ? Cela peut également être utilisé pour supprimer des vhosts personnalisés.

apache_remove_default_vhost: true
apache_default_vhost_filename:
 - 000-default.conf

apache_vhost_config est utilisé pour configurer votre virtualhost. Vous pouvez avoir plusieurs vhosts. Si vous ne souhaitez pas définir un paramètre spécifique, il suffit de supprimer ces lignes. Par exemple, si vous ne voulez pas définir un serveralias, ou si vous n'avez pas besoin d'une "location", enlevez ces lignes.

D'autres variables sont destinées à être sur plusieurs lignes : apache_vhost_config.custom_param, apache_vhost_config.directory.config, apache_vhost_config.location.config, apache_vhost_config.file.config. N'oubliez pas le "|" au début. Vous pouvez voir ici un exemple. Par défaut, apache_vhost_config est vide. Vous DEVEZ le définir vous-même, selon vos besoins.

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

Exemples

- 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

Licence

GPL V3.0

À propos du projet

Install and configure apache2 with ansible

Installer
ansible-galaxy install supertarto.apache
Licence
gpl-3.0
Téléchargements
1.6k
Propriétaire