supertarto.apache
Ansible apache
Zainstaluj i skonfiguruj apache używając ansible.
Wymagania
Brak
Przetestowane platformy
- Debian 10 (Buster)
- Debian 11 (Bullseye)
- Debian 12 (Bookworm)
Zmienne roli
Usługa apache, ścieżka do konfiguracji apache oraz pakiety do zainstalowania.
apache_service: apache2
apache_server_conf: /etc/apache2
apache_packages:
- apache2
- apache2-utils
Konfiguracja portów, które mają być załadowane w ports.conf
apache_listen_port: 80
apache_ports_configuration_items:
- regexp: "^Listen "
line: "Listen {{ apache_listen_port }}"
Zmiany w security.conf dla celów produkcyjnych.
apache_server_token: Prod
apache_server_signature: "Off"
apache_trace_enabled: "Off"
apache_security_configuration_items:
- regexp: "^ServerTokens "
line: "ServerTokens {{ apache_server_token }}"
- regexp: "^ServerSignature "
line: "ServerSignature {{ apache_server_signature }}"
- regexp: "^TraceEnable "
line: "TraceEnable {{ apache_trace_enabled }}"
Lista modułów do włączenia i lista modułów do wyłączenia. Domyślna wartość to "pusta".
apache_mods_enabled: []
apache_mods_disabled: []
Czy chcesz stworzyć nowy plik vhosts? Jeśli ustawione na true, jak ma nazywać się plik konfiguracyjny?
apache_create_vhosts: true
apache_vhosts_filename: "my-vhosts.conf"
Czy musimy usunąć domyślne hosty? Jeśli ustawione na true, który plik konfiguracyjny należy usunąć? Może być również używane do usuwania niestandardowych vhosts.
apache_remove_default_vhost: true
apache_default_vhost_filename:
- 000-default.conf
apache_vhost_config służy do konfigurowania twojego wirtualnego hosta. Możesz mieć wiele vhosts. Jeśli nie chcesz ustawiać konkretnego parametru, po prostu usuń te linie. Na przykład, jeśli nie chcesz definiować serveralias lub jeśli nie potrzebujesz "location", usuń te linie.
Inne zmienne mają być wielolinijkowe: apache_vhost_config.custom_param, apache_vhost_config.directory.config, apache_vhost_config.location.config, apache_vhost_config.file.config. Nie zapomnij o wprowadzeniu "|". Oto przykład. Domyślnie apache_vhost_config jest pusty. Musisz go sam zdefiniować, aby dopasować do swoich potrzeb.
apache_vhost_config:
- listen_ip: "*"
listen_port: 80
server_name: host1
custom_param: |
Redirect / https://host1
- listen_ip: "*"
listen_port: 443
server_name: host1
serveralias: alias1
documentroot: "/var/www/html"
serveradmin: admin@localhost
custom_param: |
ProxyRequests Off
ProxyPreserveHost On
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
ssl_engine: "on"
ssl_certificate_file: /etc/ssl/certs/certif.crt
ssl_certificate_key_file: /etc/ssl/private/certif.key
ssl_certificate_chain_file: /etc/ssl/certs/chain
directory:
- path: "/var/www/html"
config: |
AllowOverride All
Order deny,allow
allow from all
- path: "/usr/lib/cgi-bin"
config: |
SSLOptions +StdEnvVars
location:
- path: "/"
config: |
Options -Indexes
Options -Includes
Options -FollowSymLinks
ProxyPass http://localhost:8080/ min=0 max=100 smax=50 ttl=10
ProxyPassReverse http://localhost/
file:
- path: '\.(cgi|shtml|phtml|php)$'
config: |
SSLOptions +StdEnvVars
Przykłady
- hosts: somehost
roles:
- supertarto.apache
vars:
apache_mods_enabled:
- ssl
apache_create_vhosts: true
apache_vhosts_filename: "mysite.conf"
apache_vhost_config:
- listen_ip: "*"
listen_port: 80
server_name: host1
custom_param: |
Redirect / https://host1
- listen_ip: "*"
listen_port: 443
server_name: host1
serveralias: alias1
documentroot: "/var/www/html"
serveradmin: admin@localhost
custom_param: |
ProxyRequests Off
ProxyPreserveHost On
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
LogLevel warn
ssl_engine: "on"
ssl_certificate_file: /etc/ssl/certs/certif.crt
ssl_certificate_key_file: /etc/ssl/private/certif.key
ssl_certificate_chain_file: /etc/ssl/certs/chain
directory:
- path: "/var/www/html"
config: |
AllowOverride All
Order deny,allow
allow from all
Instalacja
ansible-galaxy install supertarto.apache
Licencja
GPL V3.0
ansible-galaxy install supertarto.apache