addsite: Check we're not running as root.
[matthijs/servers/drsnuggles.git] / usr / local / bin / addsite
index 815ecfc1719ed81be24824c2e3dc19665491b62e..9ef8ae46876253e7881b007541091e35d4df3897 100755 (executable)
@@ -1,5 +1,10 @@
 #!/bin/sh
 
+if [ "$UID" -eq 0 ]; then
+       echo "No need to run as root."
+       exit 1
+fi
+
 if [ "$1" = "-h" -o "$1" = "--help" -o $# -ne 1 ]; then
        echo "Usage $0 <dirname>"
        echo "<dirname> is the full path to the site, such as /var/www/example.nl"
@@ -93,14 +98,14 @@ sudo chown -R 0:$GROUP "$DIR"
 # By default, let the owner have write access, the group have read access
 sudo setfacl -R --set d:u::rwX,d:g::rX,d:o::-,u::rwX,g::rX,o::- "$DIR"
 
-# Give the group write access to htdocs, applications and conf
-sudo setfacl -R -m g::rwX "$DIR/htdocs" "$DIR/applications" "$DIR/conf"
+# Give the group write access to htdocs, applications, conf and data
+sudo setfacl -R -m g::rwX,d:g::rwX "$DIR/htdocs" "$DIR/applications" "$DIR/conf" "$DIR/data"
 
 # Give lighttpd read access to the dir itself
 sudo setfacl -m u:$HTTPD_USER:rx "$DIR"
 
-# Allow lighttpd to read anything in htdocs, applications and conf
-sudo setfacl -R -m d:u:$HTTPD_USER:rX,u:$HTTPD_USER:rX "$DIR/htdocs" "$DIR/applications" "$DIR/conf"
+# Allow lighttpd to read anything in htdocs, applications, conf and data
+sudo setfacl -R -m d:u:$HTTPD_USER:rX,u:$HTTPD_USER:rX "$DIR/htdocs" "$DIR/applications" "$DIR/conf" "$DIR/data"
 
 # Allow lighttpd to write new files in logs (but not touch existing or those created by lighttpd)
 sudo setfacl -m u:$HTTPD_USER:rwX "$DIR/logs"
@@ -118,11 +123,14 @@ sudo setfacl -m u:$SCRIPT_USER:rwX "$DIR/logs" "$DIR/data"
 sudo sh -c "chown -R $SCRIPT_USER \"$DIR\"/logs/php.log* \"$DIR\"/logs/wipi.log*"
 sudo sh -c "chown -R $HTTPD_USER \"$DIR\"/logs/access.log*"
 
-# Now, set the error_log setting in php.ini
+# Now, set the error_log setting in php.ini. This ensures each domein will have
+# a separate logfile for errors, since lighttpd only supports a single error
+# log (When error_log is not set, error messages will go to lighttpd's log
+# automatically).
 
 echo Updating `basename $PHP_CONFIG`
-
 sudo sed -i "s#^error_log *=.*#error_log = $DIR/$PHP_ERRORLOG#" "$DIR/$PHP_CONFIG"
+sudo update-php.ini
 
 
 # Done!