robertdebock.httpd

Rôle Ansible httpd

Installer et configurer httpd sur votre système.

GitHub GitLab Téléchargements Version
github gitlab downloads Version

Exemple de Playbook

Cet exemple est tiré de molecule/default/converge.yml et est testé à chaque push, demande de tirage et publication.

---
- nom: Convergence
  hôtes: tous
  devenir: vrai
  gather_facts: vrai

  vars_files:
    - ../../vars/main.yml
    - ../../defaults/main.yml

  rôles:
    - rôle: robertdebock.httpd
      # https_ssl_enable: true
      httpd_port: 8080
      httpd_ssl_port: 8443
      httpd_locations:
        - nom: ma_location
          location: /ma_location
          backend_url: "http://localhost:8080/myapplication"
      # httpd_vhosts:
      #   - nom: mon_vhost_docroot
      #     servername: www1.example.com
      #     documentroot: "{{ httpd_data_directory }}/www1.example.com"
      #   - nom: mon_vhost_backend_http
      #     servername: www2.example.com
      #     backend_url: "http://www.example.com/"
      #     serveralias:
      #       - example.com
      #       - www.example.com
      #   - nom: mon_vhost_remote
      #     servername: www3.example.com
      #     remote: "http://localhost:3128/"
      #   - nom: mon_vhost_backend_https
      #     servername: www4.example.com
      #     backend_url: "https://www.example.com/"
      #   - nom: mon_vhost_piratebay
      #     servername: piratebay.nl
      #     backend_url: "https://thepirate-bay.org/"
      #     proxy_preserve_host: Off
      #     proxy_requests: Off
      #     setenv:
      #       - nom: force-proxy-request-1.0
      #         valeur: 1
      #       - nom: proxy-nokeepalive
      #         valeur: 1
      #       - nom: proxy-initial-not-pooled
      #       - nom: proxy-sendchunks
      #         valeur: 1
      #   - nom: no_doc_root
      #     servername: nodocroot.example.com
      #     documentroot: /var/www/html/nodocroot
      #     create_docroot: false
      httpd_directories:
        - nom: mon_dossier
          path: "{{ httpd_data_directory }}/mon_dossier"
          # options:
          #   - Indexes
          #   - FollowSymLinks
          allow_override: All

La machine doit être préparée. Dans CI, cela se fait en utilisant molecule/default/prepare.yml:

---
- nom: Préparer
  hôtes: tous
  devenir: vrai
  gather_facts: faux

  rôles:
    - rôle: robertdebock.bootstrap
    - rôle: robertdebock.epel
    - rôle: robertdebock.buildtools
    - rôle: robertdebock.python_pip
    - rôle: robertdebock.openssl
      openssl_items:
        - nom: apache-httpd
          common_name: "{{ ansible_fqdn }}"

Voir aussi une explication complète et un exemple sur l'utilisation de ces rôles.

Variables de Rôle

Les valeurs par défaut pour les variables sont définies dans defaults/main.yml:

---
# fichier de défaut pour httpd

# Le nom du serveur à utiliser.
httpd_servername: "{{ ansible_fqdn }}"

# Le port non-SSL à utiliser.
httpd_port: 80

# Activer (certificats auto-signés) SSL ?
https_ssl_enable: false

# Pour configurer https, définissez le nom d'hôte à écouter.
httpd_ssl_servername: "{{ ansible_fqdn }}"

# Pour SSL, un port TCP est requis.
httpd_ssl_port: 443

# Certificat SSL :
httpd_openssl_crt: "{{ httpd_openssl_crt_directory }}/apache-httpd.crt"

# Clé SSL
httpd_openssl_key: "{{ httpd_openssl_key_directory }}/apache-httpd.key"

# Si la page "ça fonctionne" doit être conservée
httpd_remove_example: false

# Modules httpd supplémentaires à installer

httpd_additionnal_modules: []

httpd_custom_modules_to_activate_with_command: []

apache_global_vhost_settings: |
  DirectoryIndex index.php index.html

# Template à utiliser pour les vhosts. Utile pour remplacer la conf par votre propre configuration.
vhost_conf_template: vhost.conf.j2

default_vhost_conf: default_vhost.conf

Exigences

État des rôles utilisés

Les rôles suivants sont utilisés pour préparer un système. Vous pouvez préparer votre système d'une autre manière.

Exigence GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.buildtools Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab
robertdebock.openssl Build Status GitHub Build Status GitLab
robertdebock.python_pip Build Status GitHub Build Status GitLab
robertdebock.selinux Build Status GitHub Build Status GitLab

Contexte

Ce rôle fait partie de nombreux rôles compatibles. Consultez la documentation de ces rôles pour plus d'informations.

Voici un aperçu des rôles liés : dépendances

Compatibilité

Ce rôle a été testé sur ces images de conteneurs:

conteneur tags
EL 9
Debian tous
Fedora tous
Ubuntu tous

La version minimale d'Ansible requise est 2.12, des tests ont été effectués sur :

  • La version précédente.
  • La version actuelle.
  • La version de développement.

Si vous trouvez des problèmes, veuillez les signaler sur GitHub.

Licence

Apache-2.0.

Informations sur l'auteur

robertdebock

Veuillez envisager de me soutenir.

À propos du projet

Install and configure httpd on your system.

Installer
ansible-galaxy install robertdebock.httpd
Licence
apache-2.0
Téléchargements
377.4k
Propriétaire
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.