ba2368907d
* remove -ng stuff * remove ng from template * remove -ng from readme * manage listen directive with disabled vhosts * add json filter * remove hardcoded path
123 lines
3.9 KiB
YAML
123 lines
3.9 KiB
YAML
# server configuration and any vhost configuration have the same data structure
|
|
# This data structure is similar to below :
|
|
#
|
|
# directives: # list of top level directives/values
|
|
# - directive_1: value_1
|
|
# - directive_2: value_2
|
|
# - directive_3: value_3
|
|
# containers: # any type of httpd container
|
|
# container_name_1: # Files|Directory|DirectoryMatch|Proxy|location|locationMatch ...
|
|
# -
|
|
# item: 'path/to/1' # label, path or whatever that container applies to
|
|
# directives: # list of directives into this container
|
|
# - directive_1: value_1
|
|
# ...
|
|
# -
|
|
# item: '/path/to/2'
|
|
# direcives:
|
|
# - ...
|
|
# containers: # nested containers in /path/to/2
|
|
# nested_c_1:
|
|
# - item: '...'
|
|
# directives:
|
|
# - ...
|
|
# container_name_2:
|
|
# -
|
|
# item: '...'
|
|
# ...
|
|
|
|
# ``apache`` formula configuration:
|
|
apache:
|
|
|
|
# By default apache restart/reload states run (false skips)
|
|
manage_service_states: True
|
|
|
|
# lookup section overrides ``map.jinja`` values
|
|
lookup:
|
|
server: apache2
|
|
service: apache2
|
|
user: some_system_user
|
|
group: some_system_group
|
|
|
|
vhostdir: /etc/apache2/sites-available
|
|
confdir: /etc/apache2/conf.d
|
|
confext: .conf
|
|
logdir: /var/log/apache2
|
|
wwwdir: /srv/apache2
|
|
|
|
# apache version (generally '2.2' or '2.4')
|
|
version: '2.2'
|
|
|
|
# ``apache.mod_wsgi`` formula additional configuration:
|
|
mod_wsgi: mod_wsgi
|
|
|
|
# global (server) apache directives
|
|
server_apache_config: # this content will populate httpd.conf
|
|
directives:
|
|
- AllowEncodedSlashes: 'On'
|
|
- Timeout: 5
|
|
containers:
|
|
IfModule:
|
|
-
|
|
item: 'mime_module'
|
|
directives:
|
|
- AddType: 'application/x-font-ttf ttc ttf'
|
|
- AddType: 'application/x-font-opentype otf'
|
|
- AddType: 'application/x-font-woff woff2'
|
|
|
|
|
|
# ``apache.vhosts.vhost-ng`` formula additional configuration:
|
|
VirtualHost:
|
|
example.com: # <-- site_name : can be the real ServerName or a virtual name
|
|
item: '*:8080' # simple example
|
|
directives:
|
|
- ServerName: 'example.com' # if not defined default is site_name
|
|
- ServerAdmin: 'webmaster@example.com'
|
|
- DocumentRoot: '/path/to/www/dir/example.com'
|
|
- LogLevel: 'warn'
|
|
containers:
|
|
Location:
|
|
-
|
|
item: '/test.html'
|
|
directives:
|
|
- Require: 'all granted'
|
|
my_reverse_proxy: # example with a virtual site_name
|
|
item: '*:80' # vhost with proxypass
|
|
directives:
|
|
- ServerName: 'rp-example.com'
|
|
- ServerAdmin: 'webmaster@example.com'
|
|
- DocumentRoot: '/path/to/www/dir/rp-example.com'
|
|
- LogLevel: 'warn'
|
|
- ProxyPass: '/ balancer://cluster_1'
|
|
- ProxyPassReverse: '/ balancer://cluster_1'
|
|
- ProxyPreserveHost: 'On'
|
|
containers:
|
|
Proxy:
|
|
-
|
|
item: 'balancer://cluster_1'
|
|
directives:
|
|
- BalancerMember: 'http://my_backend_1:8081 route=backend-1-8081 timeout=240 retry=120'
|
|
- BalancerMember: 'http://my_backend_2:8081 route=backend-2-8081 timeout=240 retry=120'
|
|
- ProxySet: 'stickysession=JSESSIONID|jsessionid nofailover=off maxattempts=1'
|
|
unused_vhost:
|
|
item: '*:80'
|
|
absent: True # Delete this vhost
|
|
directives:
|
|
- ServerName: 'to-delete-example.com'
|
|
- ServerAdmin: 'webmaster@example.com'
|
|
- DocumentRoot: '/path/to/www/dir/to-delete-example.com'
|
|
- LogLevel: 'warn'
|
|
containers:
|
|
Location:
|
|
-
|
|
item: '/test.html'
|
|
directives:
|
|
- Require: 'all granted'
|
|
|
|
modules:
|
|
enabled: # List modules to enable
|
|
- ldap
|
|
- ssl
|
|
disabled: # List modules to disable
|
|
- rewrite
|