source: branches/prototype-v0/docs/install/installation.rst @ 904

Last change on this file since 904 was 904, checked in by djay, 5 years ago

Add documentation for the HPC support, update the MapServer? suport documentation to show how to produce hetmap, update SAGA-GIS documentation to add option for version 7.2. Add metadb support documentation in kernel/configurationa dn install/installation.

  • Property svn:keywords set to Date Author
  • Property svn:mime-type set to text/plain
File size: 14.9 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
90Specific main.cfg location  (Optional)
91**************************************
92
93Per default, the ZOO-Kernel search for the ``main.cfg`` file from its
94installation directory but, in case you want to store this file in
95another place, then you can use the ``--with-etc-dir`` option so it
96will search for the ``main.cfg`` file in the ``sysconfdir`` directory.
97
98For instance, you can define that the directory to store the
99``main.cfg`` file is the ``/etc/zoo-project`` directory, by using the
100following command:
101
102.. code::
103
104    ./configure --with-etc-dir=yes --sysconfdir=/etc/zoo-project
105
106
107.. _zoo_install_db_backend:
108
109Use a Database Backend (Optional)
110**********************************
111
112If you want to share the ongoing informations of running services
113between various ZOO-Kernel instances then you should use this
114option: ``--with-db-backend``. This way, both the *GetStatus*,
115*GetResult* and *Dismiss* requests can be run from any host accessing
116the same database. Obviously, this will require that the ZOO-Kernel is
117able to access the Database server. To learn how to configure this
118connection and how to create this database please refer to :ref:`[1]
119<zoo_activate_db_backend>` and :ref:`[2] <zoo_create_db_backend>`
120respectively.
121
122.. note::
123    By now, the ZOO-Kernel is not able to handle correctly the
124    *Dismiss* request from any host. Nevertheless, it will provide
125    valid response from any host, but only the host which is really
126    handling the service will be able to stop it and remove all the
127    linked files.
128
129.. _zoo_create_db_backend:
130
131To create a new database to be used by the ZOO-Kernel, you have
132to load the `schema.sql
133<http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql>`_
134file. For instance, you may run the following:
135
136.. code::
137
138    createdb zoo_project
139    psql zoo_project -f zoo-project/zoo-kernel/sql/schema.sql
140
141.. note::
142    You can choose another schema to store ZOO-Kernel specific
143    informations. In such a case, you would need to edit the
144    schema.sql file to uncomment line `33
145    <http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql#L33>`_
146    and `34
147    <http://zoo-project.org/trac/browser/trunk/zoo-project/zoo-kernel/sql/schema.sql#L34>`_.
148
149Metadata Database (Optional)
150*****************************
151
152.. _zoo_create_metadb:
153
154It is possible to use a PostgreSQL database to store metadata
155information about WPS Services. This support is optional and require
156to be activated by using the ``--with-metadb=yes`` option.
157
158To create the database for storing the metadata informations about the
159WPS Services, you may use the following command:
160
161.. code::
162
163    createdb zoo_metadb
164    psql zoo_metadb -f zoo-project/zoo-kernel/sql/zoo_collectiondb.sql
165
166In case you want to convert an existing zcfg file then, you can use
167the ``zcfg2sql`` tool from the command line.
168
169YAML Support (Optional)
170************************
171
172If ``yaml.h`` file is not found in your ``/usr/include`` directory and
173``libyaml.so`` is not found in ``/usr/lib``, a ``--with-yaml`` option
174can be used to specify its location. For instance, if the header file
175lies in ``/usr/local/include`` and the shared library is located in
176``/usr/local/lib``, you may use the following command:
177
178::
179
180  $ ./configure --with-yaml=/usr/local
181
182
183FastCGI Support (Required)
184***************************
185
186If your FastCGI library is not available in the default search path, a
187``--with-fastcgi`` option can be used to specify its location. For
188instance, if ``libfcgi.so`` lies in ``/usr/local/lib`` which is not in
189your ``LD_SEARCH_PATH``, you may use the following command:
190
191::
192
193  $ ./configure --with-fastcgi=/usr/local
194
195
196
197GDAL Support (Required)
198************************
199
200If gdal-config program is not found in your ``PATH``, a
201``--with-gdal-config`` option can be used to specify its location. For
202instance, if ``gdal-config`` lies in ``/usr/local/bin`` which is not in
203your ``PATH``, you may use the following command:
204
205::
206
207  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config
208
209
210GEOS Support (Optional)
211************************
212
213If ``geos-config`` program is not found in your ``PATH``, a
214``--with-geosconfig`` option can be used to specify its location. For
215instance, if ``geos-config`` lies in ``/usr/local/bin`` which is not in
216your ``PATH``, you may use the following command:
217
218::
219
220  $ ./configure --with-geosconfig=/usr/local/bin/geos-config
221
222
223CGAL Support (Optional)
224************************
225
226If ``CGAL/Delaunay_triangulation_2.h`` program is not found in your
227``/usr/include`` directory, a ``--with-cgal`` option can be used to
228specify its location. For instance, if the file lies in
229``/usr/local/include`` which is not in your PATH, you may use the
230following command:
231
232::
233
234  $ ./configure --with-cgal=/usr/local
235
236
237
238MapServer Support (Optional)
239*****************************
240
241
242In order to activate the WMS, WFS and WCS output support using
243MapServer, the ``--with-mapserver`` option must be used. The path to
244``mapserver-config`` which is located in the source code of MapServer
245must also be set, using the following command:
246
247::
248
249  $ ./configure --with-mapserver=/path/to/your/mapserver_config/
250
251
252Read more about the :ref:`kernel-mapserver`.
253
254XML2 Support (Required)
255************************
256
257If 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:
258
259::
260
261  $ ./configure --with-xml2config=/usr/local/bin/xml2-config
262
263Python Support (Optional)
264**************************
265
266The ``--with-python=yes`` option is required to activate the :ref:`kernel_index` Python support, using the following command:
267
268::
269
270  $ ./configure --with-python=yes
271
272This assumes that python-config is found in your ``PATH``. If not,
273then you can specify the Python installation directory using the
274following command (with Python installed in the ``/usr/local``
275directory):
276
277::
278
279  $ ./configure --with-python=/usr/local
280
281
282Python Version
283##############
284
285If multiple Python versions are available and you want to use a
286specific one, then you can use the ``--with-pyvers`` option as shown
287bellow:
288
289::
290
291  $ ./configure --with-pyvers=2.7
292
293
294.. _js-support:
295
296JavaScript Support (Optional)
297******************************
298
299In order to activate the JavaScript support for ZOO-Kernel,
300the ``--with-js=yes`` configure option must be specified. If you are using
301a "Debian-like" GNU/Linux distribution then  dpkg will be used to
302detect if the required packages are installed and you don't have to
303specify anything here. The following command is only needed (assuming
304that js_api.h and libmozjs.so are found in default directories):
305
306
307::
308
309  $ ./configure --with-js=yes
310
311If you want to use a custom installation of `SpiderMonkey
312<https://developer.mozilla.org/en/SpiderMonkey>`__ , or if you are not
313using a Debian packaging  system, then you'll have to specify the
314directory where it is installed. For  instance, if SpiderMonkey is in
315``/usr/local/``, then the following command must be used:
316
317::
318
319  $ ./configure --with-js=/usr/local
320
321
322PHP Support (Optional)
323***********************
324
325The ``--with-php=yes`` option is required to activate the
326:ref:`kernel_index` PHP support`, using the following command:
327
328::
329
330  $ ./configure --with-php=yes
331
332This assumes that ``php-config`` can be found in the ``<PATH>/bin``
333directory . So, supposing the your ``php-config`` can be found in
334``/usr/local/bin``, then use the following command:
335
336::
337
338  $ ./configure --with-php=/usr/local
339
340.. warning::
341    ZOO-Kernel optional PHP support requires a local PHP Embedded installation. Read more `here <http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP>`__.
342
343
344Java Support (Optional)
345************************
346
347In order to activate the Java support for ZOO-Kernel, the
348`--with-java` configure option must be specified and sets the
349installation path of your Java SDK. For instance,  if Java SDK is
350installed in the ``/usr/lib/jvm/java-6-sun-1.6.0.22/`` directory,
351then the following command can be used:
352
353::
354
355  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/
356
357This assumes that the ``include/linux`` and ``jre/lib/i386/client/``
358subdirectories exist in ``/usr/lib/jvm/java-6-sun-1.6.0.22/``, and
359that the ``include/linux`` directory contains the ``jni.h`` headers file
360and that the ``jre/lib/i386/client/`` directory contains the ``libjvm.so``
361file.
362
363.. note::
364   You can use the `--with-java-rpath` option to produce a binary
365   aware of the libjvm location.
366
367
368.. note::
369   With Mac OS X you only have to set *macos* as the value for the
370   ``--with-java`` option to activate Java support. For example:
371
372   ::
373
374     $ ./configure --with-java=macos
375
376
377Perl Support (Optional)
378************************
379
380The ``--with-perl=yes`` option can be used for activating the
381ZOO-Kernel Perl support, as follow:
382
383::
384
385  $ ./configure --with-perl=yes
386
387This assumes that perl is found in your PATH. For instance, if Perl is
388installed in ``/usr/local`` and ``/usr/local/bin`` is not found in
389your ``PATH``, then the following command can be used (this assumes
390that ``/usr/local/bin/perl`` exists):
391
392::
393
394  $ ./configure --with-perl=/usr/local
395
396
397Orfeo Toolbox Support (Optional)
398*********************************
399
400In order to activate the optional Orfeo Toolbox support, the
401``--with-otb`` option must be used, using the following command:
402
403::
404
405  $ ./configure --with-otb=/path/to/your/otb/
406
407
408Read more about the :ref:`kernel-orfeotoolbox`.
409
410.. warning::
411    To build the Orfeo Toolbox support you will require ITK, the
412    default version of ITK is 4.5, in case you use another version,
413    please make sure to use the ``--with-itk-version`` to specificy
414    what is the version available on your system.
415
416SAGA GIS Support (Optional)
417****************************
418
419
420In order to activate the optional SAGA GIS support, the *--with-saga* option must be used, using the following command:
421
422::
423
424  $ ./configure --with-saga=/path/to/your/saga/
425
426
427Read more about the :ref:`kernel-sagagis`.
428
429.. warning::
430    In case wx-config is not in your ``PATH`` please, make sure to use
431    the ``--with-wx-config``  to specify its location.
432
433Translation support (Optional)
434******************************
435
436The ZOO-Kernel is able to translate the messages it produces in different
437natural languages. This requires that you download `the messages file
438<https://www.transifex.com/projects/p/zoo-kernel-internationalization/>`_
439translated in your language, if any. Then, for this translation
440support to work, you have to generate manually the requested file on
441your system. For instance for the French translation, you may use the
442following command:
443
444.. code::
445
446    msgfmt messagespo_fr_FR.utf8.po -o /usr/share/locale/fr/LC_MESSAGES/zoo-kernel.mo
447
448The ZOO-Kernel is also able to handle translation of
449ZOO-Services. Please, refer to :ref:`this document
450<service_translation>` for more details on the procedure to add new
451ZOO-Service translation files.
452
453.. warning::
454    The location of the final ``.mo`` file may vary depending on your
455    system setup.
456
457
458Install ZOO-Services
459--------------------
460
461.. warning::
462    We present here a global installation procedure for basics
463    ZOO-Services, for details about automatic installation of services
464    provided by :ref:`kernel-orfeotoolbox` or :ref:`kernel-sagagis`,
465    please refer to there specific documentations.
466
467Depending on the programming language used to implement the
468ZOO-Services you want to install, you will need to build a
469Services Provider. In the case of *C* and *Fotran*, you would create a
470shared library exporting the functions corresponding to all the
471ZOO-Services provided by this Services Provider. In case of *Java*,
472you will need to build a Java Class. In any other programming
473language, you should simply have to install the ServiceProvider and
474the zcfg files.
475
476If building a Shared library or a Java class is required, then you
477should find a ``Makefile`` in the service directory which is
478responsible to help you build this Services Provider. So you should
479simply run the `make` command from the Service directory to generate
480the required file.
481
482Then you simply need to copy the content of the ``cgi-env`` directory
483in ``cgi-bin``.
484
485To install the ``ogr/base-vect-ops`` Services Provider, supposing that
486your ``cgi-bin`` directory is ``/usr/local/lib`` use the following
487commands:
488
489.. code::
490
491    cd zoo-project/zoo-services/ogr/base-vect-ops
492    make
493    cp cgi-env/*.* /usr/lib/cgi-bin
494
495.. note::
496    You may also run ``make install`` directly after ``make``.
497
498
499To install the hello-py Services Provider, use the following commands:
500
501.. code::
502
503    cd zoo-project/zoo-services/hello-py/
504    cp cgi-env/* /usr/lib/cgi-bin
505
506
507Testing your installation
508-------------------------
509
510To test your installation yous should first be able to run the
511following command from the ``cgi-bin`` directory:
512
513.. code::
514
515    ./zoo_loader.cgi "request=GetCapabilities&service=WPS"
516
517
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