damianlewis.apache

Rôle Ansible : Apache

Installe et configure Apache.

Exigences

Aucune.

Variables du rôle

Les variables disponibles sont listées ci-dessous, voir defaults/main.yml pour les valeurs par défaut.

apache_use_ppa: false

Pour utiliser le dépôt PPA pour installer Apache, définissez la variable apache_use_ppa à true.

apache_user: www
apache_group: www

Vous pouvez changer l'utilisateur et le groupe sous lesquels Apache fonctionnera. Par défaut, Apache utilisera www-data pour les deux.

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

Certaines des directives principales de configuration utilisées par Apache peuvent être remplacées en définissant l'une des variables ci-dessus.

apache_log_path: /path/to/logs
apache_error_log_level: warn

Vous pouvez configurer le journal des erreurs en utilisant la variable apache_error_log_level. Le niveau de journalisation des erreurs peut être l'un des suivants : trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, ou emerg. Par défaut, le niveau de journalisation des erreurs est warn.

Vous pouvez remplacer l'emplacement par défaut où les fichiers journaux sont stockés en définissant la variable apache_log_path. L'emplacement par défaut est /var/log/apache2.

apache_disable_default_site: true

Désactive le site par défaut installé avec Apache.

apache_pid_file: logs/apache.pid

Le paramètre pid par défaut est /var/run/apache2/apache2.pid. Utilisez la variable apache_pid_file pour remplacer cela.

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

Utilisez les variables apache_run_path et apache_lock_path pour remplacer les valeurs par défaut utilisées pour les emplacements des fichiers d'état temporaires. La valeur par défaut pour apache_run_path est /var/run/apache2 et celle pour apache_lock_path est /var/lock/apache2.

apache_http_port: '8080'
apache_https_port: '44300'

Pour remplacer les ports par défaut utilisés pour HTTP et HTTPS, utilisez les variables apache_http_port et apache_https_port.

apache_allow_additional_confs: false

Par défaut, Apache inclura les fichiers de configuration trouvés dans les dossiers conf.d ou conf-enabled. Pour exclure ces configurations supplémentaires, définissez la variable apache_allow_additional_confs à false.

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

Utilisez la variable apache_modules pour activer/désactiver les modules d'Apache. L'attribut name est requis et doit être le nom du module à activer/désactiver. Par défaut, tout module listé sera activé. Pour désactiver un module, ajoutez l'attribut state avec une valeur de absent.

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

Utilisez la variable apache_sites pour ajouter et configurer des sites. Les seuls attributs requis pour un site sont le hostname et le chemin vers le dossier root. Un alias de serveur optionnel peut être ajouté.

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

Par défaut, un site est créé lorsqu'il est ajouté à la variable apache_sites. Utilisez l'attribut state avec une valeur de absent pour désactiver/retirer un site.

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

Définissez la variable enable_http_to_https_redirect pour rediriger les requêtes HTTP vers le protocole HTTPS. Assurez-vous qu'un certificat SSL a été configuré et qu'Apache est configuré pour utiliser SSL, comme détaillé ci-dessous.

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

Des directives supplémentaires pour l'hôte virtuel peuvent être ajoutées en utilisant l'attribut 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"'

Utilisez l'attribut headers pour ajouter des en-têtes de réponse du serveur.

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

Des directives de répertoire peuvent être créées en les ajoutant à l'attribut directories. Spécifiez une rule pour le répertoire et les directives à inclure dans le 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

Des directives FilesMatch peuvent être créées en les ajoutant à l'attribut filesmatches. Spécifiez une rule pour l'expression régulière et les directives à inclure dans le 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

Pour créer des fichiers journaux séparés pour des sites individuels, définissez les attributs enable_error_log et enable_access_log à true. Utilisez les attributs error_log_level et access_log_format pour configurer les journaux. Le niveau de journalisation des erreurs peut être l'un des suivants : trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, ou emerg. Par défaut, le niveau de journalisation des erreurs est warn. Pour utiliser un format de journal d'accès personnalisé, assurez-vous que le format personnalisé existe. Par défaut, le format de journal d'accès est 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

Pour utiliser HTTPS, assurez-vous qu'un certificat SSL a été installé sur le serveur. Spécifiez l'emplacement du certificat avec l'attribut ssl_certificate et l'emplacement de la clé privée avec l'attribut ssl_certificate_key. Un certificat de chaîne complet optionnel peut être utilisé en définissant la variable 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"'

Des directives et des en-têtes SSL supplémentaires peuvent être ajoutés en utilisant les attributs https_server_directives et https_headers.

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

Des directives de serveur supplémentaires peuvent être ajoutées au fichier d'hôte virtuel en utilisant l'attribut server_directives.

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

Les valeurs par défaut utilisées pour configurer un site sont montrées ci-dessus. Ajoutez n'importe lequel de ces attributs au site pour remplacer sa valeur.

Dépendances

Aucune.

Exemple de Playbook

- hosts: server
  become: yes

  tasks:
  - import_role:
      name: damianlewis.apache
À propos du projet

Installs and configures Apache

Installer
ansible-galaxy install damianlewis.apache
Licence
Unknown
Téléchargements
122
Propriétaire