ref: 804d83fcc8aab2929d0a08494e5c244692673a3d
parent: ea6beab78de0d46eb9aa5736aac8033099181c33
author: uriel <uriel@engel.se.cat-v.org>
date: Mon Jan 19 22:52:21 EST 2009
Add werc.cat-v.org/ site, it serves as sample site.
--- /dev/null
+++ b/sites/werc.cat-v.org/_werc/config
@@ -1,0 +1,3 @@
+siteTitle='werc'
+siteSubTitle='Bringing minimalism and sanity to the web'
+
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/apache.md
@@ -1,0 +1,92 @@
+Setup werc with Apache
+======================
+
+Note: Apache 2.x configuration should be similar to 1.3.x, but Apache 2.x is not recommended due to unwindy complexity, please use a saner web server.
+
+Apache 1.3.x: minimalist configuration
+======================================
+
+No virtual hosts and let werc handle static files.
+
+ RewriteEngine On
+ ServerName test.cat-v.org
+ AddHandler cgi-script .rc
+
+ <Directory /var/www/werc/bin>
+ Options ExecCGI
+ </Directory>
+ <IfModule mod_dir.c>
+ DirectoryIndex /werc.rc
+ </IfModule>
+
+ RewriteRule /werc.rc /var/www/werc/bin/werc.rc
+ DocumentRoot /var/www/werc/bin/
+ ErrorDocument 404 /werc.rc
+
+
+Apache 1.3.x: standard configuration
+====================================
+
+This lets apache handle static files.
+
+ <VirtualHost *>
+
+ RewriteEngine On
+ ServerName test.cat-v.org
+ AddHandler cgi-script .rc
+
+ <Directory /var/wwww/werc/bin>
+ Options ExecCGI
+ </Directory>
+ <IfModule mod_dir.c>
+ DirectoryIndex /werc.rc
+ </IfModule>
+
+ RewriteRule (.*) /var/www/werc/sites/%{HTTP_HOST}/$1
+
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule .* /var/www/werc/bin/werc.rc
+
+ RewriteRule /werc.rc /var/www/werc/bin/werc.rc
+ DocumentRoot /var/www/werc/bin/
+ ErrorDocument 404 /werc.rc
+
+ </VirtualHost>
+
+
+Apache 1.3.x: advanced configuration
+====================================
+
+
+ <VirtualHost *>
+
+ RewriteEngine On
+ ServerName cat-v.org
+ ServerAlias www.cat-v.org harmful.cat-v.org 9p.cat-v.org gsoc.cat-v.org doc.cat-v.org uriel.cat-v.org www.binarydream.org ninetimes.cat-v.org *.cat-v.org
+ AddHandler cgi-script .rc
+ AddHandler cgi-script .cgi
+ <Directory /home/uriel/cat-v.org/bin>
+ Options ExecCGI
+ </Directory>
+ <IfModule mod_dir.c>
+ DirectoryIndex /werc.rc
+ </IfModule>
+
+ RewriteRule ^/hg/(.*) /home/uriel/cat-v.org/bin/hgwebdir.cgi/$1 [L]
+
+ RewriteRule /pub/style/style.css /home/uriel/cat-v.org/pub/style/style.css [L]
+ RewriteRule /pub/ /home/uriel/cat-v.org/pub/ [L]
+ RewriteRule /favicon.ico /home/uriel/cat-v.org/pub/default_favicon.ico [L]
+
+
+ RewriteRule (.*) /home/uriel/cat-v.org/sites/%{HTTP_HOST}/$1
+
+ RewriteCond %{REQUEST_FILENAME} !-f
+ RewriteRule .* /home/uriel/cat-v.org/bin/werc.rc
+
+ RewriteRule /werc.rc /home/uriel/cat-v.org/bin/werc.rc
+ DocumentRoot /home/uriel/cat-v.org/bin/
+ ErrorDocument 404 /werc.rc
+
+ </VirtualHost>
+
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/cherokee.md
@@ -1,0 +1,31 @@
+Configuring werc with Cherokee
+==============================
+
+Contributed by sqweek, thanks!
+
+Cherokee Version 0.7.1
+----------------------
+
+ vserver!default!rule!600!only_secure = 0
+ vserver!default!rule!600!handler = cgi
+ vserver!default!rule!600!handler!error_handler = 1
+ vserver!default!rule!600!handler!check_file = 1
+ vserver!default!rule!600!handler!script_alias =
+ /usr/local/werc/bin/werc.rc
+ vserver!default!rule!600!handler!pass_req_headers = 0
+ vserver!default!rule!600!match = directory
+ vserver!default!rule!600!match!directory = /code
+ vserver!default!rule!600!match!final = 1
+
+
+Cherokee Version 0.5.3
+----------------------
+
+ Directory /code {
+ Handler cgi {
+ Scriptalias /usr/local/werc/bin/werc.rc
+ }
+ }
+
+
+Isn't progress wonderful?
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/lighttpd.md
@@ -1,0 +1,40 @@
+Setup werc with lighttpd
+========================
+
+Minimal setup
+-------------
+This is the most minimal setup, for a single domain, and lets werc handle static files.
+
+ $HTTP["host"] =~ "^test\.cat-v\.org$" {
+ index-file.names = ( )
+ server.error-handler-404 = "/werc.rc"
+ alias.url += ( "/werc.rc" => "/var/www/cat-v.org/bin/werc.rc" ) # Here use the path to werc.rc in your system.
+ cgi.assign += ( ".rc" => "")
+ server.dir-listing = "disable"
+ }
+
+Advanced setup
+--------------
+
+A more ellaborate setup, using virtual hosts to handle multiple domains, and
+alias to let lighttpd handle static files. Also show how to add external cgi's
+to the setup, in this case Mercurial's web interface.
+
+ $HTTP["host"] =~ "^((harmful|9p|gsoc|doc|uriel|src|repo|www|)(\.|)cat-v\.org|(www\.)?binarydream.org|)$" {
+
+ index-file.names = ( )
+ evhost.path-pattern = "/var/www/cat-v.org/sites/%3.%0/"
+ server.error-handler-404 = "/werc.rc"
+
+ alias.url += ( "/pub/" => "/var/www/cat-v.org/pub/" )
+ alias.url += ( "/favicon.ico" => "/var/www/cat-v.org/pub/default_favicon.ico" )
+ alias.url += ( "/doc/" => "/var/www/cat-v.org/sites/doc.cat-v.org/" )
+ alias.url += ( "/werc.rc" => "/var/www/cat-v.org/bin/werc.rc" )
+ alias.url += ( "/debug.rc" => "/var/www/cat-v.org/bin/debug.rc" )
+ cgi.assign += ( ".rc" => "")
+ server.dir-listing = "disable"
+
+ cgi.assign += ( ".cgi" => "")
+ url.rewrite-once = ( "/hg/(.*)" => "/hg/hgwebdir.cgi/$1" )
+ alias.url += ( "/hg/" => "/var/www/cat-v.org/bin/" )
+ }
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/nginx.md
@@ -1,0 +1,4 @@
+Setup werc with NGINX
+=====================
+
+No sample conf at the moment (please send me one if you have a setup using NGINX). You probably will want to to use [fcgiwrap](http://nginx.localdomain.pl/wiki/FcgiWrap)
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/nhttpd.md
@@ -1,0 +1,56 @@
+Nhttpd config for werc
+======================
+
+Contributed by nsz, thanks!
+
+The last two sections are relevant: aliases (to make non-content site material,
+like css, available) and virtual hosts (the document root is set to `werc.rc`
+so it will handle every request).
+
+ # MAIN [MANDATORY]
+
+ servername main.host.com
+ serveradmin admin[at]mail.com
+ serverroot /var/nostromo
+ servermimes conf/mimes
+ logpid logs/nhttpd.pid
+ logaccess logs/access_log
+ docroot /var/nostromo/htdocs
+ docindex index.html
+
+ # SETUID [RECOMMENDED]
+
+ user nhttpd
+
+ # BASIC AUTHENTICATION [OPTIONAL]
+ #...
+
+ # SSL [OPTIONAL]
+ #...
+
+ # CUSTOM RESPONSES [OPTIONAL]
+ #...
+
+ # HOMEDIRS [OPTIONAL]
+ #...
+
+ # ALIASES [OPTIONAL]
+
+ /pub /path/to/werc/pub
+ /favicon.ico /path/to/werc/pub/default_favicon.ico
+
+ # VIRTUAL HOSTS [OPTIONAL]
+
+ vhost1.com /path/to/werc/bin/werc.rc
+ vhost2.com /path/to/werc/bin/werc.rc
+ #...
+
+To use werc on `main.host.com` as well just set `docroot` to `/path/to/werc/bin/werc.rc`
+and set `docindex` to empty string.
+
+There was a bug in nhttpd <=1.9, it did not set `SERVER_NAME` properly (leaft it `main.host.com`).
+To solve this problem just add a
+
+ SERVER_NAME=$HTTP_HOST
+
+line somewhere at the top of `werc.rc`.
--- /dev/null
+++ b/sites/werc.cat-v.org/docs/web_server_setup/plan_9_httpd.md
@@ -1,0 +1,4 @@
+Setup werc with Plan 9's httpd
+==============================
+
+Coming soon, thanks to soul9!
--- /dev/null
+++ b/sites/werc.cat-v.org/index.md
@@ -1,0 +1,8 @@
+Werc is a minimalist web framework built on the Unix and Plan 9 *tool philosophy* of software design.
+
+* Database free, uses files and directories instead.
+* Written using the rc shell, leveraging the standard unix/plan9 command toolkit.
+* Minimize tedious work: avoid having to write HTML, can use markdown instead.
+* Very minimalist yet extensible codebase: 150 lines of code highly functional core, with extra functionality in modular apps.
+
+
--- /dev/null
+++ b/sites/werc.cat-v.org/wiki/_werc/config
@@ -1,0 +1,2 @@
+enable_wiki=yes
+enabled_apps=($enabled_apps bridge dirdir)