Bug 10646 - warn if mod_rewrite is not enabled
authorRobin Sheat <robin@catalyst.net.nz>
Tue, 19 Nov 2013 03:19:12 +0000 (16:19 +1300)
committerGalen Charlton <gmc@esilibrary.com>
Fri, 10 Jan 2014 15:45:38 +0000 (15:45 +0000)
Koha requires mod_rewrite. If it's not enabled in Apache, then
koha-create will now abort with a helpful error message. Also adds a
warning when not run as root to avoid confusing errors.

Test plan:
 * apply the patch
 * a2dismod rewrite
 * run koha-create without sudo, note the error about being root
 * run koha-create with sudo, note the error about rewrite
 * a2enmod rewrute
 * repeat test above, note that it works

Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
Works as expected.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
debian/scripts/koha-create

index 7f05eb0..2c9752c 100755 (executable)
@@ -349,6 +349,26 @@ else
     MEMCACHED_PREFIX=""
 fi
 
+# Are we root? If not, the mod_rewrite check will fail and be confusing, so
+# we look into this first.
+if [[ $UID -ne 0 ]]
+then
+    die "This script must be run with root privileges."
+fi
+
+# Check that mod_rewrite is installed so we can bail out if it's not.
+if ! /usr/sbin/apachectl -M 2> /dev/null | grep -q 'rewrite_module'
+then
+    cat 1>&2  <<EOM
+
+Koha requires mod_rewrite to be enabled within Apache in order to run.
+Typically this can be enabled with:
+
+    sudo a2enmod rewrite
+EOM
+    die
+fi
+
 opacdomain="$OPACPREFIX$name$OPACSUFFIX$DOMAIN"
 intradomain="$INTRAPREFIX$name$INTRASUFFIX$DOMAIN"