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 IgnoreCase SuppressColumnSorting NameWidth=* SuppressDescription SuppressIcon |
53 |
HeaderName HEADER.html |
54 |
ReadmeName FOOTER.html |
55 |
|
56 |
LoadModule status_module /usr/lib/apache2/modules/mod_status.so |
57 |
#ExtendedStatus Off # ON is the default |
58 |
|
59 |
LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so |
60 |
LoadModule proxy_wstunnel_module /usr/lib/apache2/modules/mod_proxy_wstunnel.so |
61 |
#LoadModule proxy_fcgi_module /usr/lib/apache2/modules/mod_proxy_fcgi.so |
62 |
|
63 |
LoadModule proxy_scgi_module /usr/lib/apache2/modules/mod_proxy_scgi.so |
64 |
#ProxySCGIInternalRedirect Internal-Redirect apache 2.6 :/ |
65 |
ProxySCGIInternalRedirect On |
66 |
ProxySCGISendfile On |
67 |
ProxyTimeout 120 |
68 |
|
69 |
#LoadModule proxy_fdpass_module /usr/lib/apache2/modules/mod_proxy_fdpass.so |
70 |
LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so |
71 |
LoadModule xml2enc_module /usr/lib/apache2/modules/mod_xml2enc.so |
72 |
#LoadModule deflate_module /usr/lib/apache2/modules/mod_deflate.so |
73 |
LoadModule proxy_html_module /usr/lib/apache2/modules/mod_proxy_html.so |
74 |
|
75 |
LoadModule perl_module /usr/lib/apache2/modules/mod_perl.so |
76 |
|
77 |
#<Directory /> |
78 |
# Options FollowSymLinks |
79 |
# AllowOverride None |
80 |
## Require all denied |
81 |
#</Directory> |
82 |
|
83 |
#AccessFileName .htaccess |
84 |
|
85 |
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %{Host}i" schmorp |
86 |
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined |
87 |
LogFormat "%h %l %u %t \"%r\" %>s %O" common |
88 |
LogFormat "%{Referer}i -> %U" referer |
89 |
LogFormat "%{User-agent}i" agent |
90 |
|
91 |
CustomLog /var/log/frontend/access.log schmorp env=!suppress-logging |
92 |
ErrorLog /var/log/frontend/error.log |
93 |
|
94 |
ListenBacklog 511 |
95 |
ServerLimit 1 |
96 |
#MaxClients 100 |
97 |
MaxRequestWorkers 100 |
98 |
StartServers 1 |
99 |
ThreadsPerChild 100 |
100 |
ThreadLimit 100 |
101 |
MinSpareThreads 6 |
102 |
MaxSpareThreads 100 |
103 |
|
104 |
MaxMemFree 64 |
105 |
ThreadStackSize 196608 |
106 |
|
107 |
PerlInterpStart 1 |
108 |
PerlInterpMax 1 |
109 |
PerlInterpMinSpare 0 |
110 |
PerlInterpMaxSpare 1 |
111 |
#PerlInterpScope Handler |
112 |
|
113 |
Include proxy_html.conf |
114 |
|
115 |
# for debugging, enable reverse proxy url rewrite logging |
116 |
#LogLevel warn proxy_html:trace3 |
117 |
|
118 |
ProxyHTMLDocType "<!DOCTYPE html>" SGML |
119 |
ProxyHTMLExtended on |
120 |
|
121 |
# mod_proxy_html uncompresses content, but doesn't recompress nor remove |
122 |
# content-encoding header |
123 |
#SetOutputFilter INFLATE;DEFLATE |
124 |
|
125 |
<Perl> |
126 |
use Apache2::ServerUtil (); |
127 |
use Apache2::Const -compile => qw(OK); |
128 |
use lib Apache2::ServerUtil::server_root; |
129 |
use proxy_impl; |
130 |
</Perl> |
131 |
|
132 |
PerlOptions None +Trans +MapToStorage +HeaderParser +Authz +Type |
133 |
|
134 |
PerlTransHandler Apache2::Const::OK |
135 |
PerlMapToStorageHandler proxy_impl::map_to_storage |
136 |
PerlHeaderParserHandler Apache2::Const::OK |
137 |
|
138 |
#PerlAuthenHandler Apache2::Const::OK |
139 |
PerlAuthzHandler Apache2::Const::OK |
140 |
|
141 |
# always runs all |
142 |
#PerlAccessHandler Apache2::Const::OK |
143 |
#PerlTypeHandler Apache2::Const::OK |
144 |
#PerlFixupHandler Apache2::Const::OK |
145 |
|
146 |
# handlers run anyway |
147 |
# fixup mod_proxy checks for proxy: handler strings |
148 |
# fixup mod_ssl annotates with lots of ssl, or updates for ssl optional |
149 |
# type mod_mime mod_mime_magic do their job |
150 |
|
151 |
# RUN_FIRST translate_name |
152 |
# RUN_FIRST map_to_storage |
153 |
# RUN_FIRST check_user_id |
154 |
# RUN_ALL fixups |
155 |
# RUN_FIRST type_checker |
156 |
# RUN_ALL access_checker |
157 |
# RUN_FIRST access_checker_ex |
158 |
# RUN_FIRST auth_checker |
159 |
# VOID insert_filter |
160 |
# RUN_ALL create_request |
161 |
# RUN_ALL post_perdir_config |
162 |
# RUN_FIRST dirwalk_stat |
163 |
|
164 |
# mod_dir fixup |
165 |
# mod_cgi response |
166 |
# mod_autoindex response |
167 |
# ap_process_request_internal() function in server/request.c |
168 |
|
169 |
<Location /> |
170 |
Options Indexes FollowSymLinks |
171 |
# Require all granted |
172 |
</Location> |
173 |
|
174 |
Include local.conf |
175 |
|
176 |
# vim: syntax=apache ts=8 sw=4 |
177 |
|