PROJECT_MOVED -> https://lab.nexedi.com/nexedi/slapos
[slapos.git] / stack / monitor / cgi-httpd.conf.in
1 PidFile "{{ httpd_configuration.get('pid-file') }}"
2
3 StartServers 1
4 ServerLimit 1
5 ThreadLimit 4
6 ThreadsPerChild 4
7
8 ServerName example.com
9 ServerAdmin someone@email
10 <IfDefine !MonitorPort>
11 Listen [{{ httpd_configuration.get('listening-ip') }}]:{{ monitor_parameters.get('port') }}
12 Define MonitorPort
13 </IfDefine>
14 DocumentRoot "{{ directory.get('www') }}"
15 ErrorLog "{{ httpd_configuration.get('error-log') }}"
16 LoadModule unixd_module modules/mod_unixd.so
17 LoadModule access_compat_module modules/mod_access_compat.so
18 LoadModule authz_core_module modules/mod_authz_core.so
19 LoadModule authn_core_module modules/mod_authn_core.so
20 LoadModule authz_host_module modules/mod_authz_host.so
21 LoadModule mime_module modules/mod_mime.so
22 LoadModule cgid_module modules/mod_cgid.so
23 LoadModule dir_module modules/mod_dir.so
24 LoadModule ssl_module modules/mod_ssl.so
25 LoadModule alias_module modules/mod_alias.so
26 LoadModule autoindex_module modules/mod_autoindex.so
27 LoadModule auth_basic_module modules/mod_auth_basic.so
28 LoadModule authz_user_module modules/mod_authz_user.so
29 LoadModule authn_file_module modules/mod_authn_file.so
30 LoadModule proxy_module      modules/mod_proxy.so
31 LoadModule proxy_http_module modules/mod_proxy_http.so
32 LoadModule rewrite_module modules/mod_rewrite.so
33
34 # SSL Configuration
35 <IfDefine !SSLConfigured>
36 Define SSLConfigured
37 SSLCertificateFile {{ httpd_configuration.get('certificate') }}
38 SSLCertificateKeyFile {{ httpd_configuration.get('key') }}
39 SSLRandomSeed startup builtin
40 SSLRandomSeed connect builtin
41 SSLRandomSeed startup /dev/urandom 256
42 SSLRandomSeed connect builtin
43 SSLProtocol -ALL +SSLv3 +TLSv1
44 SSLHonorCipherOrder On
45 SSLCipherSuite RC4-SHA:HIGH:!ADH
46 </IfDefine>
47 SSLEngine   On
48 ScriptSock {{ httpd_configuration.get('cgid-pid-file') }}
49 <Directory {{ directory.get('www') }}>
50   SSLVerifyDepth    1
51   SSLRequireSSL
52   SSLOptions        +StrictRequire
53   # XXX: security????
54   Options +ExecCGI
55   AddHandler cgi-script .cgi
56   DirectoryIndex {{ monitor_parameters.get('index-filename') }}
57 </Directory>
58 Alias /private/ {{ directory.get('private-directory') }}/
59 <Directory {{ directory.get('private-directory') }}>
60 Order Deny,Allow
61 Deny from env=AUTHREQUIRED
62 <Files ".??*">
63   Order Allow,Deny
64   Deny from all
65 </Files>
66 AuthType Basic
67 AuthName "Private access"
68 AuthUserFile "{{ monitor_parameters.get('htaccess-file') }}"
69 Require valid-user
70 Options Indexes FollowSymLinks
71 Satisfy all
72 </Directory>
73
74 <Location /rewrite>
75 AuthType Basic
76 AuthName "Private access"
77 AuthUserFile "{{ monitor_parameters.get('htaccess-file') }}"
78 Require valid-user
79 </Location>
80
81 ProxyVia On
82 RewriteEngine On
83 {% for key, value in monitor_rewrite_rule.iteritems() %}
84 RewriteRule ^/rewrite/{{ key }}($|/.*) {{ value }}/$1 [P,L]
85 {% endfor %}