source: trunk/docs/install/installation.rst @ 740

Last change on this file since 740 was 725, checked in by djay, 9 years ago

Fix issue with rst files displayed from Trac. Fix strings to be translated. Always use the same string in all messages.

  • Property svn:keywords set to Date Author
  • Property svn:mime-type set to text/plain
File size: 13.6 KB
Line 
1.. _install-installation:
2
3Installation on Unix/Linux
4==========================
5
6To build and install ZOO-Project on your Web Server you will need 4
7steps :
8
9.. contents::
10    :local:
11    :depth: 1
12    :backlinks: top
13
14
15Build cgic
16----------
17
18Run the following commands from the ``thirds/cgic`` directory to build
19the cgic library.
20
21::
22
23   cd thirds/cgic
24   make
25
26The cgic library originaly come from `http://www.boutell.com/cgic
27<http://www.boutell.com/cgic>`_.
28
29.. warning::
30
31   You may need to edit the ``Makefile`` in case you are using a 64 bits
32   platform for building and your fcgi library is not located in ``/usr/lib64``.
33
34Install ZOO-Kernel
35------------------
36
37
38For the impatient
39.................
40
41Run the following commands from the directory where you :ref:`install-download` and extracted the ZOO Kernel source code in order to build the ``zoo_loader.cgi`` CGI program with default options.
42
43::
44
45   cd zoo-project/zoo-kernel
46   autoconf 
47   ./configure
48   make
49   make install
50
51This should produce executables for the *zoo_loader.cgi* CGI program
52(located per default in ``/usr/lib/cgi-bin/``) and a shared library
53``libzoo_service``  (located per default in ``/usr/local/lib``).
54
55.. warning::
56
57   Edit ZOO-Kernel installation settings in the ``main.cfg`` file (set
58   ``tmpPath`` and ``tmpUrl`` to fit your web server configuration).
59
60
61Configure options
62.................
63
64This section provides information on :ref:`kernel_index` configure options. It is recommanded to also read the :ref:`kernel_config` section for configuration technical details.
65
66
67Here is the list of available options in the same order as returned by
68``./configure --help`` command:
69
70.. contents::
71    :local:
72    :depth: 2
73    :backlinks: top
74
75Specific CGI Directory
76**********************
77
78In the case your ``cgi-bin`` is not located in ``/usr/lib/`` as it is
79assumed per default, then you can specify a specific target location
80by using the following option:
81
82.. code::
83
84    ./configure --with-cgi-dir=/Lbrary/WebServer/CGI-Executables
85
86This way, when you will run the ``make install`` command, the
87ZOO-Kernel will be deployed in the specified directory (so,
88`/Lbrary/WebServer/CGI-Executables`` in this example).
89
90.. _zoo_install_db_backend:
91
92Use a Database Backend (Optional)
93**********************************
94
95If you want to share the ongoing informations of running services
96between various ZOO-Kernel instances then you should use this
97option: ``--with-db-backend``. This way, both the *GetStatus*,
98*GetResult* and *Dismiss* requests can be run from any host accessing
99the same database. Obviously, this will require that the ZOO-Kernel is
100able to access the Database server. To learn how to configure this
101connection and how to create this database please refer to :ref:`[1]
102<zoo_activate_db_backend>` and :ref:`[2] <zoo_create_db_backend>`
103respectively.
104
105.. note::
106    By now, the ZOO-Kernel is not able to handle correctly the
107    *Dismiss* request from any host. Nevertheless, it will provide
108    valid response from any host, but only the host which is really
109    handling the service will be able to stop it and remove all the
110    linked files.
111
112.. _zoo_create_db_backend:
113
114To create a new database to be used by the ZOO-Kernel, you have
115to load the `schema.sql
116<http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql>`_
117file. For instance, you may run the following:
118
119.. code::
120
121    createdb zoo_project
122    psql zoo_project -f zoo-project/zoo-kernel/sql/schema.sql
123
124.. note::
125    You can choose another schema to store ZOO-Kernel specific
126    informations. In such a case, you would need to edit the
127    schema.sql file to uncomment line `33
128    <http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql#L33>`_
129    and `34
130    <http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql#L34>`_.
131
132
133
134YAML Support (Optional)
135************************
136
137If ``yaml.h`` file is not found in your ``/usr/include`` directory and
138``libyaml.so`` is not found in ``/usr/lib``, a ``--with-yaml`` option
139can be used to specify its location. For instance, if the headeer file
140lies in ``/usr/local/include`` and the shared library is located in
141``/usr/local/lib``, you may use the following command:
142
143::
144
145  $ ./configure --with-yaml=/usr/local
146
147
148FastCGI Support (Required)
149***************************
150
151If your FastCGI library is not available in the default search path, a
152``--with-fastcgi`` option can be used to specify its location. For
153instance, if ``libfcgi.so`` lies in ``/usr/local/lib`` which is not in
154your ``LD_SEARCH_PATH``, you may use the following command:
155
156::
157
158  $ ./configure --with-fastcgi=/usr/local
159
160
161
162GDAL Support (Required)
163************************
164
165If gdal-config program is not found in your ``PATH``, a
166``--with-gdal-config`` option can be used to specify its location. For
167instance, if ``gdal-config`` lies in ``/usr/local/bin`` which is not in
168your ``PATH``, you may use the following command:
169
170::
171
172  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config
173
174
175GEOS Support (Optional)
176************************
177
178If ``geos-config`` program is not found in your ``PATH``, a
179``--with-geosconfig`` option can be used to specify its location. For
180instance, if ``geos-config`` lies in ``/usr/local/bin`` which is not in
181your ``PATH``, you may use the following command:
182
183::
184
185  $ ./configure --with-geosconfig=/usr/local/bin/geos-config
186
187
188CGAL Support (Optional)
189************************
190
191If ``CGAL/Delaunay_triangulation_2.h`` program is not found in your
192``/usr/include`` directory, a ``--with-cgal`` option can be used to
193specify its location. For instance, if the file lies in
194``/usr/local/include`` which is not in your PATH, you may use the
195following command:
196
197::
198
199  $ ./configure --with-cgal=/usr/local
200
201
202
203MapServer Support (Optional)
204*****************************
205
206
207In order to activate the WMS, WFS and WCS output support using
208MapServer, the ``--with-mapserver`` option must be used. The path to
209``mapserver-config`` which is located in the source code of MapServer
210must also be set, using the following command:
211
212::
213
214  $ ./configure --with-mapserver=/path/to/your/mapserver_config/
215
216
217Read more about the :ref:`kernel-mapserver`.
218
219XML2 Support (Required)
220************************
221
222If xml2-config program is not found in PATH, a *--with-xml2config* option can be used  to specify its location. For instance, if xml2-config is installed in ``/usr/local/bin`` which is not in PATH, you may use the following command:
223
224::
225
226  $ ./configure --with-xml2config=/usr/local/bin/xml2-config
227
228Python Support (Optional)
229**************************
230
231The ``--with-python=yes`` option is required to activate the :ref:`kernel_index` Python support, using the following command:
232
233::
234
235  $ ./configure --with-python=yes
236
237This assumes that python-config is found in your ``PATH``. If not,
238then you can specify the Python installation directory using the
239following command (with Python installed in the ``/usr/local``
240directory):
241
242::
243
244  $ ./configure --with-python=/usr/local
245
246
247Python Version
248##############
249
250If multiple Python versions are available and you want to use a
251specific one, then you can use the ``--with-pyvers`` option as shown
252bellow:
253
254::
255
256  $ ./configure --with-pyvers=2.7
257
258
259.. _js-support:
260
261JavaScript Support (Optional)
262******************************
263
264In order to activate the JavaScript support for ZOO-Kernel,
265the ``--with-js=yes`` configure option must be specified. If you are using
266a "Debian-like" GNU/Linux distribution then  dpkg will be used to
267detect if the required packages are installed and you don't have to
268specify anything here. The following command is only needed (assuming
269that js_api.h and libmozjs.so are found in default directories):
270
271
272::
273
274  $ ./configure --with-js=yes
275
276If you want to use a custom installation of `SpiderMonkey
277<https://developer.mozilla.org/en/SpiderMonkey>`__ , or if you are not
278using a Debian packaging  system, then you'll have to specify the
279directory where it is installed. For  instance, if SpiderMonkey is in
280``/usr/local/``, then the following command must be used:
281
282::
283
284  $ ./configure --with-js=/usr/local
285
286
287PHP Support (Optional)
288***********************
289
290The ``--with-php=yes`` option is required to activate the
291:ref:`kernel_index` PHP support`, using the following command:
292
293::
294
295  $ ./configure --with-php=yes
296
297This assumes that ``php-config`` can be found in the ``<PATH>/bin``
298directory . So, supposing the your ``php-config`` can be found in
299``/usr/local/bin``, then use the following command:
300
301::
302
303  $ ./configure --with-php=/usr/local
304
305.. warning::
306    ZOO-Kernel optional PHP support requires a local PHP Embedded installation. Read more `here <http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP>`__.
307
308
309Java Support (Optional)
310************************
311
312In order to activate the Java support for ZOO-Kernel, the
313`--with-java` configure option must be specified and sets the
314installation path of your Java SDK. For instance,  if Java SDK is
315installed in the ``/usr/lib/jvm/java-6-sun-1.6.0.22/`` directory,
316then the following command can be used:
317
318::
319
320  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/
321
322This assumes that the ``include/linux`` and ``jre/lib/i386/client/``
323subdirectories exist in ``/usr/lib/jvm/java-6-sun-1.6.0.22/``, and
324that the ``include/linux`` directory contains the ``jni.h`` headers file
325and that the ``jre/lib/i386/client/`` directory contains the ``libjvm.so``
326file.
327
328
329.. note::
330   With Mac OS X you only have to set *macos* as the value for the
331   ``--with-java`` option to activate Java support. For example:
332
333   ::
334
335     $ ./configure --with-java=macos
336
337
338Perl Support (Optional)
339************************
340
341The ``--with-perl=yes`` option can be used for activating the
342ZOO-Kernel Perl support, as follow:
343
344::
345
346  $ ./configure --with-perl=yes
347
348This assumes that perl is found in your PATH. For instance, if Perl is
349installed in ``/usr/local`` and ``/usr/local/bin`` is not found in
350your ``PATH``, then the following command can be used (this assumes
351that ``/usr/local/bin/perl`` exists):
352
353::
354
355  $ ./configure --with-perl=/usr/local
356
357
358Orfeo Toolbox Support (Optional)
359*********************************
360
361In order to activate the optional Orfeo Toolbox support, the
362``--with-otb`` option must be used, using the following command:
363
364::
365
366  $ ./configure --with-otb=/path/to/your/otb/
367
368
369Read more about the :ref:`kernel-orfeotoolbox`.
370
371.. warning::
372    To build the Orfeo Toolbox support you will require ITK, the
373    default version of ITK is 4.5, in case you use another version,
374    please make sure to use the ``--with-itk-version`` to specificy
375    what is the version available on your system.
376
377SAGA GIS Support (Optional)
378****************************
379
380
381In order to activate the optional SAGA GIS support, the *--with-saga* option must be used, using the following command:
382
383::
384
385  $ ./configure --with-saga=/path/to/your/saga/
386
387
388Read more about the :ref:`kernel-sagagis`.
389
390.. warning::
391    In case wx-config is not in your ``PATH`` please, make sure to use
392    the ``--with-wx-config``  to specify its location.
393
394Translation support (Optional)
395******************************
396
397The ZOO-Kernel is able to translate the messages it produces in different
398natural languages. This requires that you download `the messages file
399<https://www.transifex.com/projects/p/zoo-kernel-internationalization/>`_
400translated in your language, if any. Then, for this translation
401support to work, you have to generate manually the requested file on
402your system. For instance for the French translation, you may use the
403following command:
404
405.. code::
406
407    msgfmt messagespo_fr_FR.utf8.po -o /usr/share/locale/fr/LC_MESSAGES/zoo-kernel.mo
408
409The ZOO-Kernel is also able to handle translation of
410ZOO-Services. Please, refer to :ref:`this document
411<service_translation>` for more details on the procedure to add new
412ZOO-Service translation files.
413
414.. warning::
415    The location of the final ``.mo`` file may vary depending on your
416    system setup.
417
418
419Install ZOO-Services
420--------------------
421
422.. warning::
423    We present here a global installation procedure for basics
424    ZOO-Services, for details about automatic installation of services
425    provided by :ref:`kernel-orfeotoolbox` or :ref:`kernel-sagagis`,
426    please refer to there specific documentations.
427
428Depending on the programming language used to implement the
429ZOO-Services you want to install, you will need to build a
430Services Provider. In the case of *C* and *Fotran*, you would create a
431shared library exporting the functions corresponding to all the
432ZOO-Services provided by this Services Provider. In case of *Java*,
433you will need to build a Java Class. In any other programming
434language, you should simply have to install the ServiceProvider and
435the zcfg files.
436
437If building a Shared library or a Java class is required, then you
438should find a ``Makefile`` in the service directory which is
439responsible to help you build this Services Provider. So you should
440simply run the `make` command from the Service directory to generate
441the required file.
442
443Then you simply need to copy the content of the ``cgi-env`` directory
444in ``cgi-bin``.
445
446To install the ``ogr/base-vect-ops`` Services Provider, supposing that
447your ``cgi-bin`` directory is ``/usr/local/lib`` use the following
448commands:
449
450.. code::
451
452    cd zoo-project/zoo-services/ogr/base-vect-ops
453    make
454    cp cgi-env/*.* /usr/lib/cgi-bin
455
456.. note::
457    You may also run ``make install`` directly after ``make``.
458
459
460To install the hello-py Services Provider, use the following commands:
461
462.. code::
463
464    cd zoo-project/zoo-services/hello-py/
465    cp cgi-env/* /usr/lib/cgi-bin
466
467
468Testing your installation
469-------------------------
470
471To test your installation yous should first be able to run the
472following command from the ``cgi-bin`` directory:
473
474.. code::
475
476    ./zoo_loader.cgi "request=GetCapabilities&service=WPS"
477
478
Note: See TracBrowser for help on using the repository browser.

Search

ZOO Sponsors

http://www.zoo-project.org/trac/chrome/site/img/geolabs-logo.pnghttp://www.zoo-project.org/trac/chrome/site/img/neogeo-logo.png http://www.zoo-project.org/trac/chrome/site/img/apptech-logo.png http://www.zoo-project.org/trac/chrome/site/img/3liz-logo.png http://www.zoo-project.org/trac/chrome/site/img/gateway-logo.png

Become a sponsor !

Knowledge partners

http://www.zoo-project.org/trac/chrome/site/img/ocu-logo.png http://www.zoo-project.org/trac/chrome/site/img/gucas-logo.png http://www.zoo-project.org/trac/chrome/site/img/polimi-logo.png http://www.zoo-project.org/trac/chrome/site/img/fem-logo.png http://www.zoo-project.org/trac/chrome/site/img/supsi-logo.png http://www.zoo-project.org/trac/chrome/site/img/cumtb-logo.png

Become a knowledge partner

Related links

http://zoo-project.org/img/ogclogo.png http://zoo-project.org/img/osgeologo.png