# HG changeset patch # User paulb # Date 1191020683 0 # Node ID dea0caec760221009a9e66d4cb32d72c2958aeee # Parent ff6bf5a5575e0815743feaf65b7ec745a0cac888 [project @ 2007-09-28 23:04:43 by paulb] Updated the documentation, rearranging the sections. diff -r ff6bf5a5575e -r dea0caec7602 docs/Webware/NOTES.txt --- a/docs/Webware/NOTES.txt Fri Sep 28 23:04:23 2007 +0000 +++ b/docs/Webware/NOTES.txt Fri Sep 28 23:04:43 2007 +0000 @@ -1,78 +1,10 @@ -Webware's CGI Adapter -===================== - -Copy the Webware/WebKit/Adapters/WebKit.cgi file to your CGI directory (eg. -/home/httpd/cgi-bin) and ensure that the permissions are appropriate for a CGI -program. - -Configuring in Apache ---------------------- - -Add a line like this to your Apache configuration file (eg. httpd.conf): - -ScriptAlias /webkit "/home/httpd/cgi-bin/WebKit.cgi" - -Configuring in AOLserver ------------------------- - -NOTE: AOLserver does not seem to handle "URL encoded" character values -NOTE: properly when such values appear in the path before the query string. - -Ensure the presence of the following lines in your configuration file (eg. -config.tcl): - -ns_section "ns/server/${servername}/module/nscgi" -ns_param map "GET /webkit /home/httpd/cgi-bin/WebKit.cgi" ;# CGI script file dir (GET). -ns_param map "POST /webkit /home/httpd/cgi-bin/WebKit.cgi" ;# CGI script file dir (POST). -ns_param interps CGIinterps - -ns_section "ns/interps/CGIinterps" -ns_param .cgi "/usr/bin/python" - -See docs/CGI/NOTES.txt for more information on AOLserver and CGI -configuration. - -Patches for CGIAdapter when working with AOLserver --------------------------------------------------- +Webware Support +=============== -AOLserver appears to set empty CONTENT_LENGTH environment variable values. A -patch for CGIAdapter.py in WebKit can be applied as follows (with a suitable -relative path to WebStack from Webware/WebKit): - -cd Webware/WebKit -patch -p0 < ../../WebStack/patches/Webware/WebKit/CGIAdapter.py.diff - -Authentication/Authorisation in Webware -======================================= - -Since Webware provides some kind of CGI emulation environment, the actual HTTP -headers involved with authentication/authorisation are not available to the -WebStack transaction. Therefore, WebStack depends on Webware having access to -the REMOTE_USER environment variable set by the Web server, and with Apache, -this variable is only ever set when Apache itself has performed -authentication. Whilst applications can send the "WWW-Authenticate" header to -HTTP clients, unless Apache has been instructed to process the resulting -username/password information, the REMOTE_USER will apparently remain -undefined. - -Consequently, it is recommended that the following kind of definition is added -to httpd.conf (for Apache) in order to give applications access to -username/password details: - - - AuthType Basic - AuthName "AuthResource" - AuthUserFile /usr/local/apache2/conf/users - require valid-user - - -The details of the application's deployment, including the exact pathname of -the users file and the appropriate access policy, must obviously be defined -according to the actual application concerned. - -Note that the above example will only apply authentication to either a -specific context (for Webware releases beyond 0.8.1) and only to a specific -"region" of possible URLs (for Webware 0.8.1 and earlier). +Applications can be deployed within Webware's WebKit application server and +exposed either directly using the server's HTTP support, or indirectly via a +CGI adapter working with another kind of Web server. The WebKit server has a +somewhat similar role to that of Apache Tomcat for Java Web applications. For Webware Releases Beyond 0.8.1 ================================= @@ -158,3 +90,79 @@ The WebStack package must reside on the PYTHONPATH, along with the package containing the application itself. + +Webware's CGI Adapter +===================== + +Copy the Webware/WebKit/Adapters/WebKit.cgi file to your CGI directory (eg. +/home/httpd/cgi-bin) and ensure that the permissions are appropriate for a CGI +program. + +Configuring in Apache +--------------------- + +Add a line like this to your Apache configuration file (eg. httpd.conf): + +ScriptAlias /webkit "/home/httpd/cgi-bin/WebKit.cgi" + +Configuring in AOLserver +------------------------ + +NOTE: AOLserver does not seem to handle "URL encoded" character values +NOTE: properly when such values appear in the path before the query string. + +Ensure the presence of the following lines in your configuration file (eg. +config.tcl): + +ns_section "ns/server/${servername}/module/nscgi" +ns_param map "GET /webkit /home/httpd/cgi-bin/WebKit.cgi" ;# CGI script file dir (GET). +ns_param map "POST /webkit /home/httpd/cgi-bin/WebKit.cgi" ;# CGI script file dir (POST). +ns_param interps CGIinterps + +ns_section "ns/interps/CGIinterps" +ns_param .cgi "/usr/bin/python" + +See docs/CGI/NOTES.txt for more information on AOLserver and CGI +configuration. + +Patches for CGIAdapter when working with AOLserver +-------------------------------------------------- + +AOLserver appears to set empty CONTENT_LENGTH environment variable values. A +patch for CGIAdapter.py in WebKit can be applied as follows (with a suitable +relative path to WebStack from Webware/WebKit): + +cd Webware/WebKit +patch -p0 < ../../WebStack/patches/Webware/WebKit/CGIAdapter.py.diff + +Authentication/Authorisation in Webware +======================================= + +Since Webware provides some kind of CGI emulation environment, the actual HTTP +headers involved with authentication/authorisation are not available to the +WebStack transaction. Therefore, WebStack depends on Webware having access to +the REMOTE_USER environment variable set by the Web server, and with Apache, +this variable is only ever set when Apache itself has performed +authentication. Whilst applications can send the "WWW-Authenticate" header to +HTTP clients, unless Apache has been instructed to process the resulting +username/password information, the REMOTE_USER will apparently remain +undefined. + +Consequently, it is recommended that the following kind of definition is added +to httpd.conf (for Apache) in order to give applications access to +username/password details: + + + AuthType Basic + AuthName "AuthResource" + AuthUserFile /usr/local/apache2/conf/users + require valid-user + + +The details of the application's deployment, including the exact pathname of +the users file and the appropriate access policy, must obviously be defined +according to the actual application concerned. + +Note that the above example will only apply authentication to either a +specific context (for Webware releases beyond 0.8.1) and only to a specific +"region" of possible URLs (for Webware 0.8.1 and earlier).