buluma.httpd

Rol de Ansible httpd

Instala y configura httpd en tu sistema.

GitHub Versión Problemas Solicitudes de extracción Descargas
github Versión Problemas Solicitudes de extracción Rol de Ansible

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada envío, solicitud de extracción y liberación.

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

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

  pre_tasks:
    - name: Actualizar caché de 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 máquina necesita ser preparada. En CI, esto se hace usando molecule/default/prepare.yml:

---
- name: Preparar
  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 }}"

También puedes ver una explicación completa y un ejemplo sobre cómo usar estos roles.

Variables del rol

Los valores predeterminados para las variables están definidos 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 usar.
httpd_port: 80

# ¿Habilitar SSL (certificados autofirmados)?
https_ssl_enable: false

# Para configurar https, establece el nombre del host al que 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 la página "funciona" debe ser mantenida.
httpd_remove_example: false

# Módulos httpd adicionales para instalar.

httpd_additionnal_modules: []

httpd_custom_modules_to_activate_with_command: []

apache_global_vhost_settings: |
  DirectoryIndex index.php index.html

# Plantilla a usar para vhosts. Útil para anular la configuración con tu propia configuración.
vhost_conf_template: vhost.conf.j2

default_vhost_conf: default_vhost.conf

Requisitos

Estado de los roles utilizados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisitos GitHub Versión
buluma.bootstrap Ansible Molecule Versión
buluma.buildtools Ansible Molecule Versión
buluma.epel Ansible Molecule Versión
buluma.openssl Ansible Molecule Versión
buluma.python_pip Ansible Molecule Versión
buluma.selinux Ansible Molecule Versión

Contexto

Este rol es parte de muchos roles compatibles. Consulta 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 ha sido probado en estas imágenes de contenedores:

contenedor etiquetas
EL 8, 9
Debian todas
Fedora todas
opensuse todas
Ubuntu jammy, focal, bionic, lunar, noble

La versión mínima de Ansible requerida es 2.12, las pruebas se han realizado en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, por favor regístralos en GitHub

Registro de cambios

Historia del rol

Licencia

Apache-2.0

Información del autor

Shadow Walker

Acerca del proyecto

Install and configure httpd on your system.

Instalar
ansible-galaxy install buluma.httpd
Licencia
apache-2.0
Descargas
528.9k
Propietario
DevOps Engineer