ZBKB README
ZBKB					README
====					======

Version 0.1 

 ************************************************** 
 * IMPORTANT - ENSURE YOU READ AND UNDERSTAND ALL *
 * OF THIS DOCUMENT BEFORE INSTALLING AND USING   *
 * ZBKB!                                          *
 **************************************************


Contents
--------
* Preamble
* Introduction
* Features
* Pre-requisites
* Installation
* Postamble


Preamble
--------

ZBKB is distributed under the terms of the GNU General 
Public Licence, a brief outline of which can be found 
at the top of each of the source files. For further 
information, consult http://www.gnu.org.


Introduction
------------
ZBKB (ZazzyBob Knowledge Base) is a fully featured 
Knowledge Base application written using PHP for 
it's frontend. It is designed to run on an Apache 
webserver, with at least PHP 4.0 loaded. ZBKB uses 
PostgreSQL for its database backend. 


Features
--------
Even in this early version, ZBKB is a feature rich and 
reliable platform suitable for situations where a fast 
server-based knowledge base is required.

Current functionality includes:

* User Accounts - Each user has their own login account 
  used to access the knowledge base, which can be tailored 
  as required by the use of various permissions.
  - Write/Read/Admin permissions currently implemented
  - Other permissions are planned
 
* Administrative Functionality - The administrative
  users have full control over the database. They can
  add and remove users, categories and sub-categories,
  as well as change passwords, etc.

* User Functionality - Users can be set up read-only,
  whereby they can only search and query the knowledge
  base, or with write permission they can contribute to
  the knowledge base.
  
* Security - Uses encrypted passwords and PHP sessions
  for increased security. All attempted user logins
  are logged.

These features, and many more, give ZBKB
a good deal of functionality in even this early release.


Pre-requisites
-------------
ZBKB requires that you have the following 
software installed (and running) on your 
machine:

* Apache     (Tested with version 1.3.27)

* PHP        (Tested with PHP 4
                        -loaded into Apache as module)

* PostgreSQL (Tested with version 7.3.2)


Installation
------------

1.  Unpack the tarball to a temporary location, e.g.

    $ cd /tmp
    $ zcat zbkb-0.1.tar.gz | tar xvf - 

2.  Edit the "setup_db" script to suit your needs. 

   * _DB_NAME specifies the database name. The default of "zbkb" 
     should be used - do not change this!

   * A variable that you'll almost certainly need to change
     is _WWW_ROOT. This should be set to wherever you store your
     php files. If PHP has been configured on a SuSE 8.2 system, for
     example, the files can be dropped straight into 
     /srv/www/htdocs

3.  Execute the following command as a user with admin rights to
    PostgreSQL
    
    $ createdb zbkb

4.  Add the "wwwrun" user (Linux) or "nobody" user (Windows). This is
    the user that the httpd process runs as. Again, execute as a user
    with admin rights to PostgreSQL
 
    $ createuser wwwrun

    NOTE: You *must* answer yes to both questions - wwwrun must
    be a PostgreSQL "superuser".

5.  Execute the following as a PostgreSQL admin

    $ psql -c "GRANT ALL ON DATABASE zbkb TO wwwrun;" zbkb

6.  Run the setup_db script (make executable if 
    necessary). May need running as root (i.e. whoever has write access
    to the _WWW_ROOT directory).

    # chmod u+x ./setup_db 
    # ./setup_db

7.  All tables will be created, and files will be copied to the 
    directory specified.

8.  If the files are in your usual DocumentRoot, you can now just
    browse to "http://localhost/login.php" and log in as root.
    The credentials are:

		Username:	root
		Password:	password

    All credentials are case sensitive. As soon as you log in as root,
    change your password! Instructions on how to do this are contained
    within the user guide.

9.  If you have any problems, contact me (e-mail address below)
    You can now delete the temporary files, if that's what floats your
    boat.

Postamble
---------

This software is UNDER DEVELOPMENT. Please feel free to
send comments, suggestions, code tweaks and feedback to
kevin@zazzybob.com.

I am also looking for other developers to get involved in
this and other open source projects, so if you'd like to
contribute, get in touch.

Cheers,

Kevin Waldron 					13/10/04

kevin@zazzybob.com
http://www.zazzybob.com