adds in the set of "usual" variables : PLC_MAIL_ENABLED and PLC_SLICE_PREFIX
[myplc.git] / plc.d / httpd
index 637c210..f37d066 100755 (executable)
@@ -7,11 +7,15 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 # Copyright (C) 2006 The Trustees of Princeton University
 #
-# $Id: guest.init,v 1.12 2006/04/04 22:09:47 mlhuang Exp $
+# $Id: httpd,v 1.6 2006/10/30 16:13:50 mlhuang Exp $
 #
 
 # Source function library and configuration
 . /etc/plc.d/functions
+. /etc/planetlab/plc_config
+
+# Be verbose
+set -x
 
 # Default locations
 DocumentRoot=/var/www/html
@@ -32,8 +36,8 @@ case "$1" in
        dialog "$MESSAGE"
 
        # Set the default include path
-       include_path=".:$DocumentRoot/includes:$DocumentRoot/generated:/etc/planetlab/php"
-       sed -i -e "s@;include_path = \"\.:.*\"@include_path = \"$include_path\"@" $php_ini
+       include_path=".:$DocumentRoot/planetlab/includes:/etc/planetlab/php:/usr/share/plc_api/php"
+       sed -i -e "s@[;]*include_path = \"\.:.*\"@include_path = \"$include_path\"@" $php_ini
 
        # Disable default Listen directive
        sed -i -e '/^Listen/d' $httpd_conf
@@ -79,8 +83,7 @@ case "$1" in
 Listen ${!http_port}
 <VirtualHost *:${!http_port}>
     Redirect /db https://$PLC_WWW_HOST:$PLC_WWW_SSL_PORT/db
-    # XXX Not yet until we can get rid of oldapi
-    # Redirect /$PLC_API_PATH https://$PLC_API_HOST:$PLC_API_PORT/$PLC_API_PATH
+    Redirect /$PLC_API_PATH https://$PLC_API_HOST:$PLC_API_PORT/$PLC_API_PATH
 </VirtualHost>
 EOF
            fi
@@ -101,9 +104,9 @@ EOF
            if [ "$PLC_API_ENABLED" = "1" ] ; then
                cat <<EOF
 <Location $PLC_API_PATH>
-    SetHandler python-program
+    SetHandler mod_python
     PythonPath "sys.path + ['/usr/share/plc_api']"
-    PythonHandler mod_pythonXMLRPC
+    PythonHandler ModPython
 </Location>
 EOF
            else
@@ -126,6 +129,32 @@ EOF
        # Make alpina-logs directory writable for bootmanager log upload
        chown apache:apache $DocumentRoot/alpina-logs/nodes
 
+       # Make the Drupal files upload directory owned by Apache
+       mkdir -p $DocumentRoot/files
+       chown apache:apache $DocumentRoot/files
+
+       # Old style PHP constants
+       mkdir -p /etc/planetlab/php
+       cat >/etc/planetlab/php/site_constants.php <<"EOF"
+<?php
+include('plc_config.php');
+
+define('PL_API_SERVER', PLC_API_HOST);
+define('PL_API_PATH', PLC_API_PATH);
+define('PL_API_PORT', PLC_API_PORT);
+define('PL_API_CAPABILITY_AUTH_METHOD', 'capability');
+define('PL_API_CAPABILITY_PASS', PLC_API_MAINTENANCE_PASSWORD);
+define('PL_API_CAPABILITY_USERNAME', PLC_API_MAINTENANCE_USER);
+define('WWW_BASE', PLC_WWW_HOST);
+define('BOOT_BASE', PLC_BOOT_HOST);
+define('DEBUG', PLC_WWW_DEBUG);
+define('API_CALL_DEBUG', PLC_API_DEBUG);
+define('SENDMAIL', PLC_MAIL_ENABLED);
+define('PLANETLAB_SUPPORT_EMAIL', PLC_NAME . ' Support <' . PLC_MAIL_SUPPORT_ADDRESS . '>');
+define('PLANETLAB_SUPPORT_EMAIL_ONLY', PLC_MAIL_SUPPORT_ADDRESS);
+?>
+EOF
+
        plc_daemon httpd
        check