set open_basedir in php.ini to stop leaks
[myplc.git] / plc.d / httpd
index eaef6eb..3d21644 100755 (executable)
@@ -1,6 +1,4 @@
 #!/bin/bash
-# $Id$
-# $URL$
 #
 # priority: 600
 #
@@ -58,6 +56,10 @@ case "$1" in
        include_path=".:$DocumentRoot/planetlab/includes:$DocumentRoot/plekit/php:$DocumentRoot/generated:/etc/planetlab/php:/usr/share/plc_api/php"
        sed -i -e "s@[;]*include_path = \"\.:.*\"@include_path = \"$include_path\"@" $php_ini
 
+       # Set open_basedir so as to avoid leaks
+       open_basedir="$DocumentRoot:/etc/planetlab/php:/usr/share/plc_api/php:/var/log/myslice:/var/tmp/bootmedium:/tmp"
+       sed -i -e "s@[;]*open_basedir =.*@open_basedir = \"$open_basedir\"@" $php_ini
+       
        # for php-5.3 under fedora12, otherwise issues tons of warning messages
        # Set timezone in php.ini if not already there
        if grep '^;date.timezone' $php_ini >& /dev/null; then
@@ -65,6 +67,10 @@ case "$1" in
            sed -i -e 's,^;date.timezone.*,date.timezone = GMT,' $php_ini
        fi
 
+       if grep '^short_open_tag = Off' $php_ini >& /dev/null; then
+           sed -i -e 's,^short_open_tag = Off,short_open_tag = On,' $php_ini
+       fi
+
        # Disable default Listen directive
        sed -i -e '/^Listen/d' $httpd_conf
 
@@ -115,17 +121,17 @@ case "$1" in
                cat <<EOF
 Listen ${!http_port}
 # create wsgi socket where we have the permission
-WSGISocketPrefix run/wsgi
+### WSGISocketPrefix run/wsgi
 # Make sure that the admin web pages and API are always accessed via SSL
 <VirtualHost *:${!http_port}>
     Redirect /db https://$PLC_WWW_HOST:$PLC_WWW_SSL_PORT/db
     Redirect /planetlab https://$PLC_WWW_HOST:$PLC_WWW_SSL_PORT/planetlab
     Redirect /$PLC_API_PATH https://$PLC_API_HOST:$PLC_API_PORT/$PLC_API_PATH
-    Redirect /$PLC_API_WSGI_PATH/ https://$PLC_API_HOST:$PLC_API_PORT/$PLC_API_WSGI_PATH/
-    WSGIScriptAlias $PLC_API_WSGI_PATH /usr/share/plc_api/ModWSGI.wsgi
+###     Redirect /$PLC_API_WSGI_PATH/ https://$PLC_API_HOST:$PLC_API_PORT/$PLC_API_WSGI_PATH/
+###     WSGIScriptAlias $PLC_API_WSGI_PATH /usr/share/plc_api/ModWSGI.wsgi
     # XX make processes and threads configurable 
-    WSGIDaemonProcess plcapi-wsgi user=apache group=apache processes=1 threads=25
-    WSGIProcessGroup plcapi-wsgi
+###     WSGIDaemonProcess plcapi-wsgi user=apache group=apache processes=1 threads=25
+###     WSGIProcessGroup plcapi-wsgi
 </VirtualHost>
 EOF
            fi
@@ -155,9 +161,9 @@ EOF
 </Location>
 
 # mod_wsgi location
-<Location $PLC_API_WSGI_PATH/>
-    SetHandler mod_wsgi
-</Location>
+### <Location $PLC_API_WSGI_PATH/>
+###     SetHandler mod_wsgi
+### </Location>
 EOF
            else
                cat <<EOF
@@ -167,9 +173,9 @@ EOF
 </Location>
 
 # mod_wsgi location
-<Location $PLC_API_WSGI_PATH/>
-    Deny from all
-</Location> 
+### <Location $PLC_API_WSGI_PATH/>
+###     Deny from all
+### </Location> 
 EOF
            fi