cvs.d.o is gone, drop redirect
[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.debian.net
95    ServerAlias debian.net
96
97    ServerAlias www.debian.eu
98    ServerAlias debian.eu
99
100    ServerAlias www.debian.nl
101    ServerAlias debian.nl
102
103    ServerAlias www.debian.com
104    ServerAlias debian.com
105
106    ServerAlias debian.us
107    ServerAlias www.debian.us
108
109    ServerAlias debian.gr
110    ServerAlias www.debian.gr
111
112    ServerAlias www.debian.es
113    ServerAlias debian.es
114
115    ServerAlias www.debian.at
116
117    DocumentRoot <%= @wwwdo_document_root %>/
118    LogFormat "0.0.0.0 - %u %{[%d/%b/%Y:00:00:00 %z]}t \"%r\" %>s %b \"%{Referer}i\" \"-\" %V" privacy+host
119    ErrorLog /var/log/apache2/www-other.debian.org-error.log
120    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy+host
121 </Macro>
122
123 <Macro common-www.d.o-inner>
124    ServerAdmin webmaster@debian.org
125    DocumentRoot <%= @wwwdo_document_root %>/
126
127    # CacheNegotiatedDocs: By default, Apache sends Pragma: no-cache with each
128    # document that was negotiated on the basis of content. This asks proxy
129    # servers not to cache the document. Uncommenting the following line disables
130    # this behavior, and proxies will be allowed to cache the documents.
131    CacheNegotiatedDocs On
132
133 # Custom Error
134    ErrorDocument 404 /devel/website/errors/404
135    RewriteCond %{DOCUMENT_ROOT}/devel/website/errors/404.$2.html -f
136    RewriteRule ^/(?!devel/website/errors/)(.*/)?404\.(.+)\.html$ /devel/website/errors/404.$2.html [L]
137
138 # the joys of backwards compatibility
139    RedirectPermanent /Lists-Archives https://lists.debian.org
140    RedirectPermanent /search https://search.debian.org
141    RedirectPermanent /Packages https://packages.debian.org
142    RedirectPermanent /lintian https://lintian.debian.org
143
144    RedirectPermanent /SPI https://www.spi-inc.org
145 #   RedirectPermanent /OpenHardware http://www.openhardware.org
146    RedirectPermanent /OpenSource https://opensource.org
147
148    RedirectPermanent /Bugs/db/ix/pseudopackages.html /Bugs/pseudo-packages
149    RewriteEngine on
150    RewriteRule ^/Bugs/db/pa/l([^/]+).html$ https://bugs.debian.org/$1
151    RewriteRule ^/Bugs/db/[[:digit:]][[:digit:]]/([[:digit:]][[:digit:]][[:digit:]]+).html$ https://bugs.debian.org/$1
152    RewriteRule ^/Bugs/db/ma/l([^/]+).html$ https://bugs.debian.org/cgi-bin/pkgreport.cgi?maintenc=$1
153
154    <IfModule mod_userdir.c>
155       UserDir disabled
156    </IfModule>
157
158    RedirectPermanent /devel/todo/ /devel/wnpp/help_requested_bypop
159    RedirectPermanent /doc/FAQ /doc/manuals/debian-faq
160    RedirectPermanent /doc/manuals/debian-fr-howto /doc/manuals/fr/debian-fr-howto
161    RedirectPermanent /doc/manuals/reference /doc/manuals/debian-reference
162    RedirectPermanent /doc/packaging-manuals/developers-reference /doc/manuals/developers-reference
163    RedirectPermanent /doc/packaging-manuals/packaging-tutorial /doc/manuals/packaging-tutorial
164    RedirectPermanent /doc/prospective-packages /devel/wnpp/
165    RedirectPermanent /devel/maintainer_contacts /intro/organization
166    RedirectPermanent /devel/debian-installer/gtk-frontend https://wiki.debian.org/DebianInstaller/GUI
167    RedirectPermanent /zh/ /international/Chinese/
168    RedirectPermanent /chinese/ /international/Chinese/
169    RedirectPermanent /devel/help /devel/join/
170    RedirectPermanent /distrib/books /doc/books
171    RedirectPermanent /distrib/floppyinst /distrib/netinst
172    RedirectPermanent /distrib/netboot /distrib/netinst
173    RedirectPermanent /distrib/vendors /CD/vendors/
174    RedirectPermanent /distrib/cd /CD/
175    RedirectPermanent /distrib/cdinfo /CD/vendors/info
176    RedirectPermanent /related_links /misc/related_links
177    RedirectPermanent /ports/laptops /misc/laptops/
178    RedirectPermanent /misc/README.mirrors /mirror/list
179    RedirectPermanent /misc/README.non-US /mirror/list.non-US
180    RedirectPermanent /intl /international
181    RedirectPermanent /ports/armel  /ports/arm
182    RedirectPermanent /ports/armhf  /ports/arm
183    RedirectPermanent /ports/arm64  /ports/arm
184    RedirectPermanent /ports/mipsel /ports/mips
185    RedirectPermanent /ports/mips64el /ports/mips
186    RedirectPermanent /ports/kfreebsd-amd64 /ports/kfreebsd-gnu
187    RedirectPermanent /ports/kfreebsd-i386  /ports/kfreebsd-gnu
188    RedirectPermanent /ports/sparc64 /ports/sparc
189    RedirectPermanent /ports/s390x   /ports/s390
190    RedirectPermanent /ports/ppc64   /ports/powerpc
191    RedirectPermanent /ports/ppc64el   /ports/powerpc
192    RedirectPermanent /ports/powerpcspe   /ports/powerpc
193    Redirect /ports/riscv64   https://wiki.debian.org/RISC-V
194    Redirect /ports/x32   https://wiki.debian.org/X32Port
195    Redirect /ports/sh4   https://wiki.debian.org/SH4
196    RedirectPermanent /mirror/official_sponsors /mirror/sponsors
197    RedirectPermanent /mirror/official /mirror/list
198    RedirectPermanent /mirror/mirrors_full.html /mirror/list-full.html
199    RedirectPermanent /mirrors /mirror
200    RedirectPermanent /News/project /News/weekly
201    RedirectPermanent /releases/2.0 /releases/hamm
202    RedirectPermanent /releases/2.1 /releases/slink
203    RedirectPermanent /releases/2.2 /releases/potato
204    RedirectPermanent /releases/3.0 /releases/woody
205    RedirectPermanent /releases/3.1 /releases/sarge
206    RedirectPermanent /releases/4.0 /releases/etch
207    RedirectPermanent /releases/5.0 /releases/lenny
208    RedirectPermanent /releases/6.0 /releases/squeeze
209    RedirectPermanent /releases/7 /releases/wheezy
210    RedirectPermanent /releases/8 /releases/jessie
211    RedirectPermanent /releases/9 /releases/stretch
212    RedirectPermanent /releases/10 /releases/buster
213    RedirectPermanent /releases/unstable /releases/sid
214    RedirectPermanent /support/ /support
215
216 # Upper-case URLs were a bad idea
217    RedirectPermanent /bugs /Bugs
218    RedirectPermanent /news /News
219    RedirectPermanent /mailinglists /MailingLists
220    RedirectPermanent /cd /CD
221
222    RewriteRule ^/ports/freebsd(.*) /ports/kfreebsd-gnu/ [R=301]
223    RewriteRule ^/devel/debian-installer/report-template(.*) /releases/stable/i386/ch05s04.html#submit-bug [NE,R=301]
224    RewriteRule ^/devel/debian-installer/hooks(.*) https://d-i.alioth.debian.org/doc/internals/apb.html [R=301]
225    RewriteRule ^/doc/packaging-manuals/mime-policy(.*) /doc/debian-policy/ch-opersys.html#s-mime [NE,R=302]
226
227    RewriteRule ^/volatile/index.* - [S=1]
228    RewriteRule ^/volatile/.+ /volatile/ [L,R=301]
229    RewriteRule ^/devel/debian-volatile/.* /volatile/ [R=301]
230
231 # Offer a Redirect to DSA without knowing year #474730
232    RewriteMap dsa txt:<%= @wwwdo_document_root %>/security/map-dsa.txt
233    RewriteRule ^/security/dsa-(\d+)(\..*)? /security/${dsa:$1}$2 [R=301]
234
235 # Compatibility after SGML -> DocBook
236 # Debian Reference #624239
237    RewriteMap reference txt:<%= @wwwdo_document_root %>/doc/map-reference.txt
238    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/ch-support$1 !-f
239    RewriteRule ^/doc/manuals/debian-reference/ch-support(.*)  /support$1 [L,R=301]
240    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/${reference:$1}$2 -f
241    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)(.+) /doc/manuals/debian-reference/${reference:$1}$2 [L,R=301]
242    RewriteRule ^/doc/manuals/debian-reference/ch-([^\.]+)$    /doc/manuals/debian-reference/${reference:$1}     [R=301]
243    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/apa$1 -f
244    RewriteRule ^/doc/manuals/debian-reference/ap-appendix(.+) /doc/manuals/debian-reference/apa$1 [L,R=301]
245    RewriteRule ^/doc/manuals/debian-reference/ap-appendix$    /doc/manuals/debian-reference/apa     [R=301]
246    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/debian-reference/footnotes$1 !-f
247    RewriteRule ^/doc/manuals/debian-reference/footnotes(.+)   /doc/manuals/debian-reference/index$1 [L,R=301]
248    RewriteRule ^/doc/manuals/debian-reference/footnotes$      /doc/manuals/debian-reference/          [R=301]
249
250 # DevRef filename changes c2016
251    RedirectMatch permanent ^(/doc/manuals/developers-reference)/scope(\.[a-z]{2})?.html                 $1/ch01$2.html
252    RedirectMatch permanent ^(/doc/manuals/developers-reference)/new-maintainer(\.[a-z]{2})?.html        $1/ch02$2.html
253    RedirectMatch permanent ^(/doc/manuals/developers-reference)/developer-duties(\.[a-z]{2})?.html      $1/ch03$2.html
254    RedirectMatch permanent ^(/doc/manuals/developers-reference)/resources(\.[a-z]{2})?.html             $1/ch04$2.html
255    RedirectMatch permanent ^(/doc/manuals/developers-reference)/pkgs(\.[a-z]{2})?.html                  $1/ch05$2.html
256    RedirectMatch permanent ^(/doc/manuals/developers-reference)/best-pkging-practices(\.[a-z]{2})?.html $1/ch06$2.html
257    RedirectMatch permanent ^(/doc/manuals/developers-reference)/beyond-pkging(\.[a-z]{2})?.html         $1/ch07$2.html
258    RedirectMatch permanent ^(/doc/manuals/developers-reference)/l10n(\.[a-z]{2})?.html                  $1/ch08$2.html
259    RedirectMatch permanent ^(/doc/manuals/developers-reference)/tools(\.[a-z]{2})?.html                 $1/apa$2.html
260
261 # New Maintainers' Guide
262    RewriteRule ^/doc/(manuals/)?maint-guide/ch-(.*) /doc/manuals/maint-guide/$2 [R=301]
263    RewriteRule ^/doc/(manuals/)?maint-guide/footnotes(.*) /doc/manuals/maint-guide/index$2 [R=301]
264
265 # Compatibility after Debian Policy changed to build with Sphinx (bug #877367)
266    RewriteRule ^/doc/debian-policy/footnotes.html(.*) /doc/debian-policy/ [R=301,L]
267
268 # Canonical place for manuals under /doc/manuals/
269    RewriteCond %{DOCUMENT_ROOT}/doc/manuals/$1 -d
270    RewriteRule ^/doc/([^/]+)/?(.*)? /doc/manuals/$1/$2 [L,R=301]
271    RewriteRule ^/doc/manuals/?$ /doc/ [L,R=301]
272
273 # Relocation of blends pages
274    RewriteRule ^/devel/hamradio(.*)$ /blends/hamradio$1 [R=301,L]
275
276 # Relocation of derivatives pages
277    RewriteRule ^/misc/children-distros(?:\.html)?$ /derivatives/ [R=301,L]
278    RewriteRule ^/misc/children-distros(\.[^\.]+(?:\.html)?)$ /derivatives/index$1 [R=301,L]
279 </Macro>
280
281 <Macro common-www.d.o>
282    ServerName <%= @wwwdo_server_name %>
283
284    Use common-www.d.o-inner
285 </Macro>
286
287
288 <VirtualHost <%= @vhost_listen %> >
289    ErrorLog /var/log/apache2/www.debian.org-error.log
290    CustomLog /var/log/apache2/www.debian.org-access.log privacy
291
292    ServerName <%= @wwwdo_server_name %>
293    Redirect / https://<%= @wwwdo_server_name %>/
294 </VirtualHost>
295 <VirtualHost <%= @vhost_listen_443 %> >
296    ErrorLog /var/log/apache2/www.debian.org-error.log
297    CustomLog /var/log/apache2/www.debian.org-access.log privacyssl
298
299    Use common-www.d.o
300
301    Use common-debian-service-ssl <%= @wwwdo_server_name %>
302    Use common-ssl-HSTS
303 </VirtualHost>
304 <% if scope.function_onion_global_service_hostname([@wwwdo_server_name]) -%>
305 <VirtualHost <%= @vhost_listen %> >
306    ErrorLog /var/log/apache2/www.debian.org-error.log
307    CustomLog /var/log/apache2/www.debian.org-access.log privacy
308
309    ServerName <%= scope.function_onion_global_service_hostname([@wwwdo_server_name]) %>
310
311    Use common-www.d.o-inner
312 </VirtualHost>
313 <% end %>
314
315
316 <%- if @redirect_vhosts -%>
317 # www other
318 ###########
319 <VirtualHost <%= @vhost_listen %> >
320    Use common-www-other.d.o
321
322    ErrorLog /var/log/apache2/www-other.debian.org-error.log
323    CustomLog /var/log/apache2/www-other.debian.org-access.log privacy
324
325    Redirect permanent / https://www.debian.org/
326 </VirtualHost>
327 <VirtualHost <%= @vhost_listen_443 %> >
328    Use common-www-other.d.o
329
330    CustomLog /var/log/apache2/www-other-access.log privacyssl
331    ErrorLog /var/log/apache2/www-other-error.log
332
333    Redirect permanent / https://www.debian.org/
334
335    Use common-debian-service-ssl debian.org
336    Use common-ssl-HSTS
337 </VirtualHost>
338 <%- end -%>
339 # vim:set syn=apache: