aaebe84d6fb07416de95cf2b4e59846cd21e1c9c
[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    #RewriteLog /var/log/apache2/www-other.debian.org-redirect.log
148    #RewriteLogLevel 1
149
150    RewriteEngine on
151 </Macro>
152
153 <Macro common-www.d.o>
154    ServerName www.debian.org
155    ServerAdmin webmaster@debian.org
156    ServerAlias www-*.debian.org
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    Use common-www-other.d.o
286    RewriteRule ^/(.*)$ http://www.debian.org/$1 [R=301,L]
287 </VirtualHost>
288 <VirtualHost <%= vhost_listen_443 %> >
289    Use common-www-other.d.o
290    RewriteRule ^/(.*)$ https://www.debian.org/$1 [R=301,L]
291 </VirtualHost>
292
293
294 <VirtualHost <%= vhost_listen %> >
295    ErrorLog /var/log/apache2/www.debian.org-error.log
296    CustomLog /var/log/apache2/www.debian.org-access.log privacy
297
298    Use common-www.d.o
299 </VirtualHost>
300 <VirtualHost <%= vhost_listen_443 %> >
301    ErrorLog /var/log/apache2/www.debian.org-error.log
302    CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
303
304    Use common-www.d.o
305
306    Use common-debian-service-ssl www.debian.org
307    Use common-ssl-HSTS
308 </VirtualHost>
309
310
311 <VirtualHost <%= vhost_listen_443 %> >
312    ServerName debian.org
313    ServerAdmin webmaster@debian.org
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
321    Use common-debian-service-ssl www.debian.org
322    Use common-ssl-HSTS
323 </VirtualHost>