README for COCANWIKI -------------------- This is a Wiki, written in Objective CAML by Richard W.M. Jones (rich@merjis.com). It is licensed to you under the GNU General Public License (GNU GPL). Please see the file COPYING in this directory for full details. Requirements ------------ * Apache (probably Apache version 1.3, unless you want to build your own version of Apache 2.0 which doesn't include PCRE). * Objective CAML 3.07 or above. * PCRE library for OCaml. * ExtLib for OCaml. http://ocaml-lib.sourceforge.net/ * mod_caml and DBI libraries for OCaml. http://www.merjis.com/developers/mod_caml/ * PostgreSQL database 7.3 or above. * Postgres bindings for OCaml. http://www.eleves.ens.fr/home/frisch/soft#postgres (Markus Mottl's later version, renamed PostgreSQL, will probably work, but you may need to modify a little bit of the code in scripts/cocanwiki.ml so it connects to the right database using the right driver). Installation ------------ First install all of the above requirements, and check that they're working. Type 'make all install' (you don't need to be root). Then create a UNICODE database called 'cocanwiki' and load the schema from 'cocanwiki.sql'. Create a Wiki site by hand in the database: begin work; set constraints "hosts_hostname_cn" deferred; insert into hosts (canonical_hostname) values ('test.cocan.org'); -- HOSTID is the value of hosts.id, normally 1 insert into hostnames (hostid, name) values (HOSTID, 'test.cocan.org'); commit work; Create an index page by hand in the database: insert into pages (hostid, url, title, description) values (HOSTID, 'index', 'Index Page', 'Index Page'); Modify your Apache configuration, adding: CamlLoad ...path/to/html/_bin/cocanwiki.cma ServerAdmin you@example.com DocumentRoot ...path/to/html ServerName test.cocan.org Include ....path/to/conf/cocanwiki.conf (Change 'test.cocan.org' to a suitable local server name, and set the paths as appropriate). Set any necessary environment variables and start up the server: export COCANWIKI_TEMPLATES=...path/to/templates # The following is not required if the database is running locally: export PGHOST=hostname.of.database # Replace this with however you would normally start your webserver: /usr/bin/apache Try connecting to the local server using your browser. If it doesn't work, look in the Apache error_log file. More notes on setting environment variables ------------------------------------------- You CANNOT use SetEnv to set COCANWIKI_TEMPLATES and/or PGHOST. This is because SetEnv runs too late in the Apache handler cycle for it to be picked up by the scripts. On Debian you must modify /etc/init.d/apache in order to set up environment variables. On the line which reads: ENV="env -i ...." remove the -i option from env (Debian bug #252627, marked as WONTFIX). Directory layout ---------------- html/ Everything visible under the webserver root. conf/ Configuration fragment for Apache. scripts/ CGI scripts. templates/ Templates used by the CGI scripts.