#!/bin/bash
+# $Id$
+# $URL$
#
-# priority: 700
+# priority: 600
#
# Configure Apache web server
#
# Mark Huang <mlhuang@cs.princeton.edu>
# Copyright (C) 2006 The Trustees of Princeton University
#
-# $Id$
-#
# Source function library and configuration
. /etc/plc.d/functions
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
+ # 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
+ dialog 'Setting PHP timezone to GMT'
+ 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
fi
done
+ # Create a separate path for mod_wsgi until we are ready to replace
+ # mod_python
+ PLC_API_WSGI_PATH=/PLCAPIWSGI
+
# HTTP configuration
if [ $skip_http -eq 0 -a -n "${!http_port}" ] ; then
cat <<EOF
Listen ${!http_port}
+# create wsgi socket where we have the permission
+### 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
+ # XX make processes and threads configurable
+### WSGIDaemonProcess plcapi-wsgi user=apache group=apache processes=1 threads=25
+### WSGIProcessGroup plcapi-wsgi
</VirtualHost>
EOF
fi
(
if [ "$PLC_API_ENABLED" = "1" ] ; then
cat <<EOF
+# mod_python location
<Location $PLC_API_PATH>
SetHandler mod_python
PythonPath "sys.path + ['/usr/share/plc_api']"
PythonHandler ModPython
</Location>
+
+# mod_wsgi location
+### <Location $PLC_API_WSGI_PATH/>
+### SetHandler mod_wsgi
+### </Location>
EOF
else
cat <<EOF
+# mod_python location
<Location $PLC_API_PATH>
Deny from all
</Location>
+
+# mod_wsgi location
+### <Location $PLC_API_WSGI_PATH/>
+### Deny from all
+### </Location>
EOF
fi