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