robertdebock.httpd

Rol de Ansible httpd

Instalar y configurar httpd en su sistema.

GitHub GitLab Descargas Versión
github gitlab downloads Version

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

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

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: dependencias

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

Apache-2.0.

Información del autor

robertdebock

Por favor, considere patrocinarme.

Acerca del proyecto

Install and configure httpd on your system.

Instalar
ansible-galaxy install robertdebock.httpd
Licencia
apache-2.0
Descargas
377.4k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.