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