acc495ce1a5b0e9eb7c5157eb44a2f548f3d9617
[working/Evergreen.git] / Open-ILS / examples / apache / eg.conf.in
1 # :vim set syntax apache
2
3 LogLevel info 
4 # - log locally
5 # CustomLog /var/log/apache2/access.log combined
6 # ErrorLog /var/log/apache2/error.log
7 # - log to syslog 
8 CustomLog "|/usr/bin/logger -p local7.info" common
9 ErrorLog syslog:local7
10
11
12 # ----------------------------------------------------------------------------------
13 # Set up Perl 
14 # ----------------------------------------------------------------------------------
15
16 # - needed by CGIs
17 PerlRequire /etc/apache2/eg_startup
18 PerlChildInitHandler OpenILS::WWW::Reporter::child_init
19 PerlChildInitHandler OpenILS::WWW::SuperCat::child_init
20 PerlChildInitHandler OpenILS::WWW::AddedContent::child_init
21 PerlChildInitHandler OpenILS::WWW::AutoSuggest::child_init
22
23 # ----------------------------------------------------------------------------------
24 # Set some defaults for our working directories
25 # ----------------------------------------------------------------------------------
26 <Directory @localstatedir@/web>
27     Order allow,deny
28     Allow from all
29 </Directory>
30
31
32 # ----------------------------------------------------------------------------------
33 # XUL directory
34 # ----------------------------------------------------------------------------------
35 <Directory @localstatedir@/web/xul>
36    Options Indexes FollowSymLinks
37    AllowOverride None
38    Order allow,deny
39    Allow from all
40 </Directory>
41
42
43 # ----------------------------------------------------------------------------------
44 # Remove the language portion from the URL
45 # ----------------------------------------------------------------------------------
46 AliasMatch ^/opac/.*/skin/(.*)/(.*)/(.*) @localstatedir@/web/opac/skin/$1/$2/$3
47 AliasMatch ^/opac/.*/extras/slimpac/(.*) @localstatedir@/web/opac/extras/slimpac/$1
48 AliasMatch ^/opac/.*/extras/selfcheck/(.*) @localstatedir@/web/opac/extras/selfcheck/$1
49
50
51
52 # ----------------------------------------------------------------------------------
53 # System config CGI scripts go here
54 # ----------------------------------------------------------------------------------
55 Alias /cgi-bin/offline/ "@localstatedir@/cgi-bin/offline/"
56 <Directory "@localstatedir@/cgi-bin/offline">
57         AddHandler cgi-script .cgi .pl
58         AllowOverride None
59         Options None
60         Order deny,allow
61         Deny from all
62         Allow from 10.0.0.0/8
63         Options FollowSymLinks ExecCGI Indexes
64 </Directory>
65
66
67 # ----------------------------------------------------------------------------------
68 # Updates folder
69 # ----------------------------------------------------------------------------------
70 Alias /updates/ "@localstatedir@/updates/pub/"
71 <Directory "@localstatedir@/updates/pub">
72         <Files check>
73                 ForceType cgi-script
74         </Files>
75         <Files update.rdf>
76                 ForceType cgi-script
77         </Files>
78         <Files manualupdate.html>
79                 ForceType cgi-script
80         </Files>
81         <Files download>
82                 ForceType cgi-script
83         </Files>
84         AllowOverride None
85         Options None
86         Allow from all
87         Options ExecCGI
88 </Directory>
89
90
91 # ----------------------------------------------------------------------------------
92 # OPTIONAL: Set how long the client will cache our content.  Change to suit
93 # ----------------------------------------------------------------------------------
94 ExpiresActive On
95 ExpiresDefault "access plus 1 month"
96 ExpiresByType text/html "access plus 18 hours"
97 ExpiresByType application/xhtml+xml "access plus 18 hours"
98 ExpiresByType application/x-javascript "access plus 18 hours"
99 ExpiresByType application/javascript "access plus 18 hours"
100 ExpiresByType text/css "access plus 50 minutes"
101
102 # ----------------------------------------------------------------------------------
103 # Set up our SSL virtual host
104 # ----------------------------------------------------------------------------------
105 #Listen 443
106 NameVirtualHost *:443
107 <VirtualHost *:443>
108         DocumentRoot "@localstatedir@/web"
109         ServerName localhost:443
110         ServerAlias 127.0.0.1:443
111         SSLEngine on
112         SSLHonorCipherOrder On
113         SSLCipherSuite ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!EDH:!AESGCM
114
115     # If you don't have an SSL cert, you can create self-signed 
116     # certificate and key with:
117     # openssl req -new -x509 -nodes -out server.crt -keyout server.key
118         SSLCertificateFile ssl/server.crt
119         SSLCertificateKeyFile ssl/server.key
120
121     # - absorb the shared virtual host settings
122     Include eg_vhost.conf
123
124     # help IE along with SSL pages
125     SetEnvIf User-Agent ".*MSIE [1-5].*" \
126         nokeepalive ssl-unclean-shutdown \
127         downgrade-1.0 force-response-1.0
128
129     SetEnvIf User-Agent ".*MSIE [6-9].*" \
130         ssl-unclean-shutdown
131
132 </VirtualHost>
133
134 # ----------------------------------------------------------------------------------
135 # Set up our main virtual host
136 # Port 80 comes after 443 to avoid "unknown protocol speaking not SSL to HTTPS port!?" 
137 # errors, per http://wiki.apache.org/httpd/InternalDummyConnection
138 # ----------------------------------------------------------------------------------
139
140 # Commented to avoid warnings from duplicate "NameVirtualHost: *80" directives
141 #NameVirtualHost *:80
142 <VirtualHost *:80>
143         ServerName localhost:80
144         ServerAlias 127.0.0.1:80
145         DocumentRoot @localstatedir@/web/
146         DirectoryIndex index.xml index.html index.xhtml
147     # - absorb the shared virtual host settings
148     Include eg_vhost.conf
149 </VirtualHost>
150