Eliminate duplication (and almost duplication!) in mediaiwiki config
authorTom Hughes <tom@compton.nu>
Sun, 19 Apr 2015 16:32:44 +0000 (17:32 +0100)
committerTom Hughes <tom@compton.nu>
Sun, 19 Apr 2015 16:57:48 +0000 (17:57 +0100)
cookbooks/mediawiki/providers/site.rb
cookbooks/mediawiki/templates/default/apache.erb

index 1548da5c1fc480cc12e7096bd157328f23ef8ec5..c17f871cac04ea5c5d7dc3600621a6ec05d8cb45 100644 (file)
@@ -400,13 +400,15 @@ action :create do
     backup false
   end
 
+  ports = new_resource.ssl_enabled ? [80, 443] : [80]
+
   apache_site new_resource.name do
     cookbook "mediawiki"
     template "apache.erb"
     directory site_directory
     variables :aliases => Array(new_resource.aliases),
               :private => new_resource.private,
-              :ssl_enabled => new_resource.ssl_enabled,
+              :ports => ports,
               :ssl_certificate => new_resource.ssl_certificate,
               :ssl_certificate_chain => new_resource.ssl_certificate_chain
     reload_apache false
index 16f97362d9777c97e0f60b321d78d3cfebe9456a..0bedf21248d758bc8932c006c47e3761c42cf7e9 100644 (file)
@@ -1,6 +1,7 @@
 # DO NOT EDIT - This file is being maintained by Chef
+<% @ports.each do |port| -%>
 
-<VirtualHost *:80>
+<VirtualHost *:<%= port %>>
   ServerName <%= @name %>
 <% @aliases.each do |alias_name| -%>
   ServerAlias <%= alias_name %>
@@ -8,8 +9,15 @@
 
   ServerAdmin webmaster@openstreetmap.org
 
+<% if port == 443 -%>
+  SSLEngine on
+
+  CustomLog /var/log/apache2/<%= @name %>-secure-access.log combined
+  ErrorLog /var/log/apache2/<%= @name %>-secure-error.log
+<% else -%>
   CustomLog /var/log/apache2/<%= @name %>-access.log combined
   ErrorLog /var/log/apache2/<%= @name %>-error.log
+<% end -%>
 
   DocumentRoot <%= @directory %>
 
     Require all denied
   </Files>
 </VirtualHost>
-<% if @ssl_enabled -%>
-<VirtualHost *:443>
-  ServerName <%= @name %>
-<% @aliases.each do |alias_name| -%>
-  ServerAlias <%= alias_name %>
-<% end -%>
-
-  ServerAdmin webmaster@openstreetmap.org
-
-  SSLEngine on
-
-  CustomLog /var/log/apache2/<%= @name %>-secure-access.log combined
-  ErrorLog /var/log/apache2/<%= @name %>-secure-error.log
-
-  DocumentRoot <%= @directory %>
-
-  php_admin_value open_basedir <%= @directory %>/:/usr/share/php/:/tmp/
-  #php_admin_value disable_functions "exec,shell_exec,system,passthru,popen,proc_open"
-  php_value memory_limit 128M
-  php_value max_execution_time 240
-  php_value upload_max_filesize 70M
-  php_value post_max_size 100M
-
-  RedirectMatch 301 ^/$                           /wiki/Main_Page
-
-  #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
-
-  Alias /wiki <%= @directory %>/w/index.php
-
-  #Support /pagename -> /wiki/pagename
-  RewriteEngine on
-  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} !^/server-status
-  RewriteCond %{LA-U:REQUEST_FILENAME} !-f
-  RewriteCond %{LA-U:REQUEST_FILENAME} !-d
-  RewriteRule ^/(.*) /wiki/$1 [R,L]
-
-  <Directory <%= @directory %>>
-    Options -Indexes
-    Require all granted
-  </Directory>
-
-  <Directory <%= @directory %>/w/images/>
-    # No php execution in the upload area
-    php_admin_flag engine off
-    Options -ExecCGI -Includes -Indexes
-    AllowOverride None
-<% if @private -%>
-    Require all denied
-<% end -%>
-  </Directory>
-
-  <Directory <%= @directory %>/w/images/thumb/>
-    RewriteEngine on
-
-    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]
-  </Directory>
-
-  <Directory <%= @directory %>/w/maintenance/>
-    Require all denied
-  </Directory>
-
-  <Files <%= @directory %>/w/LocalSettings.php>
-    Require all denied
-  </Files>
-
-  <Directory <%= @directory %>/w/images/>
-    Options -ExecCGI -Includes -Indexes
-    AllowOverride None
-    AddType text/plain .html .htm .shtml
-    php_admin_flag engine off
-  </Directory>
-
-  <Directory <%= @directory %>/w/cache/>
-    Options -ExecCGI -Includes -Indexes
-    AllowOverride None
-    AddType text/plain .html .htm .shtml
-    php_admin_flag engine off
-  </Directory>
-
-  <Directory ~ "\.svn">
-    Require all denied
-  </Directory>
-
-  <Directory ~ "\.git">
-    Require all denied
-  </Directory>
-
-  <Files ~ "~$">
-    Require all denied
-  </Files>
-</VirtualHost>
 <% end -%>