The following message is also available here:
http://plan9.stanleylieber.com/werc
Install werc on Plan 9
======================
werc can be installed on Plan 9 under rc-httpd with minimal alterations.
Patches are linked at the end of this file.
rc-httpd
--------
Install rc-httpd.
The rc path must be changed to #!/bin/rc in the following files:
rc-httpd/handlers/cgi
rc-httpd/handlers/dir-index
rc-httpd/handlers/error
rc-httpd/handlers/form-test
rc-httpd/handlers/redirect
rc-httpd/handlers/serve-static
rc-httpd/handlers/static-or-cgi
rc-httpd/handlers/static-or-index
rc-httpd/handlers/web-test
rc-httpd/rc-httpd
rc-httpd/rc-httpd
-----------------
Modify the following lines:
rc_httpd_dir = /path/to/rc-httpd
path = ( /bin $rc_httpd_dir/handlers )
cgi_path = ( /bin )
Optionally, remove the following line:
echo `{date} :: $SERVER_NAME :: $request >[1=2]
and add a function to enable slightly more verbose logging:
fn do_log {
echo `{date} :: $SERVER_NAME :: $request :: $HTTP_USER_AGENT ::
$1 :: $HTTP_REFERER >>$rc_httpd_dir/log >[2=1]
}
do_log takes as its argument the result of the current page request
(e.g., 200, 404, 500, 503, etc.).
See the included patch below for suggestions on where to insert calls to do_log.
rc-httpd/handlers/dir-index
---------------------------
Modify the following line:
- if(! test -r $full_path -a -x $full_path) {
+ if(! test -r $full_path -x $full_path) {
listen
------
To launch rc-httpd with listen(8), create the file /bin/service/tcp80:
#!/bin/rc
/path/to/rc-httpd/rc-httpd >>[2]/path/to/rc-httpd/log
The log file must be writeable by the web server process.
werc
----
Unpack werc into your chosen directory: /usr/username/public_html/werc
Create a directory for your domain:
/usr/username/public_html/werc/sites/domain.com
The rc path must be changed to #!/bin/rc in the following files:
werc/bin/aux/addwuser.rc
werc/bin/aux/bpst.rc
werc/bin/aux/gensitemaptxt.rc
werc/bin/aux/runtsts.rc
werc/bin/contrib/webserver.rc
werc/bin/fltr_cache.rc
werc/bin/werc.rc
werc/bin/werc_errlog_wrap.rc
The awk path must be changed to #!/bin/awk -f in the following files:
werc/bin/contrib/urldecode.awk
werc/bin/template.awk
Optionally, if perl has been installed on your system, correct the
path in the following file:
werc/bin/contrib/markdown.pl
werc/etc/initrc
---------------
Modify the following lines:
#plan9port=$PLAN9
path=(/bin . ./bin ./bin/contrib)
formatter=(md2html.awk)
#formatter=(fltr_cache markdown.pl)
fltr_cache may be used if /tmp is writeable by the web server process.
werc/bin/werc.rc
----------------
Modify the following lines:
path=(. /bin ./bin)
werc/lib/default_master.tpl
---------------------------
Modify the following lines:
- <h1 class="headerTitle"><a href="/">%($"siteTitle%) <span
id="headerSubTitle">%($"siteSubTitle%)</span></a></h1>
+ <h1 class="headerTitle"><a href="/">%($"siteTitle%)
+ % if(! ~ $#siteSubTitle 0) {
+ <span id="headerSubTitle">%($"siteSubTitle%)</span>
+ % }
+ </a></h1>
- %($"extraHeaders%)
+ % echo $"extraHeaders
rc-httpd/select-handler
-----------------------
To configure werc for rc-httpd, create the file
/path/to/rc-httpd/select-handler:
#!/bin/rc
cd /path/to/rc-httpd
if(~ $SERVER_NAME domain.com) {
if(~ $location /_images/* /favicon.ico) {
PATH_INFO = $location
FS_ROOT = /usr/username/public_html/werc/sites/domain.com
static-or-index
}
if not {
PATH_INFO = $location
FS_ROOT = /usr/username/public_html/werc/sites/domain.com
static-or-cgi /usr/username/public_html/werc/bin/werc.rc
}
}
if not error 503
Directories and filenames that begin with an _ do not appear in werc's
default sidebar menu.
Patches
-------
http://plan9.stanleylieber.com/rc-httpd/rc-httpd_plan9.diff
http://plan9.stanleylieber.com/werc/werc_plan9.diff
--
You received this message because you are subscribed to the Google Groups
"werc" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/werc9?hl=en.