# DO NOT EDIT - This file is being maintained by Chef
ServerName <%= @name %>
<% @aliases.each do |alias_name| -%>
ServerAlias <%= alias_name %>
<% end -%>
ServerAdmin webmaster@openstreetmap.org
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Dus" combined_with_time
CustomLog /var/log/apache2/<%= @name %>-access.log combined_with_time
ErrorLog /var/log/apache2/<%= @name %>-error.log
RedirectPermanent /.well-known/acme-challenge/ http://acme.openstreetmap.org/.well-known/acme-challenge/
RedirectPermanent / https://<%= @name %>/
ServerName <%= @name %>
<% @aliases.each do |alias_name| -%>
ServerAlias <%= alias_name %>
<% end -%>
ServerAdmin webmaster@openstreetmap.org
SSLEngine on
SSLCertificateFile /etc/ssl/certs/<%= @name %>.pem
SSLCertificateKeyFile /etc/ssl/private/<%= @name %>.key
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\" %Dus" combined_with_time
CustomLog /var/log/apache2/<%= @name %>-secure-access.log combined_with_time
ErrorLog /var/log/apache2/<%= @name %>-secure-error.log
DocumentRoot <%= @directory %>
AllowEncodedSlashes NoDecode
ProxyTimeout 300
RewriteCond %{SERVER_NAME} !=<%= @name %>
RewriteRule ^/(.*)$ https://<%= @name %>/$1 [R=permanent]
# Historical Compatibility Links
RedirectMatch 301 ^/index\.php$ /w/index.php
RedirectMatch 301 ^/index\.php/(.*)$ /wiki/$1
RedirectMatch 301 ^/skins/(.*)$ /w/skins/$1
RedirectMatch 301 ^/images/(.*)$ /w/images/$1
RedirectMatch 301 ^/api\.php$ /w/api.php
RedirectMatch 301 ^/opensearch_desc\.php$ /w/opensearch_desc.php
# Support Wikidata redirects based on Wikimedia's redirects:
# https://github.com/wikimedia/puppet/blob/production/modules/mediawiki/files/apache/sites/wikidata-uris.incl
RedirectMatch 301 ^/entity/statement/([QqPp]\d+).*$ /wiki/Special:EntityData/$1
RedirectMatch 301 ^/value/(.*)$ /wiki/Special:ListDatatypes
RedirectMatch 301 ^/reference/(.*)$ https://wikidata.org/wiki/Help:Sources
RedirectMatch 301 ^/prop/direct/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/direct-normalized/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/novalue/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/statement/value/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/statement/value-normalized/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/qualifier/value/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/qualifier/value-normalized/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/reference/value/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/reference/value-normalized/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/statement/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/qualifier/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/reference/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/prop/(.*)$ /wiki/Property:$1
RedirectMatch 301 ^/entity/(.*)$ /wiki/Special:EntityData/$1
Alias /wiki <%= @directory %>/w/index.php
# Support /pagename -> /wiki/pagename
RewriteEngine on
RewriteRule ^/$ /w/index.php?title=Main_Page [L,QSA]
RewriteCond %{REQUEST_URI} !^/w/
RewriteCond %{REQUEST_URI} !^/wiki/
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_URI} !^/skins/
RewriteCond %{REQUEST_URI} !^/images/
RewriteCond %{REQUEST_URI} !^/api\.php$
RewriteCond %{REQUEST_URI} !^/opensearch_desc\.php$
RewriteCond %{REQUEST_URI} !^/entity/
RewriteCond %{REQUEST_URI} !^/value/
RewriteCond %{REQUEST_URI} !^/reference/
RewriteCond %{REQUEST_URI} !^/prop/
RewriteCond %{REQUEST_URI} !^/dump/
RewriteCond %{REQUEST_URI} !^/server-status
RewriteCond %{REQUEST_URI} !^/.well-known/
RewriteCond %{LA-U:REQUEST_FILENAME} !-f
RewriteCond %{LA-U:REQUEST_FILENAME} !-d
RewriteRule ^/(.*) /wiki/$1 [R,L]
>
Options -Indexes
Require all granted
SetHandler "proxy:unix:/run/php/php-<%= @name %>-fpm.sock|fcgi://127.0.0.1"
/w/images/>
Options -ExecCGI -Includes -Indexes
AllowOverride None
AddType text/plain .html .htm .shtml
<% if @private_site -%>
Require all denied
<% end -%>
SetHandler None
/w/images/thumb/>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/page([0-9]+)-([0-9]+)px-.*$ /w/thumb.php?f=$1&page=$2&width=$3 [L,QSA,B]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/page([0-9]+)-([0-9]+)px-.*$ /w/thumb.php?f=$1&page=$2&width=$3&archived=1 [L,QSA,B]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2 [L,QSA,B]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ /w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
/w/maintenance/>
Require all denied
/w/LocalSettings.php>
Require all denied
/w/cache/>
Options -ExecCGI -Includes -Indexes
AllowOverride None
AddType text/plain .html .htm .shtml
SetHandler None
/dump/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
IndexIgnore .ht* . robots.txt HEADER.html HEADER.cgi logo.png style.css
IndexOptions FancyIndexing FoldersFirst NameWidth=* TrackModified
IndexOrderDefault Descending Date
Require all denied
Require all denied
Require all denied