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
