3077114a4c23ece1e394baae05f36d923dd3a667
[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    ErrorLog /var/log/apache2/www-other.debian.org-error.log
146    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
147 </Macro>
148
149 <Macro common-www.d.o>
150    ServerName www.debian.org
151    ServerAdmin webmaster@debian.org
152    ServerAlias www-*.debian.org
153    <% if scope.function_onion_global_service_hostname(['www.debian.org']) -%>
154    ServerAlias <%= scope.function_onion_global_service_hostname(['www.debian.org']) %>
155    <% end %>
156
157    DocumentRoot <%= wwwdo_document_root %>/
158
159    # CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
160    # document that was negotiated on the basis of content. This asks proxy
161    # servers not to cache the document. Uncommenting the following line disables
162    # this behavior, and proxies will be allowed to cache the documents.
163    CacheNegotiatedDocs On
164
165 # Custom Error
166    ErrorDocument 404 /devel/website/errors/404
167    RewriteCond %{DOCUMENT_ROOT}/devel/website/errors/404.$2.html -f
168    RewriteRule ^/(?!devel/website/errors/)(.*/)?404\.(.+)\.html$ /devel/website/errors/404.$2.html [L]
169
170 # the joys of backwards compatibility
171    RedirectPermanent /cgi-bin/cvsweb https://cvs.debian.org
172    RedirectPermanent /Lists-Archives https://lists.debian.org
173    RedirectPermanent /search https://search.debian.org
174    RedirectPermanent /Packages https://packages.debian.org
175    RedirectPermanent /lintian https://lintian.debian.org
176
177    RedirectPermanent /SPI http://www.spi-inc.org
178 #   RedirectPermanent /OpenHardware http://www.openhardware.org
179    RedirectPermanent /OpenSource http://www.opensource.org
180
181    RedirectPermanent /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
182    RewriteEngine on
183    RewriteRule ^/Bugs/db/pa/l([^/]+).html$ https://bugs.debian.org/$1
184    RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ https://bugs.debian.org/$1
185    RewriteRule ^/Bugs/db/ma/l([^/]+).html$ https://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
186
187    <IfModule mod_userdir.c>
188       UserDir disabled
189    </IfModule>
190
191    RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
192    RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
193    RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
194    RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
195    RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
196    RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
197    RedirectPermanent /doc/prospective-packages /devel/wnpp/
198    RedirectPermanent /devel/maintainer_contacts /intro/organization
199    RedirectPermanent /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
200    RedirectPermanent /zh/ /international/Chinese/
201    RedirectPermanent /chinese/ /international/Chinese/
202    RedirectPermanent /devel/help /devel/join/
203    RedirectPermanent /distrib/books /doc/books
204    RedirectPermanent /distrib/floppyinst /distrib/netinst
205    RedirectPermanent /distrib/netboot /distrib/netinst
206    RedirectPermanent /distrib/vendors /CD/vendors/
207    RedirectPermanent /distrib/cd /CD/
208    RedirectPermanent /distrib/cdinfo /CD/vendors/info
209    RedirectPermanent /related_links /misc/related_links
210    RedirectPermanent /ports/laptops /misc/laptops/
211    RedirectPermanent /misc/README.mirrors /mirror/list
212    RedirectPermanent /misc/README.non-US /mirror/list.non-US
213    RedirectPermanent /intl /international
214    RedirectPermanent /ports/armel  /ports/arm
215    RedirectPermanent /ports/armhf  /ports/arm
216    RedirectPermanent /ports/arm64  /ports/arm
217    RedirectPermanent /ports/mipsel /ports/mips
218    RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
219    RedirectPermanent /ports/kfreebsd-i386  /ports/kfreebsd-gnu
220    RedirectPermanent /ports/sparc64 /ports/sparc
221    RedirectPermanent /ports/s390x   /ports/s390
222    RedirectPermanent /ports/ppc64   /ports/powerpc
223    RedirectPermanent /ports/ppc64el   /ports/powerpc
224    RedirectPermanent /ports/powerpcspe   /ports/powerpc
225    RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
226    RedirectPermanent /mirrors /mirror
227    RedirectPermanent /News/project /News/weekly
228    RedirectPermanent /releases/2.0 /releases/hamm
229    RedirectPermanent /releases/2.1 /releases/slink
230    RedirectPermanent /releases/2.2 /releases/potato
231    RedirectPermanent /releases/3.0 /releases/woody
232    RedirectPermanent /releases/3.1 /releases/sarge
233    RedirectPermanent /releases/4.0 /releases/etch
234    RedirectPermanent /releases/5.0 /releases/lenny
235    RedirectPermanent /releases/6.0 /releases/squeeze
236    RedirectPermanent /releases/7 /releases/wheezy
237    RedirectPermanent /releases/8 /releases/jessie
238    RedirectPermanent /releases/9 /releases/stretch
239    RedirectPermanent /releases/10 /releases/buster
240    RedirectPermanent /releases/unstable /releases/sid
241    RedirectPermanent /support/ /support
242
243    RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
244    RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
245    RewriteRule ^/devel/debian-installer/hooks(.*) http://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
246    RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=301]
247
248    RewriteRule ^/volatile/index.* - [S=1]
249    RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
250    RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
251
252 # Offer a Redirect to DSA without knowing year #474730
253    RewriteMap dsa txt:<%= wwwdo_document_root %>/security/map-dsa.txt
254    RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
255
256 # Compatibility after SGML -> DocBook
257 # Debian Reference #624239
258    RewriteMap reference txt:<%= wwwdo_document_root %>/doc/map-reference.txt
259    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
260    RewriteRule ^/doc/manuals/debian-reference/ch-support(.*)  /support$1 [L,R=301]
261    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
262    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
263    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$    /doc/manuals/debian-reference/${reference:$1}     [R=301]
264    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
265    RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
266    RewriteRule ^/doc/manuals/debian-reference/ap-appendix$    /doc/manuals/debian-reference/apa     [R=301]
267    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
268    RewriteRule ^/doc/manuals/debian-reference/footnotes(.+)   /doc/manuals/debian-reference/index$1 [L,R=301]
269    RewriteRule ^/doc/manuals/debian-reference/footnotes$      /doc/manuals/debian-reference/          [R=301]
270 # New Maintainers' Guide
271    RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
272    RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
273
274 # Canonical place for manuals under /doc/manuals/
275    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
276    RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
277    RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
278
279 # Relocation of blends pages
280    RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
281 </Macro>
282
283
284 <VirtualHost <%= vhost_listen %> >
285    ErrorLog /var/log/apache2/www.debian.org-error.log
286    CustomLog /var/log/apache2/www.debian.org-access.log privacy
287
288    Use common-www.d.o
289 </VirtualHost>
290 <VirtualHost <%= vhost_listen_443 %> >
291    ErrorLog /var/log/apache2/www.debian.org-error.log
292    CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
293
294    Use common-www.d.o
295
296    Use common-debian-service-ssl www.debian.org
297    Use common-ssl-HSTS
298 </VirtualHost>
299
300
301 <VirtualHost <%= vhost_listen %> >
302    Use common-www-other.d.o
303
304    ErrorLog /var/log/apache2/www-other.debian.org-error.log
305    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
306
307    Redirect permanent / http://www.debian.org/
308 </VirtualHost>
309 <VirtualHost <%= vhost_listen_443 %> >
310    Use common-www-other.d.o
311
312    CustomLog /var/log/apache2/www-other-access.log privacyssl
313    ErrorLog /var/log/apache2/www-other-error.log
314
315    Redirect permanent / https://www.debian.org/
316
317    Use common-debian-service-ssl debian.org
318    Use common-ssl-HSTS
319 </VirtualHost>