1 |
# apache2 -X -d /etc/frontend -e debug |
2 |
|
3 |
# apt-get install apache2 libapache2-mod-perl2 libdata-dump-perl libcommon-sense-perl |
4 |
|
5 |
#ServerRoot "/dev/null" |
6 |
Mutex pthread default |
7 |
PidFile /run/frontend.pid |
8 |
|
9 |
Timeout 30 |
10 |
KeepAlive On |
11 |
MaxKeepAliveRequests 100 |
12 |
KeepAliveTimeout 2 |
13 |
|
14 |
#TODO: should be it's own user id |
15 |
User www-data |
16 |
Group www-data |
17 |
|
18 |
GracefulShutdownTimeout 8 |
19 |
|
20 |
AddDefaultCharset UTF-8 |
21 |
# EnableSendfile On |
22 |
|
23 |
# to be sure, spell out some defaults |
24 |
HostnameLookups Off |
25 |
AllowEncodedSlashes Off |
26 |
|
27 |
# LogLevel: Control the severity of messages logged to the error_log. |
28 |
# Available values: trace8, ..., trace1, debug, info, notice, warn, |
29 |
# error, crit, alert, emerg. |
30 |
# It is also possible to configure the log level for particular modules, e.g. |
31 |
# "LogLevel info ssl:warn" |
32 |
# |
33 |
LogLevel warn |
34 |
|
35 |
# event segfaults, hangs, creates unexplained error messages... |
36 |
#LoadModule mpm_event_module /usr/lib/apache2/modules/mod_mpm_event.so |
37 |
LoadModule mpm_worker_module /usr/lib/apache2/modules/mod_mpm_worker.so |
38 |
#LoadModule mpm_prefork_module /usr/lib/apache2/modules/mod_mpm_prefork.so |
39 |
LoadModule authz_core_module /usr/lib/apache2/modules/mod_authz_core.so |
40 |
LoadModule cgi_module /usr/lib/apache2/modules/mod_cgi.so |
41 |
|
42 |
LoadModule mime_module /usr/lib/apache2/modules/mod_mime.so |
43 |
TypesConfig /etc/mime.types |
44 |
LoadModule mime_magic_module /usr/lib/apache2/modules/mod_mime_magic.so |
45 |
MIMEMagicFile /etc/apache2/magic |
46 |
|
47 |
# must not be loaded |
48 |
#LoadModule dir_module /usr/lib/apache2/modules/mod_dir.so |
49 |
#DirectoryIndex index.html |
50 |
|
51 |
LoadModule autoindex_module /usr/lib/apache2/modules/mod_autoindex.so |
52 |
IndexOptions Charset=UTF-8 FancyIndexing FoldersFirst HTMLTable SuppressColumnSorting |
53 |
HeaderName HEADER.html |
54 |
ReadmeName FOOTER.html |
55 |
|
56 |
LoadModule status_module /usr/lib/apache2/modules/mod_status.so |
57 |
|
58 |
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so |
59 |
#LoadModule proxy_fcgi_module /usr/lib/apache2/modules/mod_proxy_fcgi.so |
60 |
|
61 |
LoadModule proxy_scgi_module /usr/lib/apache2/modules/mod_proxy_scgi.so |
62 |
#ProxySCGIInternalRedirect Internal-Redirect apache 2.6 :/ |
63 |
ProxySCGIInternalRedirect On |
64 |
ProxySCGISendfile On |
65 |
|
66 |
#LoadModule proxy_fdpass_module /usr/lib/apache2/modules/mod_proxy_fdpass.so |
67 |
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so |
68 |
LoadModule xml2enc_module /usr/lib/apache2/modules/mod_xml2enc.so |
69 |
LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so |
70 |
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so |
71 |
|
72 |
LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so |
73 |
|
74 |
# Sets the default security model of the Apache2 HTTPD server. It does |
75 |
# not allow access to the root filesystem outside of /usr/share and /var/www. |
76 |
# The former is used by web applications packaged in Debian, |
77 |
# the latter may be used for local directories served by the web server. If |
78 |
# your system is serving content from a sub-directory in /srv you must allow |
79 |
# access here, or in any related virtual host. |
80 |
<Directory /> |
81 |
Options FollowSymLinks |
82 |
AllowOverride None |
83 |
Require all denied |
84 |
</Directory> |
85 |
|
86 |
<Directory /var/www/> |
87 |
Options Indexes FollowSymLinks |
88 |
Require all granted |
89 |
</Directory> |
90 |
|
91 |
AccessFileName .htaccess |
92 |
|
93 |
# |
94 |
# The following lines prevent .htaccess and .htpasswd files from being |
95 |
# viewed by Web clients. |
96 |
# |
97 |
<FilesMatch "^\.ht"> |
98 |
Require all denied |
99 |
</FilesMatch> |
100 |
|
101 |
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i" schmorp |
102 |
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined |
103 |
LogFormat "%h %l %u %t \"%r\" %>s %O" common |
104 |
LogFormat "%{Referer}i -> %U" referer |
105 |
LogFormat "%{User-agent}i" agent |
106 |
|
107 |
CustomLog /var/log/frontend/access.log schmorp env=!suppress-logging |
108 |
ErrorLog /var/log/frontend/error.log |
109 |
|
110 |
ListenBacklog 511 |
111 |
ServerLimit 1 |
112 |
#MaxClients 100 |
113 |
MaxRequestWorkers 100 |
114 |
StartServers 1 |
115 |
ThreadsPerChild 100 |
116 |
ThreadLimit 100 |
117 |
MinSpareThreads 6 |
118 |
MaxSpareThreads 100 |
119 |
|
120 |
MaxMemFree 64 |
121 |
ThreadStackSize 196608 |
122 |
|
123 |
PerlInterpStart 1 |
124 |
PerlInterpMax 1 |
125 |
PerlInterpMinSpare 0 |
126 |
PerlInterpMaxSpare 1 |
127 |
PerlInterpScope Handler |
128 |
|
129 |
Include proxy_html.conf |
130 |
|
131 |
# for debugging, enable reverse proxy url rewrite logging |
132 |
#LogLevel warn proxy_html:trace3 |
133 |
|
134 |
ProxyHTMLDocType "<!DOCTYPE html>" SGML |
135 |
ProxyHTMLExtended on |
136 |
|
137 |
# mod_proxy_html uncompresses content, but doesn't recompress nor remove |
138 |
# content-encoding header |
139 |
SetOutputFilter INFLATE;DEFLATE |
140 |
|
141 |
<Perl> |
142 |
use Apache2::ServerUtil (); |
143 |
use Apache2::Const -compile => qw(OK); |
144 |
use lib Apache2::ServerUtil::server_root; |
145 |
use proxy_impl; |
146 |
</Perl> |
147 |
|
148 |
PerlOptions None +Trans +MapToStorage +HeaderParser +Authen +Authz +Type |
149 |
|
150 |
PerlTransHandler Apache2::Const::OK |
151 |
PerlMapToStorageHandler proxy_impl::map_to_storage |
152 |
PerlHeaderParserHandler Apache2::Const::OK |
153 |
#PerlAccessHandler Apache2::Const::OK |
154 |
PerlAuthenHandler Apache2::Const::OK |
155 |
PerlAuthzHandler Apache2::Const::OK |
156 |
#PerlTypeHandler Apache2::Const::OK |
157 |
#PerlFixupHandler Apache2::Const::OK |
158 |
|
159 |
# handlers run anyway |
160 |
# fixup mod_proxy checks for proxy: handler strings |
161 |
# fixup mod_ssl annotates with lots of ssl, or updates for ssl optional |
162 |
# type mod_mime mod_mime_magic do their job |
163 |
|
164 |
# RUN_FIRST translate_name |
165 |
# RUN_FIRST map_to_storage |
166 |
# RUN_FIRST check_user_id |
167 |
# RUN_ALL fixups |
168 |
# RUN_FIRST type_checker |
169 |
# RUN_ALL access_checker |
170 |
# RUN_FIRST access_checker_ex |
171 |
# RUN_FIRST auth_checker |
172 |
# VOID insert_filter |
173 |
# RUN_ALL create_request |
174 |
# RUN_ALL post_perdir_config |
175 |
# RUN_FIRST dirwalk_stat |
176 |
|
177 |
# mod_dir fixup |
178 |
# mod_cgi response |
179 |
# mod_autoindex response |
180 |
# ap_process_request_internal() function in server/request.c |
181 |
|
182 |
<Location /> |
183 |
Options Indexes FollowSymLinks |
184 |
Require all granted |
185 |
</Location> |
186 |
|
187 |
Include local.conf |
188 |
|
189 |
# vim: syntax=apache ts=8 sw=4 |
190 |
|