Make scores of webserver related templates compile
[mirror/dsa-puppet.git] / modules / roles / templates / apache-www.debian.org.erb
1 ##
2 ## THIS FILE IS UNDER PUPPET CONTROL. DON'T EDIT IT HERE.
3 ## USE: git clone git+ssh://$USER@puppet.debian.org/srv/puppet.debian.org/git/dsa-puppet.git
4 ##
5
6 # Need to turn on negotiation_module
7 <Directory <%= @wwwdo_document_root %>/>
8   Options +MultiViews +FollowSymLinks +Indexes
9   AddHandler type-map var
10   # Make sure that the srm.conf directive is commented out.
11   AddDefaultCharSet Off
12   AllowOverride AuthConfig FileInfo
13   Require all granted
14
15   # Serve icons as image/x-icon
16   AddType image/x-icon .ico
17
18   # Serve RSS feeds as application/rss+xml
19   AddType application/rss+xml .rdf
20
21   # Nice caching..
22   ExpiresActive On
23   ExpiresDefault "access plus 1 day"
24   ExpiresByType image/gif "access plus 1 week"
25   ExpiresByType image/jpeg "access plus 1 week"
26   ExpiresByType image/png "access plus 1 week"
27   ExpiresByType image/x-icon "access plus 1 week"
28
29   # FileEtag needs to be the same across mirrors (used for caching, ignore inode)
30   FileEtag MTime Size
31
32   # language stuff, for web site translations
33   # for boot-floppies docs only: sk
34   AddLanguage en .en
35   AddLanguage en-us .en-us
36   AddLanguage en-gb .en-gb
37   AddLanguage ar .ar
38   AddLanguage bg .bg
39   AddLanguage ca .ca
40   AddLanguage cs .cs
41   AddLanguage da .da
42   AddLanguage de .de
43   AddLanguage el .el
44   AddLanguage eo .eo
45   AddLanguage es .es
46   AddLanguage fi .fi
47   AddLanguage fr .fr
48   AddLanguage hr .hr
49   AddLanguage hu .hu
50   AddLanguage hy .hy
51   AddLanguage id .id
52   AddLanguage it .it
53   AddLanguage ja .ja
54   AddLanguage ko .ko
55   AddLanguage lt .lt
56   AddLanguage nl .nl
57   AddLanguage no .no
58   AddLanguage nb .nb
59   AddLanguage pl .pl
60   AddLanguage pt .pt
61   AddLanguage pt-br .pt-br
62   AddLanguage ro .ro
63   AddLanguage ru .ru
64   AddLanguage sk .sk
65   AddLanguage sl .sl
66   AddLanguage sv .sv
67   AddLanguage tr .tr
68   AddLanguage uk .uk
69   AddLanguage vi .vi
70   AddLanguage zh-CN .zh-cn
71   AddLanguage zh-HK .zh-hk
72   AddLanguage zh-TW .zh-tw
73   LanguagePriority en fr de it es ja pl hr da pt pt-br fi zh-cn zh-hk zh-tw cs sv ko no nb ru tr eo ar nl hu ro sk el ca en-us en-gb id lt sl bg uk hy vi
74
75   DirectoryIndex maintenance index index.html index.shtml index.htm
76
77   <Files *.html.es>
78     ForceType text/html
79   </Files>
80
81   <Files *.pdf.es>
82     ForceType application/pdf
83   </Files>
84
85   <Files *.txt.es>
86     ForceType text/plain
87   </Files>
88 </Directory>
89
90 <Macro common-www-other.d.o>
91    ServerName debian.org
92    ServerAdmin webmaster@debian.org
93
94    ServerAlias www.at.debian.org
95    ServerAlias www.au.debian.org
96    ServerAlias www.bg.debian.org
97    ServerAlias www.br.debian.org
98    ServerAlias www.cn.debian.org
99    ServerAlias www.de.debian.org
100    ServerAlias www.es.debian.org
101    ServerAlias www.fr.debian.org
102    ServerAlias www.hk.debian.org
103    ServerAlias www.id.debian.org
104    ServerAlias www.jp.debian.org
105    ServerAlias www.nl.debian.org
106    ServerAlias www.pl.debian.org
107    ServerAlias www.ru.debian.org
108    ServerAlias www.ua.debian.org
109    ServerAlias www.uk.debian.org
110    ServerAlias www.us.debian.org
111    ServerAlias www.za.debian.org
112
113    ServerAlias www.debian.net
114    ServerAlias debian.net
115
116    ServerAlias www.debian.eu
117    ServerAlias debian.eu
118
119    ServerAlias www.debian.fi
120    ServerAlias debian.fi
121
122    ServerAlias www.debian.nl
123    ServerAlias debian.nl
124
125    ServerAlias www.debian.com
126    ServerAlias debian.com
127
128    ServerAlias debian.us
129    ServerAlias www.debian.us
130
131    ServerAlias debian.gr
132    ServerAlias www.debian.gr
133
134    ServerAlias www.debian.es
135    ServerAlias debian.es
136
137    ServerAlias www.debian.org.tw
138    ServerAlias debian.org.tw
139
140    ServerAlias www.debian.at
141    ServerAlias www.debian.de
142    ServerAlias newwww.deb.at
143
144    DocumentRoot <%= @wwwdo_document_root %>/
145    LogFormat "0.0.0.0 - %u %{[%d/%b/%Y:00:00:00 %z]}t \"%r\" %>s %b \"%{Referer}i\" \"-\" %V" privacy+host
146    ErrorLog /var/log/apache2/www-other.debian.org-error.log
147    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy+host
148 </Macro>
149
150 <Macro common-www.d.o>
151    ServerName www.debian.org
152    ServerAdmin webmaster@debian.org
153    ServerAlias www-*.debian.org
154    <% if scope.function_onion_global_service_hostname(['www.debian.org']) -%>
155    ServerAlias <%= scope.function_onion_global_service_hostname(['www.debian.org']) %>
156    <% end %>
157
158    DocumentRoot <%= @wwwdo_document_root %>/
159
160    # CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
161    # document that was negotiated on the basis of content. This asks proxy
162    # servers not to cache the document. Uncommenting the following line disables
163    # this behavior, and proxies will be allowed to cache the documents.
164    CacheNegotiatedDocs On
165
166 # Custom Error
167    ErrorDocument 404 /devel/website/errors/404
168    RewriteCond %{DOCUMENT_ROOT}/devel/website/errors/404.$2.html -f
169    RewriteRule ^/(?!devel/website/errors/)(.*/)?404\.(.+)\.html$ /devel/website/errors/404.$2.html [L]
170
171 # the joys of backwards compatibility
172    RedirectPermanent /cgi-bin/cvsweb https://cvs.debian.org
173    RedirectPermanent /Lists-Archives https://lists.debian.org
174    RedirectPermanent /search https://search.debian.org
175    RedirectPermanent /Packages https://packages.debian.org
176    RedirectPermanent /lintian https://lintian.debian.org
177
178    RedirectPermanent /SPI http://www.spi-inc.org
179 #   RedirectPermanent /OpenHardware http://www.openhardware.org
180    RedirectPermanent /OpenSource http://www.opensource.org
181
182    RedirectPermanent /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
183    RewriteEngine on
184    RewriteRule ^/Bugs/db/pa/l([^/]+).html$ https://bugs.debian.org/$1
185    RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ https://bugs.debian.org/$1
186    RewriteRule ^/Bugs/db/ma/l([^/]+).html$ https://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
187
188    <IfModule mod_userdir.c>
189       UserDir disabled
190    </IfModule>
191
192    RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
193    RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
194    RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
195    RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
196    RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
197    RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
198    RedirectPermanent /doc/prospective-packages /devel/wnpp/
199    RedirectPermanent /devel/maintainer_contacts /intro/organization
200    RedirectPermanent /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
201    RedirectPermanent /zh/ /international/Chinese/
202    RedirectPermanent /chinese/ /international/Chinese/
203    RedirectPermanent /devel/help /devel/join/
204    RedirectPermanent /distrib/books /doc/books
205    RedirectPermanent /distrib/floppyinst /distrib/netinst
206    RedirectPermanent /distrib/netboot /distrib/netinst
207    RedirectPermanent /distrib/vendors /CD/vendors/
208    RedirectPermanent /distrib/cd /CD/
209    RedirectPermanent /distrib/cdinfo /CD/vendors/info
210    RedirectPermanent /related_links /misc/related_links
211    RedirectPermanent /ports/laptops /misc/laptops/
212    RedirectPermanent /misc/README.mirrors /mirror/list
213    RedirectPermanent /misc/README.non-US /mirror/list.non-US
214    RedirectPermanent /intl /international
215    RedirectPermanent /ports/armel  /ports/arm
216    RedirectPermanent /ports/armhf  /ports/arm
217    RedirectPermanent /ports/arm64  /ports/arm
218    RedirectPermanent /ports/mipsel /ports/mips
219    RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
220    RedirectPermanent /ports/kfreebsd-i386  /ports/kfreebsd-gnu
221    RedirectPermanent /ports/sparc64 /ports/sparc
222    RedirectPermanent /ports/s390x   /ports/s390
223    RedirectPermanent /ports/ppc64   /ports/powerpc
224    RedirectPermanent /ports/ppc64el   /ports/powerpc
225    RedirectPermanent /ports/powerpcspe   /ports/powerpc
226    RedirectPermanent /mirror/official_sponsors /mirror/sponsors
227    RedirectPermanent /mirror/official /mirror/list
228    RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
229    RedirectPermanent /mirrors /mirror
230    RedirectPermanent /News/project /News/weekly
231    RedirectPermanent /releases/2.0 /releases/hamm
232    RedirectPermanent /releases/2.1 /releases/slink
233    RedirectPermanent /releases/2.2 /releases/potato
234    RedirectPermanent /releases/3.0 /releases/woody
235    RedirectPermanent /releases/3.1 /releases/sarge
236    RedirectPermanent /releases/4.0 /releases/etch
237    RedirectPermanent /releases/5.0 /releases/lenny
238    RedirectPermanent /releases/6.0 /releases/squeeze
239    RedirectPermanent /releases/7 /releases/wheezy
240    RedirectPermanent /releases/8 /releases/jessie
241    RedirectPermanent /releases/9 /releases/stretch
242    RedirectPermanent /releases/10 /releases/buster
243    RedirectPermanent /releases/unstable /releases/sid
244    RedirectPermanent /support/ /support
245
246    RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
247    RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
248    RewriteRule ^/devel/debian-installer/hooks(.*) http://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
249    RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=301]
250
251    RewriteRule ^/volatile/index.* - [S=1]
252    RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
253    RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
254
255 # Offer a Redirect to DSA without knowing year #474730
256    RewriteMap dsa txt:<%= @wwwdo_document_root %>/security/map-dsa.txt
257    RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
258
259 # Compatibility after SGML -> DocBook
260 # Debian Reference #624239
261    RewriteMap reference txt:<%= @wwwdo_document_root %>/doc/map-reference.txt
262    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
263    RewriteRule ^/doc/manuals/debian-reference/ch-support(.*)  /support$1 [L,R=301]
264    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
265    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
266    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$    /doc/manuals/debian-reference/${reference:$1}     [R=301]
267    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
268    RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
269    RewriteRule ^/doc/manuals/debian-reference/ap-appendix$    /doc/manuals/debian-reference/apa     [R=301]
270    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
271    RewriteRule ^/doc/manuals/debian-reference/footnotes(.+)   /doc/manuals/debian-reference/index$1 [L,R=301]
272    RewriteRule ^/doc/manuals/debian-reference/footnotes$      /doc/manuals/debian-reference/          [R=301]
273 # New Maintainers' Guide
274    RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
275    RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
276
277 # Canonical place for manuals under /doc/manuals/
278    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
279    RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
280    RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
281
282 # Relocation of blends pages
283    RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
284 </Macro>
285
286
287 <VirtualHost <%= @vhost_listen %> >
288    ErrorLog /var/log/apache2/www.debian.org-error.log
289    CustomLog /var/log/apache2/www.debian.org-access.log privacy
290
291    Use common-www.d.o
292 </VirtualHost>
293 <VirtualHost <%= @vhost_listen_443 %> >
294    ErrorLog /var/log/apache2/www.debian.org-error.log
295    CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
296
297    Use common-www.d.o
298
299    Use common-debian-service-ssl www.debian.org
300    Use common-ssl-HSTS
301 </VirtualHost>
302
303
304 <VirtualHost <%= @vhost_listen %> >
305    Use common-www-other.d.o
306
307    ErrorLog /var/log/apache2/www-other.debian.org-error.log
308    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
309
310    Redirect permanent / http://www.debian.org/
311 </VirtualHost>
312 <VirtualHost <%= @vhost_listen_443 %> >
313    Use common-www-other.d.o
314
315    CustomLog /var/log/apache2/www-other-access.log privacyssl
316    ErrorLog /var/log/apache2/www-other-error.log
317
318    Redirect permanent / https://www.debian.org/
319
320    Use common-debian-service-ssl debian.org
321    Use common-ssl-HSTS
322 </VirtualHost>
323 # vim:set syn=apache: