REQUIREMENTS
============

- php 4.3 or newer

OPTIONAL
========

- pear File_Passwd (if flat files are used for authentication backend)
- libdb2 or other libdb. (if searching is used)

INSTALLATION
============

for example, to install bamboo for a site at www.domain.org/blue.

1) install required packages:
# apt-get install apache php4 php4-pear
# pear install File_Passwd

1) Untar bamboo as /var/www/bamboo.
   You can also use /usr/local/share/bamboo or /usr/share/bamboo,
   but this readme will use /var/www/bamboo in the examples.

2) Create site root directory, and make it so it is writable by the
   group the webserver is running as:
   # mkdir /var/www/blue
   # chgrp www-data /var/www/blue
   # chmod 775 /var/www/blue

3) Create a site property file
   The site property file site.prop specifies vital info about the site
   and lives in the site root directory. In our example, the
   site property file would be "/var/www/blue/site.prop".

   A site.prop example:
     siteroot = /blue
     sitename = test site
     authbackend = file:users.prop

   If your site was browsable as blue.org instead of domain.org/blue
   you would make 'siteroot' equal to '/' instead.

   The only required property is siteroot. Here are some of the defaults
   for other important site properties:
     sitename = Untitled Site
     title-prefix = 
     decorator = default
     decoratorurl = /bamboo/decorators
     liburl = /bamboo
     access-view = anonymous
     access-edit = anonymous
     cachedir = /tmp/bamboocache

3) configure apache

httpd.conf:
  Alias /bamboo/ /var/www/bamboo

.htaccess (ie /var/www/blue/.htaccess)
  ErrorDocument 404 /bamboo/frontdoor.php
  DirectoryIndex index.html index.php /bamboo/frontdoor.php
  Options -Indexes
  <Files *.prop>
      deny from all
  </Files>
   
or, in httpd.conf:
  <directory /var/www/blue>
    ErrorDocument 404 /bamboo/frontdoor.php
    DirectoryIndex index.html index.php /bamboo/frontdoor.php
    Options -Indexes
    <Files *.prop>
       deny from all
    </Files>
  </directory>

or, for blue.domain.org:  
  <VirtualHost *>
    ServerName blue.domain.org
    DocumentRoot /var/www/blue
    ErrorDocument 404 /bamboo/frontdoor.php
    DirectoryIndex index.html index.php /bamboo/frontdoor.php
    Options -Indexes
    <Files *.prop>
      deny from all
    </Files>
  </VirtualHost>                


AUTHENTICATION
==============

TEXT FILES

site.prop:
   authbackend=file:users.prop

users.prop:
   user1:$1$SPoaSG1n$23eLey961a6LF67RNr5RH/
   user2:$1$tGgaKF4c$FYR5xDfeQOdAKaSNO9uCO0

hash can be created with:
  # apt-get install whois 
  > mkpasswd --hash=md5
or
  # apt-get install php4 
  > php4 -r 'echo crypt("my password","$1$".md5(time())) . "\n";'
  (the md5(time()) is just to get a random salt).

APACHE REMOTE_USER

(e.g., auth_basic, auth_digest, auth_pam, auth_ldap)

site.prop:
    authbackend=external:
    (note trailing colon)

OTHERS?

It should be fairly easy to add any backend for the authentication, just
hasn't happened yet. Groups don't fully work yet, coming soon.

PERMISSIONS

Currently, there are only two permissions which matter: access-view and
access-edit. The interface does not provide a method to set these yet. 

For now, to change the permissions for a branch of the tree, edit the file
inherit.prop for the page. For example: 

/var/www/blue/private/inherit.prop:
  access-edit: user1
  access-view: user2
  
This will limit access to page 'private' (and all sub pages) to user 'user1'.

TODO
====

Page locking does not work yet: 
This means if two people are editing the same page, one person can 
easily overwrite the changes made by another. this is BAD BAD bad, and will be
fixed soon.

You can't edit permissions yet using the interface, and groups don't work.

You can't upload attachments. 

Versioning is not written yet.

this should be called before beginning a write to a file,
otherwise a user abort will create partially written files.
ignore_user_abort(true);

