Ocsigen

------------------------------------------------------------------
Instructions:

---
Requirements: 
ocaml (tested with version 3.08.4 and 3.09.1. Does not work with 3.08.1)
findlib (ocamlfind)
pcre-ocaml
ocamlnet >= 1.1.2 (actually only module netstring, netsys, pcre) 
ocamlssl >= 0.4.0 (ocamlssl needs openssl) (>= 0.4.1 for MacOS)
the dbm database (for example gdbm) with headers (libgdbm-dev package for ex)

If ocaml/ocamlfind/ocamlnet/ocamldbi... are not installed on your computer, 
you can use GODI to install them automatically.
See http://godi.ocaml-programming.de

---
To compile Ocsigen:

Run 
  
  sh configure [options]

Print the list of possible options using:
./configure --help

(For example if you have an old version of ocamlnet (< 2.0) you need
--disable-newocamlnet)

(For example if you want to install all files ocsigen in a separate directory:
./configure --root /mydirectory --prefix "" --ocsigen-user myuser --ocsigen-group mygroup)

Verify that Makefile.config is OK 

Then, type
  make depend
  make 

If you want system-wide installation, become root, and do
  make install
and possibly
  make logrotate
if you want logrotate (rotation of logs) configuration in /etc/logrotate.d
(highly recommended)

(make installwithoutdoc -> to install without doc
 make uninstall)

Adapt the config file to set the port, the modules you want to load
(by default the config file is /etc/ocsigen/ocsigen.conf,
generated from files/ocsigen.conf,
but you can specify another one: ocsigen -c configfile)
Set the user and group that will run ocsigen and 
verify he has read access to
 - the modules you load, 
 - to the config file, 
 - and rwx access to log directory.


To run the web server

  ocsigen

Then you can connect to the server with your browser:

http://localhost

If you are not root, you cannot use port 80. 
Modify the config file to set for example port 8080 for you server.
(and use http://localhost:8080)

If you did not do make install, you can run for example
 server/ocsigen -c ocsigen.conf.local
that launch a server on port 8080 with user rights on local directory
(ocsigen.conf.local is a sample that may be overwritten by make. 
Copy it if you want to modify it)

If it does not work, look at the logs or run ocsigen with options -v or -V
(verbose and debug mode)

See the file modules/tutorial.ml for a tutorial or http://www.ocsigen.org

If you make install, it will generate and install the documentation.
Otherwise, you can generate it in the doc directory by typing:
make doc

------------------------------------------------------------------
Ocsigen
------------------------------------------------------------------
Written by:

Vincent Balat (project leader, xml parser, ocsigenmod,
        staticmod, Web server, ocsimore 0.1, extension mechanism...)
Denis Berthod (http protocol, Web server)
Gabriel Kerneis (Syntax extension for ocaml 3.10)
Piero Furiesi (Ocsimore)
Jrme Vouillon (lwt library, from unison)
Thorsten Ohl (functions to generate xhtml (xML and xHTML modules))
Nataliya Guts (Web server)

Acknowledgements:

Emmanuel Chailloux
Jean-Vincent Loddo
Jrme Vouillon
Grgoire Henry
Alain Frisch
Christophe Fouquer
Juliusz Chroboczek
Roberto Di Cosmo
Alexandre Miquel
Russ Harmer
Pierre Clairambault
Samuel Mimram
Jaap Boender

and thanks to my (other) students who took part to the very first version:

Yann Binot
Julien Chapuis
Arnaud Delattre
Alexandre Erisay
Julien Mineraud (Xhtmlpp - xhtml pretty-printing)

