damianlewis.apache

Rol de Ansible: Apache

Instala y configura Apache.

Requisitos

Ninguno.

Variables del Rol

Las variables disponibles se enumeran a continuación, consulta defaults/main.yml para ver los valores predeterminados.

apache_use_ppa: false

Para usar el repositorio PPA para instalar Apache, establece la variable apache_use_ppa en true.

apache_user: www
apache_group: www

Puedes cambiar el usuario y el grupo bajo los cuales se ejecutará Apache. Por defecto, Apache usará www-data para ambos.

apache_timeout: '100'
apache_enable_keepalive: false
apache_max_keepalive_request: '200'
apache_keepalive_timeout: '300'
apache_enable_hostname_lookups: true

Algunas de las principales directivas de configuración utilizadas por Apache pueden ser sobrescritas configurando cualquiera de las variables anteriores.

apache_log_path: /path/to/logs
apache_error_log_level: warn

Puedes configurar el registro de errores utilizando la variable apache_error_log_level. El nivel de registro de errores puede ser uno de los siguientes: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, o emerg. Por defecto, el nivel de registro de errores es warn.

Puedes sobrescribir la ubicación predeterminada donde se almacenan los archivos de registro configurando la variable apache_log_path. La ubicación predeterminada es /var/log/apache2.

apache_disable_default_site: true

Desactiva el sitio predeterminado que se instala con Apache.

apache_pid_file: logs/apache.pid

La configuración predeterminada de pid es /var/run/apache2/apache2.pid. Usa la variable apache_pid_file para sobrescribir esto.

apache_run_path: /var/run/apache2
apache_lock_path: /var/lock/apache2

Usa las variables apache_run_path y apache_lock_path para sobrescribir los valores predeterminados para las ubicaciones de archivos de estado temporales. La predeterminada para apache_run_path es /var/run/apache2 y para apache_lock_path es /var/lock/apache2.

apache_http_port: '8080'
apache_https_port: '44300'

Para sobrescribir los puertos predeterminados utilizados para HTTP y HTTPS, usa las variables apache_http_port y apache_https_port.

apache_allow_additional_confs: false

Por defecto, Apache incluirá cualquier archivo de configuración encontrado en la carpeta conf.d o conf-enabled. Para excluir estas configuraciones adicionales, establece la variable apache_allow_additional_confs en false.

apache_modules:
- name: headers
- name: rewrite
- name: ssl
  state: absent

Usa la variable apache_modules para habilitar/deshabilitar módulos de Apache. El atributo name es obligatorio y debe ser el nombre del módulo a habilitar/deshabilitar. Por defecto, cualquier módulo listado estará habilitado. Para deshabilitar un módulo, añade el atributo state con un valor de absent.

apache_sites:
- hostname: www.example.com
  root: /var/www/html
  alias: *.example.com

Usa la variable apache_sites para añadir y configurar sitios. Los únicos atributos requeridos para un sitio son el hostname y la ruta a la carpeta root. Se puede agregar un alias de servidor opcional.

apache_sites:
- hostname: example.com
  root: /var/www/html
  state: absent

Por defecto, un sitio se crea al añadirlo a la variable apache_sites. Usa el atributo state con un valor de absent para deshabilitar/eliminar un sitio.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_http_to_https_redirect: true

Establece la variable enable_http_to_https_redirect para redirigir solicitudes HTTP al protocolo HTTPS. Asegúrate de que se haya configurado un certificado SSL y que Apache esté configurado para usar SSL, como se detalla a continuación.

apache_sites:
- hostname: www.sub.example.com
  root: /var/www/subdomain/sub
  virtualhost_directives: |
    ServerPath "/sub/"
    RewriteEngine On
    RewriteRule "^(/sub/.*)" "/var/www/subdomain$1"

Se pueden agregar directivas de host virtual adicionales utilizando el atributo virtualhost_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  headers:
  - 'X-Frame-Options "DENY"'
  - 'X-Content-Type-Options "nosniff"'
  - 'X-XSS-Protection "1; mode=block"'

Usa el atributo headers para añadir encabezados de respuesta del servidor.

apache_sites:
- hostname: example.com
  root: /var/www/html
  directories:
  - rule: '/var/www/html'
    block: |
      Options -Indexes +FollowSymLinks +MultiViews
      AllowOverride All
      Require all granted

Las directivas de directorio se pueden crear añadiéndolas al atributo directories. Especifica una rule para el directorio y las directivas que se incluirán en el block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  filesmatches:
  - rule: '.+\.ph(p[3457]?|t|tml)$'
    block: |
      SetHandler proxy:unix:/run/php/php7.2-fpm.sock|fcgi://localhost

Las directivas FilesMatch se pueden crear añadiéndolas al atributo filesmatches. Especifica una rule para la expresión regular y las directivas que se incluirán en el block.

apache_sites:
- hostname: example.com
  root: /var/www/html
  enable_error_log: true
  error_log_level: warn
  enable_access_log: true
  access_log_format: main

Para crear archivos de registro separados para sitios individuales, establece los atributos enable_error_log y enable_access_log en true. Usa los atributos error_log_level y access_log_format para configurar los registros. El nivel de registro de errores puede ser uno de los siguientes: trace8, ..., trace1, debug, info, notice, warn, error, crit, alert, o emerg. Por defecto, el nivel de registro de errores es warn. Para usar un formato de registro de acceso personalizado, asegúrate de que el formato personalizado exista. Por defecto, el formato de registro de acceso es combined.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ssl_certificate: /etc/ssl/example.com/certificate.crt
  ssl_certificate_key: /etc/ssl/private/example.com.key
  ssl_certificate_chain: /etc/ssl/example.com/fullchain.pem

Para usar HTTPS, asegúrate de que se ha instalado un certificado SSL en el servidor. Especifica la ubicación del certificado usando el atributo ssl_certificate y la ubicación de la clave privada usando el atributo ssl_certificate_key. Se puede usar un certificado de cadena completa opcional configurando la variable ssl_certificate_chain.

apache_sites:
- hostname: example.com
  root: /var/www/html
  https_virtualhost_directives: |
    SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
    SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
    SSLHonorCipherOrder on
    SSLUseStapling on
    SSLCompression off
    SSLSessionTickets off
  https_headers:
  - 'Strict-Transport-Security "max-age=63072000; includeSubDomains; preload"'

Se pueden agregar directivas y encabezados adicionales de SSL utilizando los atributos https_server_directives y https_headers.

apache_sites:
- hostname: example.com
  root: /var/www/html
  server_directives: |
    SSLStaplingCache shmcb:logs/stapling-cache(150000)

Se pueden agregar directivas de servidor adicionales al archivo del host virtual utilizando el atributo server_directives.

apache_sites:
- hostname: example.com
  root: /var/www/html
  ip_address: '*'
  http_port: '80'
  https_port: '443'

Los valores predeterminados utilizados para configurar un sitio se muestran arriba. Añade cualquiera de estos atributos al sitio para sobrescribir su valor.

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: server
  become: yes

  tasks:
  - import_role:
      name: damianlewis.apache
Acerca del proyecto

Installs and configures Apache

Instalar
ansible-galaxy install damianlewis.apache
Licencia
Unknown
Descargas
122
Propietario