Bump Standards-Version to 3.9.2
[pkg-ocaml-ocsigen.git] / README
bloba5a0dbacec02501495d9a662fc8af20a89403e4a
1 Ocsigen
3 ------------------------------------------------------------------
4 Instructions:
6 ---
7 Requirements: 
8 ocaml (Version >= 3.11 but may work with some
9       earlier versions with limited features)
10 camlp4 (and camlp4rf etc.)
11 ocamlduce recommanded (otherwise you won't have all the features)
12   (same version as ocaml)
13 findlib (ocamlfind)
14 lwt >= 2.1
15 obrowser
16 pcre-ocaml
17 ocamlnet >= 2.2.0 (actually only modules netstring, netsys, pcre) 
18 ocamlssl (sometimes called libssl-ocaml) >= 0.4.4
19 ocamlsqlite3 >= 0.21.0 (needs sqlite)
20 (You may also use the dbm database (for example gdbm) instead of sqlite.
21  In that case, you need dbm with headers (libgdbm-dev package for ex))
22 camlzip (libzip-ocaml)
23 cryptokit
24 A C compiler
26 If ocaml/ocamlduce/ocamlfind/ocamlnet/ocamlssl... 
27 are not installed on your computer, 
28 you can use GODI to install them automatically.
29 See http://godi.ocaml-programming.de
32 ---
33 To compile Ocsigen:
35 Run 
36   
37   sh configure [options]
39 Print the list of possible options using:
40 ./configure --help
42 Warning: Ocamlduce is now enabled by default.
43 If you do not have ocamlduce installed, do
44   sh configure --disable-ocamlduce
46 (For example if you have an old version of ocamlnet (< 2.0) you need
47 ./configure --disable-newocamlnet
48 Use this option if you get a message telling that netsys.cma is missing)
50 (For example if you want to install all Ocsigen files in a separate directory:
51 ./configure --root /mydirectory --prefix "" --libdir /mylibdir --ocsigen-user myuser --ocsigen-group mygroup
52 Note that /mylibdir is relative to /mydirectory (--root value))
54         If you want to compile a native code version of Ocsigen, you'll need
55         a modified version of OCaml, that allows dynlinking of
56         native code modules 
57         (natdynlink branch in OCaml's CVS, by Alain Frisch).
58         It will be included in OCaml 3.11.0.
59         If you have it, use ./configure --enable-nativecode
62 Verify that Makefile.config is OK 
64 Then, type
65   make depend
66   make 
68 To generate the documentation:
69   make doc
71 If you want system-wide installation, become root, and do
72   make install
73 and possibly
74   make logrotate
75 if you want logrotate (rotation of logs) configuration in /etc/logrotate.d
76 (highly recommanded)
78 (make installnodoc -> to install without the documentation
79  make uninstall -> uninstall (almost) everything)
81 Adapt the config file to set the port, the modules you want to load
82 (by default the config file is /etc/ocsigen/ocsigen.conf,
83 generated from files/ocsigen.conf.in,
84 but you can specify another one: ocsigen -c configfile)
85 Set the user and group that will run ocsigen and 
86 verify he has read access to
87  - the modules you load, 
88  - to the config file, 
89  - and rwx access to log directory.
92 To run the web server:
94   ocsigen
96 Then you can connect to the server with your browser:
98 http://localhost
100 If you are not root, you cannot use port 80. 
101 Modify the config file to set for example port 8080 for you server.
102 (and use http://localhost:8080)
104 If you did not do make install, you can run for example
105 CAML_LD_LIBRARY_PATH=server server/ocsigen -c ocsigen.conf.local
106 that launch a server on port 8080 with user permissions on local directory
107 (ocsigen.conf.local is a sample that may be overwritten by make. 
108 Copy it if you want to modify it).
110 Be aware that the server needs C stubs which are compiled into the
111 shared library dllocsigen.so. It is built in the server directory, and
112 this location must be documented in the CAML_LD_LIBRARY_PATH
113 environment variable when dllocsigen.so is not installed in a
114 system-wide location.
116 If it does not work, look at the logs or run ocsigen with options -v or -V
117 (verbose and debug mode)
119 See the file modules/tutorial.ml for a tutorial or http://www.ocsigen.org
121 If you make install, it will generate and install the documentation.
122 Otherwise, you can generate it in the doc directory by typing:
123 make doc
125 By default, the tutorial is configured at URL /
126 and Miniwiki at URL /miniwiki
129 ------------------------------------------------------------------
130 For debugging purpose, there is now a toplevel with all ocsigen
131 libraries loaded (very experimental). Example of use:
133 CAML_LD_LIBRARY_PATH=server ledit ./server/ocsigentop -I /usr/local/lib/ocaml/3.10.1/lwt -I /usr/local/lib/ocaml/3.10.1/ocsigen -I +camlp4 -I +camlp4/Camlp4Parsers -I ./baselib -I ./server
134         Objective Caml version 3.10.1
136 # #use "topfind";;
137 - : unit = ()
138 # Ocsigen_loader.add_ocamlpath "/usr/local/lib/ocsigen/METAS";;
139 - : unit = ()
143 ------------------------------------------------------------------
144 Ocsigen
145 ------------------------------------------------------------------
146 Written by:
148 Vincent Balat
149  (project coordinator, Web server, Ocsigenmod, Eliom, Staticmod, xhtml syntax extension, documentation, Ocsimore, extension mechanism, Ocsidbm, Ocsipersist with DBM ...) 
150 Jérôme Vouillon
151  (lwt library, Web server) 
152 Gabriel Kerneis
153  (Xhtml syntax extension for OCaml 3.10, Ocsipersist with SQLite, CGI module, forms in Eliom, deflatemod ...) 
154 Denis Berthod
155  (http protocol, Web server) 
156 Piero Furiesi
157  (Ocsimore) 
158 Jaap Boender
159  (Ocsimore) 
160 Thorsten Ohl
161  (most of the functions generating xhtml (xML and xHTML modules)) 
162 Nataliya Guts
163  (Web server, HTTPS) 
164 Jérôme Velleine
165  (CGI module)
167 Acknowledgements:
169 Emmanuel Chailloux
170 Janne Hellsten
171 Juliusz Chroboczek
172 Jean-Vincent Loddo
173 Jérôme Vouillon
174 Grégoire Henry
175 Alain Frisch
176 Christophe Fouqueré
177 Roberto Di Cosmo
178 Alexandre Miquel
179 Russ Harmer
180 Pierre Clairambault
181 Samuel Mimram
182 Jaap Boender
184 and thanks to my (other) students who took part to the very first version:
186 Yann Binot
187 Julien Chapuis
188 Arnaud Delattre
189 Alexandre Erisay
190 Julien Mineraud (Xhtmlpp - xhtml pretty-printing)