robertdebock.httpd
Rol de Ansible httpd
Instalar y configurar httpd en su sistema.
| GitHub | GitLab | Descargas | Versión | 
|---|---|---|---|
Ejemplo de Playbook
Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, pull request y lanzamiento.
---
- nombre: Converger
  hosts: all
  become: true
  gather_facts: true
  vars_files:
    - ../../vars/main.yml
    - ../../defaults/main.yml
  roles:
    - role: robertdebock.httpd
      # https_ssl_enable: true
      httpd_port: 8080
      httpd_ssl_port: 8443
      httpd_locations:
        - name: mi_ubicación
          location: /mi_ubicación
          backend_url: "http://localhost:8080/miaplicación"
      # httpd_vhosts:
      #   - name: mi_vhost_docroot
      #     servername: www1.ejemplo.com
      #     documentroot: "{{ httpd_data_directory }}/www1.ejemplo.com"
      #   - name: mi_vhost_backend_http
      #     servername: www2.ejemplo.com
      #     backend_url: "http://www.ejemplo.com/"
      #     serveralias:
      #       - ejemplo.com
      #       - www.ejemplo.com
      #   - name: mi_vhost_remoto
      #     servername: www3.ejemplo.com
      #     remote: "http://localhost:3128/"
      #   - name: mi_vhost_backend_https
      #     servername: www4.ejemplo.com
      #     backend_url: "https://www.ejemplo.com/"
      #   - name: mi_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.ejemplo.com
      #     documentroot: /var/www/html/nodocroot
      #     create_docroot: false
      httpd_directories:
        - name: mi_directorio
          path: "{{ httpd_data_directory }}/mi_directorio"
          # options:
          #   - Indexes
          #   - FollowSymLinks
          allow_override: All
La máquina debe ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:
---
- nombre: Preparar
  hosts: all
  become: true
  gather_facts: false
  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.epel
    - role: robertdebock.buildtools
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
Vea también una explicación completa y un ejemplo sobre cómo usar estos roles.
Variables de Rol
Los valores predeterminados para las variables están establecidos en defaults/main.yml:
---
# archivo de valores predeterminados para httpd
# El nombre del servidor a usar.
httpd_servername: "{{ ansible_fqdn }}"
# El puerto no SSL a utilizar.
httpd_port: 80
# ¿Habilitar SSL (certificados autofirmados)?
https_ssl_enable: false
# Para configurar https, establezca el nombre de host para escuchar.
httpd_ssl_servername: "{{ ansible_fqdn }}"
# Para SSL se requiere un puerto TCP.
httpd_ssl_port: 443
# Certificado SSL:
httpd_openssl_crt: "{{ httpd_openssl_crt_directory }}/apache-httpd.crt"
# Clave SSL
httpd_openssl_key: "{{ httpd_openssl_key_directory }}/apache-httpd.key"
# Si se debe mantener la página "funciona"
httpd_remove_example: false
# Módulos httpd adicionales a instalar
httpd_additionnal_modules: []
httpd_custom_modules_to_activate_with_command: []
apache_global_vhost_settings: |
  DirectoryIndex index.php index.html
# Plantilla para usar para vhosts. Útil para reemplazar la configuración por su propia configuración.
vhost_conf_template: vhost.conf.j2
default_vhost_conf: default_vhost.conf
Requisitos
- paquetes pip listados en requirements.txt.
 
Estado de roles utilizados
Los siguientes roles se utilizan para preparar un sistema. Puede preparar su sistema de otra manera.
| Requisito | GitHub | GitLab | 
|---|---|---|
| robertdebock.bootstrap | ||
| robertdebock.buildtools | ||
| robertdebock.epel | ||
| robertdebock.openssl | ||
| robertdebock.python_pip | ||
| robertdebock.selinux | 
Contexto
Este rol es parte de muchos roles compatibles. Eche un vistazo a la documentación de estos roles para más información.
Aquí hay una visión general de los roles relacionados:

Compatibilidad
Este rol se ha probado en estas imágenes de contenedores:
| contenedor | etiquetas | 
|---|---|
| EL | 9 | 
| Debian | todas | 
| Fedora | todas | 
| Ubuntu | todas | 
La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:
- La versión anterior.
 - La versión actual.
 - La versión de desarrollo.
 
Si encuentra problemas, por favor regístrelos en GitHub.
Licencia
Información del autor
Por favor, considere patrocinarme.
Install and configure httpd on your system.
ansible-galaxy install robertdebock.httpd