Giuseppe Lavagetto has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/170300

Change subject: mediawiki: simplify apache config
......................................................................

mediawiki: simplify apache config

- Use includes wherever possible
- add a "public rewrites include"
- add the configurable apple touch icon using this include.

This change supersedes Ieb55283f7b33c589bec71e9e17f170948a57d3b8 and
I515deb3ae5e8a30435360fcace587ac298d0e73a .

Change-Id: I440f2e37a437c96af4c7be7d1ca5255a16eecaa0
Signed-off-by: Giuseppe Lavagetto <[email protected]>
---
M modules/mediawiki/files/apache/sites/foundation.conf
A modules/mediawiki/files/apache/sites/public-wiki-rewrites.incl
M modules/mediawiki/files/apache/sites/remnant.conf
M modules/mediawiki/files/apache/sites/wikimania.conf
M modules/mediawiki/files/apache/sites/wikimedia-common.incl
M modules/mediawiki/files/apache/sites/wikimedia.conf
M modules/mediawiki/manifests/web/sites.pp
7 files changed, 33 insertions(+), 227 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/operations/puppet 
refs/changes/00/170300/1

diff --git a/modules/mediawiki/files/apache/sites/foundation.conf 
b/modules/mediawiki/files/apache/sites/foundation.conf
index e533a69..6abc37a 100644
--- a/modules/mediawiki/files/apache/sites/foundation.conf
+++ b/modules/mediawiki/files/apache/sites/foundation.conf
@@ -20,7 +20,7 @@
 
     # Primary wiki redirector:
     Alias /wiki /srv/mediawiki/docroot/foundation/w/index.php
-    RewriteRule ^/$ /w/index.php
+    Include "sites-enabled/public-wiki-rewrites.incl"
 
     # UseMod compatibility URLs
     RewriteCond %{QUERY_STRING} ([^&;]+)
@@ -30,9 +30,6 @@
     RewriteRule ^/math/(.*) %{ENV:RW_PROTO}://upload.wikimedia.org/math/$1 
[R=301]
 
     RewriteRule ^/wiki/Donate$ https://donate.wikimedia.org/ [R=301,L]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
 
     <Directory "/srv/mediawiki/docroot/foundation/w">
         <IfModule mod_php5.c>
diff --git a/modules/mediawiki/files/apache/sites/public-wiki-rewrites.incl 
b/modules/mediawiki/files/apache/sites/public-wiki-rewrites.incl
new file mode 100644
index 0000000..215940c
--- /dev/null
+++ b/modules/mediawiki/files/apache/sites/public-wiki-rewrites.incl
@@ -0,0 +1,10 @@
+    # Common include for all public wikis
+    
+    # Make robots.txt editable via Mediawiki:robots.txt
+    RewriteRule ^/robots\.txt$ /w/robots.php [L]
+    # Primary wiki redirector:
+    RewriteRule ^/$ /w/index.php
+    # Configurable favicon
+    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
+    # Configurable apple-touch-icon.png
+    RewriteRule ^/apple-touch-icon\.png$ /w/touch.php [L]
diff --git a/modules/mediawiki/files/apache/sites/remnant.conf 
b/modules/mediawiki/files/apache/sites/remnant.conf
index 0cb2f9b..0899cf5 100644
--- a/modules/mediawiki/files/apache/sites/remnant.conf
+++ b/modules/mediawiki/files/apache/sites/remnant.conf
@@ -30,20 +30,13 @@
 
     # Primary wiki redirector:
     Alias /wiki /srv/mediawiki/docroot/wikisource.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    # UseMod compatibility URLs
-    RewriteCond %{QUERY_STRING} ([^&;]+)
-    RewriteRule ^/wiki\.cgi$ 
%{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php?title=%1 [R=301,L]
-    RewriteRule ^/wiki\.cgi$ %{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php 
[R=301,L]
+    Include "sites-enabled/public-wiki-rewrites.incl"
+    Include "sites-enabled/wikimedia-legacy.incl"
 
     RewriteRule ^/math/(.*) %{ENV:RW_PROTO}://upload.wikimedia.org/math/$1 
[R=301]
 
     # Uploads are offsite
     RewriteRule ^/upload/(.*)$ 
%{ENV:RW_PROTO}://upload.wikimedia.org/wikipedia/sources/$1 [R=302]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
 
     <Directory "/srv/mediawiki/docroot/wikisource.org/w">
         <IfModule mod_php5.c>
@@ -74,20 +67,13 @@
 
     # Primary wiki redirector:
     Alias /wiki /srv/mediawiki/docroot/commons/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    # UseMod compatibility URLs
-    RewriteCond %{QUERY_STRING} ([^&;]+)
-    RewriteRule ^/wiki\.cgi$ 
%{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php?title=%1 [R=301,L]
-    RewriteRule ^/wiki\.cgi$ %{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php 
[R=301,L]
+    Include "sites-enabled/public-wiki-rewrites.incl"
+    Include "sites-enabled/wikimedia-legacy.incl"
 
     RewriteRule ^/math/(.*) %{ENV:RW_PROTO}://upload.wikimedia.org/math/$1 
[R=301]
 
     # Uploads are offsite
     RewriteRule ^/upload/(.*)$ 
%{ENV:RW_PROTO}://upload.wikimedia.org/wikipedia/commons/$1 [R=302]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
 
     <Directory "/srv/mediawiki/docroot/commons/w">
         <IfModule mod_php5.c>
diff --git a/modules/mediawiki/files/apache/sites/wikimania.conf 
b/modules/mediawiki/files/apache/sites/wikimania.conf
index bc29719..f55d927 100644
--- a/modules/mediawiki/files/apache/sites/wikimania.conf
+++ b/modules/mediawiki/files/apache/sites/wikimania.conf
@@ -1,11 +1,7 @@
 # Wikimania wikis
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
-
     ServerName wikimania
     ServerAlias wikimania2005.wikimedia.org wikimania2006.wikimedia.org 
wikimania2007.wikimedia.org wikimania2008.wikimedia.org 
wikimania2009.wikimedia.org wikimania2010.wikimedia.org 
wikimania2011.wikimedia.org wikimania2012.wikimedia.org 
wikimania2013.wikimedia.org wikimania2014.wikimedia.org 
wikimania2015.wikimedia.org
-
-    AllowEncodedSlashes On
 
     UseCanonicalName Off
 
@@ -14,74 +10,28 @@
     RewriteCond %{ENV:RW_PROTO} !=https
     RewriteRule . - [E=RW_PROTO:http]
 
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    # UseMod compatibility URLs
-    RewriteCond %{QUERY_STRING} ([^&;]+)
-    RewriteRule ^/wiki\.cgi$ 
%{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php?title=%1 [R=301,L]
-    RewriteRule ^/wiki\.cgi$ %{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php 
[R=301,L]
+    Include "sites-enabled/wikimedia-common.incl"
+    Include "sites-enabled/wikimedia-legacy.incl"
 
     # Early phase 2 compatibility URLs
     RewriteRule ^/wiki\.phtml$ %{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php 
[R=301,L]
-
-    RewriteRule ^/math/(.*) %{ENV:RW_PROTO}://upload.wikimedia.org/math/$1 
[R=301]
 
     # Uploads to the host-specific directory
     # First grab the subdomain from HTTP_HOST
     RewriteCond %{HTTP_HOST} ([a-z\-]+)\.wikimedia\.org
     # Now use it
     RewriteRule ^/upload/(.*)$ 
%{ENV:RW_PROTO}://upload.wikimedia.org/wikipedia/%1/$1 [R=302]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    # Load robots.txt from the wiki
-    RewriteRule ^/robots.txt$ /w/robots.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
 </VirtualHost>
 
 # Wikimaniateam wiki
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName wikimaniateam.wikimedia.org
 
-    AllowEncodedSlashes On
+    Include "sites-enabled/wikimedia-common.incl"
 
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteRule ^/(.*)$ https://wikimaniateam.wikimedia.org/$1 [R=301,L]
-
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    RewriteRule ^/math/(.*) https://upload.wikimedia.org/math/$1 [R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
 </VirtualHost>
 
 
diff --git a/modules/mediawiki/files/apache/sites/wikimedia-common.incl 
b/modules/mediawiki/files/apache/sites/wikimedia-common.incl
index ed7bab3..375be6d 100644
--- a/modules/mediawiki/files/apache/sites/wikimedia-common.incl
+++ b/modules/mediawiki/files/apache/sites/wikimedia-common.incl
@@ -12,15 +12,9 @@
     </IfDefine>
 
 
-    # Make robots.txt editable via Mediawiki:robots.txt
-    RewriteRule ^/robots.txt$ /w/robots.php [L]
-
     # Primary wiki redirector:
     Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
+    Include "sites-enabled/public-wiki-rewrites.incl"
 
     # Math compatibility mode
     RewriteRule ^/math/(.*) https://upload.wikimedia.org/math/$1 [R=301]
diff --git a/modules/mediawiki/files/apache/sites/wikimedia.conf 
b/modules/mediawiki/files/apache/sites/wikimedia.conf
index ab85a2c..8eca8465 100644
--- a/modules/mediawiki/files/apache/sites/wikimedia.conf
+++ b/modules/mediawiki/files/apache/sites/wikimedia.conf
@@ -3,9 +3,6 @@
     ServerName wikimedia-chapter
     ServerAlias no.wikimedia.org nl.wikimedia.org www.nl.wikimedia.org 
pl.wikimedia.org nz.wikimedia.org il.wikimedia.org rs.wikimedia.org 
pa-us.wikimedia.org us.wikimedia.org se.wikimedia.org ru.wikimedia.org 
ua.wikimedia.org co.wikimedia.org fi.wikimedia.org ve.wikimedia.org 
br.wikimedia.org dk.wikimedia.org tr.wikimedia.org 
noboard-chapters.wikimedia.org mk.wikimedia.org et.wikimedia.org 
nyc.wikimedia.org mx.wikimedia.org ar.wikimedia.org bd.wikimedia.org 
be.wikimedia.org ca.wikimedia.org
     UseCanonicalName off
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
-
-    AllowEncodedSlashes On
 
     RewriteEngine On
     RewriteRule . - [E=RW_PROTO:%{HTTP:X-Forwarded-Proto}]
@@ -19,40 +16,15 @@
     # Now use it
     RewriteRule ^/upload/(.*)$ 
%{ENV:RW_PROTO}://upload.wikimedia.org/wikimedia.org/%1/$1 [R=302]
 
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
     # www. prefix
     RewriteCond %{HTTP_HOST} ^www.([a-z]+).wikimedia.org$
     RewriteRule ^(.*)$ %{ENV:RW_PROTO}://%1.wikimedia.org$1 [R=301,L]
 
-    # UseMod compatibility URLs
-    RewriteCond %{QUERY_STRING} ([^&;]+)
-    RewriteRule ^/wiki\.cgi$ 
%{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php?title=%1 [R=301,L]
-    RewriteRule ^/wiki\.cgi$ %{ENV:RW_PROTO}://%{SERVER_NAME}/w/index.php 
[R=301,L]
-
-    RewriteRule ^/math/(.*) %{ENV:RW_PROTO}://upload.wikimedia.org/math/$1 
[R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-       <IfModule mod_php5.c>
-           php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-       <IfModule mod_php5.c>
-           php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    Include "sites-enabled/wikimedia-common.incl"
+    Include "sites-enabled/wikimedia-legacy.incl"
 
     # Stats
     RewriteRule ^/stats(/(.*$)|$) 
%{ENV:RW_PROTO}://www.wikimedia.org/stats/%{SERVER_NAME}/$1 [R=301,L]
-    # Load robots.txt from the wiki
-    RewriteRule ^/robots.txt$ /w/robots.php [L]
-
 </VirtualHost>
 
 #bits
@@ -92,158 +64,49 @@
 
 # loginwiki
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName login.wikimedia.org
-
-    AllowEncodedSlashes On
-
-    RewriteEngine On
-
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    Include "sites-enabled/wikimedia-common.incl"
 </VirtualHost>
 
 # transitionteam private wiki - RT-4850
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName transitionteam.wikimedia.org
-
-    AllowEncodedSlashes On
 
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteRule ^/(.*)$ https://transitionteam.wikimedia.org/$1 [R=301,L]
-
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    RewriteRule ^/math/(.*) https://upload.wikimedia.org/math/$1 [R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    Include "sites-enabled/wikimedia-common.incl"
 </VirtualHost>
 
 # iegcom private wiki - RT-5042
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName iegcom.wikimedia.org
-
-    AllowEncodedSlashes On
 
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteRule ^/(.*)$ https://iegcom.wikimedia.org/$1 [R=301,L]
-
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    RewriteRule ^/math/(.*) https://upload.wikimedia.org/math/$1 [R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    
+    Include "sites-enabled/wikimedia-common.incl"
 </VirtualHost>
 
 # legalteamwiki bugzilla:61222
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName legalteam.wikimedia.org
-
-    AllowEncodedSlashes On
 
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteRule ^/(.*)$ https://legalteam.wikimedia.org/$1 [R=301,L]
 
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    RewriteRule ^/math/(.*) http://upload.wikimedia.org/math/$1 [R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    Include "sites-enabled/wikimedia-common.incl"
 </VirtualHost>
 
 # zerowiki RT #6831
 <VirtualHost *:80>
-    DocumentRoot "/srv/mediawiki/docroot/wikimedia.org"
     ServerName zero.wikimedia.org
-
-    AllowEncodedSlashes On
-
     RewriteEngine On
     RewriteCond %{HTTP:X-Forwarded-Proto} !https
     RewriteRule ^/(.*)$ https://zero.wikimedia.org/$1 [R=301,L]
-
-    # Primary wiki redirector:
-    Alias /wiki /srv/mediawiki/docroot/wikimedia.org/w/index.php
-    RewriteRule ^/$ /w/index.php
-
-    RewriteRule ^/math/(.*) http://upload.wikimedia.org/math/$1 [R=301]
-
-    # Configurable favicon
-    RewriteRule ^/favicon\.ico$ /w/favicon.php [L]
-
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w">
-        <IfModule mod_php5.c>
-            php_admin_flag engine on
-        </IfModule>
-    </Directory>
-    <Directory "/srv/mediawiki/docroot/wikimedia.org/w/extensions">
-        <IfModule mod_php5.c>
-            php_admin_flag engine off
-        </IfModule>
-    </Directory>
+    Include "sites-enabled/wikimedia-common.incl"
 </VirtualHost>
 
 # wikimedia.org
diff --git a/modules/mediawiki/manifests/web/sites.pp 
b/modules/mediawiki/manifests/web/sites.pp
index 58f0387..9e3fe92 100644
--- a/modules/mediawiki/manifests/web/sites.pp
+++ b/modules/mediawiki/manifests/web/sites.pp
@@ -14,6 +14,12 @@
         before => Service['apache2'],
     }
 
+    file { '/etc/apache2/sites-enabled/public-wiki-rewrites.incl':
+        ensure => present,
+        source => 
'puppet:///modules/mediawiki/apache/sites/public-wiki-rewrites.incl',
+        before => Service['apache2'],
+    }
+
     # Now the sites, in strict sequence
     apache::site { 'nonexistent':
         source   => 
'puppet:///modules/mediawiki/apache/sites/nonexistent.conf',

-- 
To view, visit https://gerrit.wikimedia.org/r/170300
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I440f2e37a437c96af4c7be7d1ca5255a16eecaa0
Gerrit-PatchSet: 1
Gerrit-Project: operations/puppet
Gerrit-Branch: production
Gerrit-Owner: Giuseppe Lavagetto <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to