dad8375fe199686a15c2348f83e9fe7a78ef6be8
[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/mirrors_full.html /mirror/list-full.html
227    RedirectPermanent /mirrors /mirror
228    RedirectPermanent /News/project /News/weekly
229    RedirectPermanent /releases/2.0 /releases/hamm
230    RedirectPermanent /releases/2.1 /releases/slink
231    RedirectPermanent /releases/2.2 /releases/potato
232    RedirectPermanent /releases/3.0 /releases/woody
233    RedirectPermanent /releases/3.1 /releases/sarge
234    RedirectPermanent /releases/4.0 /releases/etch
235    RedirectPermanent /releases/5.0 /releases/lenny
236    RedirectPermanent /releases/6.0 /releases/squeeze
237    RedirectPermanent /releases/7 /releases/wheezy
238    RedirectPermanent /releases/8 /releases/jessie
239    RedirectPermanent /releases/9 /releases/stretch
240    RedirectPermanent /releases/10 /releases/buster
241    RedirectPermanent /releases/unstable /releases/sid
242    RedirectPermanent /support/ /support
243
244    RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
245    RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
246    RewriteRule ^/devel/debian-installer/hooks(.*) http://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
247    RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=301]
248
249    RewriteRule ^/volatile/index.* - [S=1]
250    RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
251    RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
252
253 # Offer a Redirect to DSA without knowing year #474730
254    RewriteMap dsa txt:<%= wwwdo_document_root %>/security/map-dsa.txt
255    RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
256
257 # Compatibility after SGML -> DocBook
258 # Debian Reference #624239
259    RewriteMap reference txt:<%= wwwdo_document_root %>/doc/map-reference.txt
260    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
261    RewriteRule ^/doc/manuals/debian-reference/ch-support(.*)  /support$1 [L,R=301]
262    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
263    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
264    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$    /doc/manuals/debian-reference/${reference:$1}     [R=301]
265    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
266    RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
267    RewriteRule ^/doc/manuals/debian-reference/ap-appendix$    /doc/manuals/debian-reference/apa     [R=301]
268    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
269    RewriteRule ^/doc/manuals/debian-reference/footnotes(.+)   /doc/manuals/debian-reference/index$1 [L,R=301]
270    RewriteRule ^/doc/manuals/debian-reference/footnotes$      /doc/manuals/debian-reference/          [R=301]
271 # New Maintainers' Guide
272    RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
273    RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
274
275 # Canonical place for manuals under /doc/manuals/
276    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
277    RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
278    RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
279
280 # Relocation of blends pages
281    RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
282 </Macro>
283
284
285 <VirtualHost <%= vhost_listen %> >
286    ErrorLog /var/log/apache2/www.debian.org-error.log
287    CustomLog /var/log/apache2/www.debian.org-access.log privacy
288
289    Use common-www.d.o
290 </VirtualHost>
291 <VirtualHost <%= vhost_listen_443 %> >
292    ErrorLog /var/log/apache2/www.debian.org-error.log
293    CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
294
295    Use common-www.d.o
296
297    Use common-debian-service-ssl www.debian.org
298    Use common-ssl-HSTS
299 </VirtualHost>
300
301
302 <VirtualHost <%= vhost_listen %> >
303    Use common-www-other.d.o
304
305    ErrorLog /var/log/apache2/www-other.debian.org-error.log
306    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
307
308    Redirect permanent / http://www.debian.org/
309 </VirtualHost>
310 <VirtualHost <%= vhost_listen_443 %> >
311    Use common-www-other.d.o
312
313    CustomLog /var/log/apache2/www-other-access.log privacyssl
314    ErrorLog /var/log/apache2/www-other-error.log
315
316    Redirect permanent / https://www.debian.org/
317
318    Use common-debian-service-ssl debian.org
319    Use common-ssl-HSTS
320 </VirtualHost>