BryanDavis has uploaded a new change for review.

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


Change subject: Add Puppet role for thumb.php 404 handler.
......................................................................

Add Puppet role for thumb.php 404 handler.

Creates a new `role::thumb_on_404` puppet class that can be used to configure
the mediawiki vhost to automatically generate thumbnails that are not found on
disk.

This patch relies on gerrit:78401 which introduces the apache::config puppet
class.

Change-Id: I497b8ef62403c5f0f3a1505b8c79e52974b56b8f
---
M puppet/manifests/roles.pp
M puppet/modules/mediawiki/manifests/apache.pp
M puppet/modules/mediawiki/templates/mediawiki-apache-site.erb
A puppet/templates/thumb_on_404/apache.conf.erb
4 files changed, 37 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/vagrant 
refs/changes/09/78409/1

diff --git a/puppet/manifests/roles.pp b/puppet/manifests/roles.pp
index 5a886f8..1f34a2d 100644
--- a/puppet/manifests/roles.pp
+++ b/puppet/manifests/roles.pp
@@ -360,3 +360,21 @@
         require => Package['php5-xdebug'],
     }
 }
+
+# == CLass: role::thumb_on_404
+# This class enables dynamic thumbnail generation via the thumb.php script for
+# 404 thumb images.
+class role::thumb_on_404 {
+    include role::mediawiki
+
+    mediawiki::settings { 'thumb on 404':
+        values => [
+            '$wgThumbnailScriptPath = false',
+            '$wgGenerateThumbnailOnParse = false',
+        ],
+    }
+
+    apache::config { 'thumb on 404':
+        directives => template('thumb_on_404/apache.conf.erb'),
+    }
+}
diff --git a/puppet/modules/mediawiki/manifests/apache.pp 
b/puppet/modules/mediawiki/manifests/apache.pp
index 1b67421..7956613 100644
--- a/puppet/modules/mediawiki/manifests/apache.pp
+++ b/puppet/modules/mediawiki/manifests/apache.pp
@@ -29,6 +29,11 @@
         ensure => present,
     }
 
+    @apache::config { 'dummy':
+        directives   => '# placeholder to keep apache happy',
+        priority => 0,
+    }
+
     file { '/var/www/favicon.ico':
         ensure  => file,
         require => Package['apache2'],
diff --git a/puppet/modules/mediawiki/templates/mediawiki-apache-site.erb 
b/puppet/modules/mediawiki/templates/mediawiki-apache-site.erb
index c50b539..536bde1 100644
--- a/puppet/modules/mediawiki/templates/mediawiki-apache-site.erb
+++ b/puppet/modules/mediawiki/templates/mediawiki-apache-site.erb
@@ -33,4 +33,7 @@
 
     ErrorLog "/vagrant/logs/apache-error.log"
     LogLevel error
+
+    # Include Puppet managed configuration snippets
+    Include site-conf.d/<%= scope.lookupvar('mediawiki::wiki_name') %>/*.conf
 </VirtualHost>
diff --git a/puppet/templates/thumb_on_404/apache.conf.erb 
b/puppet/templates/thumb_on_404/apache.conf.erb
new file mode 100644
index 0000000..c54d4d1
--- /dev/null
+++ b/puppet/templates/thumb_on_404/apache.conf.erb
@@ -0,0 +1,11 @@
+RewriteEngine On
+
+# call thumb.php for thumb images not on disk
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule ^/images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ 
/w/thumb.php?f=$1&width=$2 [PT,QSA,B]
+
+# call thumb.php for thumb archive images not on disk
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteCond %{REQUEST_FILENAME} !-d
+RewriteRule 
^/images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ 
/w/thumb.php?f=$1&width=$2&archived=1 [PT,QSA,B]

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I497b8ef62403c5f0f3a1505b8c79e52974b56b8f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/vagrant
Gerrit-Branch: master
Gerrit-Owner: BryanDavis <[email protected]>

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

Reply via email to