X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fhttpd;h=48d340e4f55bcea1665f21711eda866605477642;hb=b7265c4c22b97a609320b65b3f3c07d7daad03bb;hp=8ac141d31cf3a95f0b6a035766722a3752c4344b;hpb=3772cc2c2d6908a83fe6d22e274cb85dd2e08e8f;p=myplc.git
diff --git a/plc.d/httpd b/plc.d/httpd
index 8ac141d..48d340e 100755
--- a/plc.d/httpd
+++ b/plc.d/httpd
@@ -57,7 +57,7 @@ case "$1" in
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"
+ open_basedir="$DocumentRoot:/etc/planetlab/php:/usr/share/plc_api/php:/var/log/myslice:/var/tmp/bootmedium:/var/log/bm:/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
@@ -141,26 +141,63 @@ EOF
-e "s/^Listen .*/Listen ${!https_port}/" \
-e "s///" \
$ssl_conf
- # this is used to locate the right certificates
- server_lower=$(echo $server | tr 'A-Z' 'a-z')
- cat <& /dev/null ; then
+ configure_for_mod_python=true
+ elif rpm -q mod_wsgi >& /dev/null ; then
+ configure_for_mod_wsgi=true
+ else
+ echo "Requires mod_python or mod_wsgi.... exiting"
+ exit 1
+ fi
+
+ # It would be tempting to use here
+ # but early tests showed this could be tricky/fragile
+ # So let's hard-wire it for one module
+ # A lot of trial-and -error was involved in getting this that way...
+
+ if [ -n "$configure_for_mod_python" ] ; then
+#################### for mod_python
+ cat <
+ SetHandler mod_python
+ PythonPath "sys.path + ['/usr/share/plc_api']"
+ PythonHandler apache.ModPython
+
+EOF
+
+ elif [ -n "$configure_for_mod_wsgi" ] ; then
+#################### for mod_wsgi
+ cat <
- WSGIScriptAlias /$plc_api_path_noslash /usr/share/plc_api/apache/plc.wsgi
-# xxx would be cool to be able to tweak this through config
- WSGIDaemonProcess plcapi-wsgi-ssl user=apache group=apache processes=1 threads=25
- WSGIProcessGroup plcapi-wsgi-ssl
# SSL
SSLEngine On
SSLCertificateFile /etc/planetlab/${server_lower}_ssl.crt
SSLCertificateKeyFile /etc/planetlab/${server_lower}_ssl.key
SSLCertificateChainFile /etc/planetlab/${server_lower}_ca_ssl.crt
-
+ WSGIScriptAlias /$plc_api_path_noslash /usr/share/plc_api/apache/plc.wsgi
+# xxx would be cool to be able to tweak this through config
+ WSGIDaemonProcess plcapi-wsgi-ssl user=apache group=apache processes=1 threads=25
+ WSGIProcessGroup plcapi-wsgi-ssl
+
+
+ Options +ExecCGI
+ $(apache_allow)
+
+
+
EOF
+ fi
fi
done >$plc_conf
@@ -176,7 +213,7 @@ EOF
cat <
- Deny from all
+ $(apache_forbid)
EOF
fi