]> gitweb.fluxo.info Git - puppet-pmwiki.git/commitdiff
Adding pmwiki install command
authorSilvio Rhatto <rhatto@riseup.net>
Fri, 28 Jun 2013 16:54:03 +0000 (13:54 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Fri, 28 Jun 2013 16:54:03 +0000 (13:54 -0300)
manifests/init.pp
templates/pmwiki.sh.erb

index 3d0661328e58dfd8da3fa27a9adacb4c4890fea2..2c6ddac4c64b7e37a2e6ce6f9f9360a65405374f 100644 (file)
@@ -1,4 +1,5 @@
 class pmwiki(
+  $sites_folder = '/var/sites',
   $www_folder = '/var/www/data'
 ) {
 
index 204916eade4c5de068863f9bf83fca84de8cfa22..d16088c56e5dc58e893264e52483e8cdf7603163 100644 (file)
@@ -3,6 +3,7 @@
 # pmwiki management script.
 #
 
+SITES="<%= scope.lookupvar('pmwiki::sites_folder') %>"
 BASE="<%= scope.lookupvar('pmwiki::www_folder') %>"
 
 # Check for existing installations
@@ -38,7 +39,7 @@ function pmwiki_deploy {
   chown -R root.root pmwiki-$new/
 }
 
-# Upgrade a pmwiki instance using upstream source.
+# Upgrade a pmwiki instance using upstream source
 function pmwiki_upgrade {
   if [ "$#" != "2" ]; then
     echo "Usage: `basename $0` upgrade <old_version> <new_version>"
@@ -83,9 +84,59 @@ function pmwiki_upgrade {
   echo "Check procedure and remove pmwiki-$old once you make sure that everything is fine."
 }
 
+# Install a pmwiki instance
+function pmwiki_install {
+  local site="$1"
+
+  if [ -z "$site" ]; then
+    echo "Usage: `basename $0` install <name>"
+    exit 1
+  fi
+
+  if [ ! -d "$BASE/wiki" ]; then
+    echo "Please deploy pmwiki first"
+    exit 1
+  fi
+
+  if [ ! -d "$SITES/$site" ]; then
+    echo "Please configure site $site first"
+    exit 1
+  fi
+
+  if [ -e "$SITES/$site/wiki/field.php" ]; then
+    echo "Looks like $site wiki is already installed"
+    exit 1
+  fi
+
+  mkdir -p $SITES/$site/wiki
+  echo '<?php include("/var/www/data/wiki/pmwiki.php"); ?>' > $SITES/$site/wiki/field.php
+
+  echo > $SITES/$site/wiki/.htaccess <<-EOF
+Options +FollowSymLinks
+RewriteEngine on
+RewriteRule ^/?$ https://$site.<%= ::domain %>/Main/HomePage [R=permanent,QSA,L]
+RewriteRule ^([^/a-z].*) field.php?n=$1 [QSA,L]
+EOF
+
+  echo > $SITES/$site/wiki/local/config.php <<-EOF
+<?php if (!defined('PmWiki')) exit();
+
+$ScriptUrl = "https://$site.<%= ::domain %>";
+$EnablePathInfo = 1;
+EOF
+
+  (
+    cd $SITES/$site/wiki
+    ln -s field.php index.php
+    mkdir -p local uploads wiki.d cookbook
+    chown $site. wiki.d
+    chown root.$site local/config.php
+  )
+}
+
 # Main procedure
 if [ -z "$1" ]; then
-  echo "Usage: `basename $0` <deploy|upgrade> [arguments]"
+  echo "Usage: `basename $0` <deploy|upgrade|install> [arguments]"
   exit 1
 elif [ "$1" == "deploy" ]; then
   shift
@@ -93,4 +144,7 @@ elif [ "$1" == "deploy" ]; then
 elif [ "$1" == "upgrade" ]; then
   shift
   pmwiki_upgrade $*
+elif [ "$1" == "install" ]; then
+  shift
+  pmwiki_install $*
 fi