X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=plc.d%2Fhttpd;h=e6b409d3eb3fe16fed2839bc5299bac0cd04bab2;hb=0780b094a2f0b24ec24f8156e0e3548f3c05373b;hp=71d3c0e5821cd8f76d7d8418b3b0ae6cacc7b21a;hpb=c0ce5478da211b11a01da1d128848e9bbc6f080f;p=myplc.git diff --git a/plc.d/httpd b/plc.d/httpd index 71d3c0e..e6b409d 100755 --- a/plc.d/httpd +++ b/plc.d/httpd @@ -141,17 +141,43 @@ 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 @@ -159,14 +185,19 @@ WSGISocketPrefix run/wsgi 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) + Options +ExecCGI + $(apache_allow) - + EOF - + fi fi done >$plc_conf