buluma.httpd

Rôle Ansible httpd

Installer et configurer httpd sur votre système.

GitHub Version Problèmes Demandes de fusion Téléchargements
github Version Issues PullRequests Ansible Role

Exemple de Playbook

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

---
- name: Converger
  hosts: all
  become: true
  gather_facts: true

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

  pre_tasks:
    - name: Mettre à jour le cache apt.
      apt: update_cache=true cache_valid_time=600
      when: ansible_os_family == 'Debian'

  roles:
    - role: buluma.httpd
      # https_ssl_enable: true
      httpd_port: 8080
      httpd_ssl_port: 8443
      httpd_locations:
        - name: my_location
          location: /my_location
          backend_url: "http://localhost:8080/myapplication"
      # httpd_vhosts:
      #   - name: my_vhost_docroot
      #     servername: www1.example.com
      #     documentroot: "{{ httpd_data_directory }}/www1.example.com"
      #   - name: my_vhost_backend_http
      #     servername: www2.example.com
      #     backend_url: "http://www.example.com/"
      #     serveralias:
      #       - example.com
      #       - www.example.com
      #   - name: my_vhost_remote
      #     servername: www3.example.com
      #     remote: "http://localhost:3128/"
      #   - name: my_vhost_backend_https
      #     servername: www4.example.com
      #     backend_url: "https://www.example.com/"
      #   - name: my_vhost_piratebay
      #     servername: piratebay.nl
      #     backend_url: "https://thepirate-bay.org/"
      #     proxy_preserve_host: Off
      #     proxy_requests: Off
      #     setenv:
      #       - name: force-proxy-request-1.0
      #         value: 1
      #       - name: proxy-nokeepalive
      #         value: 1
      #       - name: proxy-initial-not-pooled
      #       - name: proxy-sendchunks
      #         value: 1
      #   - name: no_doc_root
      #     servername: nodocroot.example.com
      #     documentroot: /var/www/html/nodocroot
      #     create_docroot: false
      httpd_directories:
        - name: my_directory
          path: "{{ httpd_data_directory }}/my_directory"
          # options:
          #   - Indexes
          #   - FollowSymLinks
          allow_override: All

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

---
- name: Préparer
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: buluma.bootstrap
    - role: buluma.epel
    - role: buluma.buildtools
    - role: buluma.python_pip
    - role: buluma.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"

Voir aussi une explication complète et un exemple sur comment utiliser ces rôles.

Variables de rôle

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

---
# fichier de valeurs par défaut pour httpd

# Le nom de 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éfinir 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

# Modèle à utiliser pour les vhosts. Utile pour remplacer la configuration par votre propre installation.
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 Version
buluma.bootstrap Ansible Molecule Version
buluma.buildtools Ansible Molecule Version
buluma.epel Ansible Molecule Version
buluma.openssl Ansible Molecule Version
buluma.python_pip Ansible Molecule Version
buluma.selinux Ansible Molecule Version

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 associés :

dépendances

Compatibilité

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

conteneur tags
EL 8, 9
Debian toutes
Fedora toutes
opensuse toutes
Ubuntu jammy, focal, bionic, lunar, noble

La version minimum 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

Journal des modifications

Historique du rôle

Licence

Apache-2.0

Informations sur l'auteur

Shadow Walker

À propos du projet

Install and configure httpd on your system.

Installer
ansible-galaxy install buluma.httpd
Licence
apache-2.0
Téléchargements
528.9k
Propriétaire
DevOps Engineer