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

Last change on this file since 825 was 809, checked in by djay, 8 years ago

Add the java-rpath to the configure options.

  • Property svn:keywords set to Date Author
  • Property svn:mime-type set to text/plain
File size: 14.3 KB
RevLine 
[659]1.. _install-installation:
2
3Installation on Unix/Linux
[696]4==========================
[659]5
[696]6To build and install ZOO-Project on your Web Server you will need 4
7steps :
8
[713]9.. contents::
10    :local:
11    :depth: 1
12    :backlinks: top
[696]13
[713]14
[696]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
[714]34Install ZOO-Kernel
35------------------
[696]36
37
[659]38For the impatient
[696]39.................
[659]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
[696]45   cd zoo-project/zoo-kernel
[659]46   autoconf 
47   ./configure
48   make
[696]49   make install
[659]50
[696]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``).
[659]54
55.. warning::
56
[696]57   Edit ZOO-Kernel installation settings in the ``main.cfg`` file (set
58   ``tmpPath`` and ``tmpUrl`` to fit your web server configuration).
[659]59
60
[696]61Configure options
62.................
[659]63
[714]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
[713]70.. contents::
71    :local:
72    :depth: 2
73    :backlinks: top
74
75Specific CGI Directory
76**********************
[659]77
[713]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:
[659]81
[713]82.. code::
[659]83
[713]84    ./configure --with-cgi-dir=/Lbrary/WebServer/CGI-Executables
[659]85
[713]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).
[659]89
[784]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
[806]96will search for the ``main.cfg`` file in the ``sysconfdir`` directory.
[784]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
[711]107.. _zoo_install_db_backend:
108
[700]109Use a Database Backend (Optional)
[713]110**********************************
[659]111
[700]112If you want to share the ongoing informations of running services
[713]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.
[700]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
[722]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
149
150
[714]151YAML Support (Optional)
152************************
[700]153
[714]154If ``yaml.h`` file is not found in your ``/usr/include`` directory and
155``libyaml.so`` is not found in ``/usr/lib``, a ``--with-yaml`` option
156can be used to specify its location. For instance, if the headeer file
157lies in ``/usr/local/include`` and the shared library is located in
158``/usr/local/lib``, you may use the following command:
[700]159
[714]160::
[713]161
[714]162  $ ./configure --with-yaml=/usr/local
163
164
165FastCGI Support (Required)
166***************************
167
168If your FastCGI library is not available in the default search path, a
169``--with-fastcgi`` option can be used to specify its location. For
170instance, if ``libfcgi.so`` lies in ``/usr/local/lib`` which is not in
171your ``LD_SEARCH_PATH``, you may use the following command:
172
173::
174
175  $ ./configure --with-fastcgi=/usr/local
176
177
178
[713]179GDAL Support (Required)
180************************
181
182If gdal-config program is not found in your ``PATH``, a
183``--with-gdal-config`` option can be used to specify its location. For
184instance, if ``gdal-config`` lies in ``/usr/local/bin`` which is not in
[714]185your ``PATH``, you may use the following command:
[713]186
187::
188
189  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config
190
[714]191
192GEOS Support (Optional)
193************************
194
195If ``geos-config`` program is not found in your ``PATH``, a
196``--with-geosconfig`` option can be used to specify its location. For
197instance, if ``geos-config`` lies in ``/usr/local/bin`` which is not in
198your ``PATH``, you may use the following command:
199
200::
201
202  $ ./configure --with-geosconfig=/usr/local/bin/geos-config
203
204
205CGAL Support (Optional)
206************************
207
208If ``CGAL/Delaunay_triangulation_2.h`` program is not found in your
209``/usr/include`` directory, a ``--with-cgal`` option can be used to
210specify its location. For instance, if the file lies in
211``/usr/local/include`` which is not in your PATH, you may use the
212following command:
213
214::
215
216  $ ./configure --with-cgal=/usr/local
217
218
219
220MapServer Support (Optional)
221*****************************
222
223
224In order to activate the WMS, WFS and WCS output support using
225MapServer, the ``--with-mapserver`` option must be used. The path to
226``mapserver-config`` which is located in the source code of MapServer
227must also be set, using the following command:
228
229::
230
231  $ ./configure --with-mapserver=/path/to/your/mapserver_config/
232
233
234Read more about the :ref:`kernel-mapserver`.
235
[713]236XML2 Support (Required)
237************************
238
239If 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:
240
241::
242
243  $ ./configure --with-xml2config=/usr/local/bin/xml2-config
244
[696]245Python Support (Optional)
[713]246**************************
[659]247
[696]248The ``--with-python=yes`` option is required to activate the :ref:`kernel_index` Python support, using the following command:
[659]249
[696]250::
[659]251
[696]252  $ ./configure --with-python=yes
[659]253
[696]254This assumes that python-config is found in your ``PATH``. If not,
255then you can specify the Python installation directory using the
256following command (with Python installed in the ``/usr/local``
257directory):
[659]258
[696]259::
[659]260
[696]261  $ ./configure --with-python=/usr/local
[659]262
263
[696]264Python Version
[713]265##############
[659]266
[696]267If multiple Python versions are available and you want to use a
268specific one, then you can use the ``--with-pyvers`` option as shown
269bellow:
[659]270
[696]271::
[659]272
[696]273  $ ./configure --with-pyvers=2.7
[659]274
275
[714]276.. _js-support:
277
278JavaScript Support (Optional)
279******************************
280
281In order to activate the JavaScript support for ZOO-Kernel,
282the ``--with-js=yes`` configure option must be specified. If you are using
283a "Debian-like" GNU/Linux distribution then  dpkg will be used to
284detect if the required packages are installed and you don't have to
285specify anything here. The following command is only needed (assuming
286that js_api.h and libmozjs.so are found in default directories):
287
288
289::
290
291  $ ./configure --with-js=yes
292
293If you want to use a custom installation of `SpiderMonkey
294<https://developer.mozilla.org/en/SpiderMonkey>`__ , or if you are not
295using a Debian packaging  system, then you'll have to specify the
296directory where it is installed. For  instance, if SpiderMonkey is in
297``/usr/local/``, then the following command must be used:
298
299::
300
301  $ ./configure --with-js=/usr/local
302
303
[696]304PHP Support (Optional)
[713]305***********************
[659]306
[696]307The ``--with-php=yes`` option is required to activate the
308:ref:`kernel_index` PHP support`, using the following command:
[659]309
[696]310::
[659]311
[696]312  $ ./configure --with-php=yes
[659]313
[696]314This assumes that ``php-config`` can be found in the ``<PATH>/bin``
315directory . So, supposing the your ``php-config`` can be found in
316``/usr/local/bin``, then use the following command:
[659]317
[696]318::
[659]319
[696]320  $ ./configure --with-php=/usr/local
[659]321
[696]322.. warning::
323    ZOO-Kernel optional PHP support requires a local PHP Embedded installation. Read more `here <http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP>`__.
[659]324
325
[696]326Java Support (Optional)
[713]327************************
[659]328
[696]329In order to activate the Java support for ZOO-Kernel, the
330`--with-java` configure option must be specified and sets the
331installation path of your Java SDK. For instance,  if Java SDK is
332installed in the ``/usr/lib/jvm/java-6-sun-1.6.0.22/`` directory,
333then the following command can be used:
[659]334
[696]335::
[659]336
[696]337  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/
[659]338
[696]339This assumes that the ``include/linux`` and ``jre/lib/i386/client/``
340subdirectories exist in ``/usr/lib/jvm/java-6-sun-1.6.0.22/``, and
341that the ``include/linux`` directory contains the ``jni.h`` headers file
342and that the ``jre/lib/i386/client/`` directory contains the ``libjvm.so``
343file.
[659]344
[809]345.. note::
346   You can use the `--with-java-rpath` option to produce a binary
347   aware of the libjvm location.
[659]348
[809]349
[696]350.. note::
351   With Mac OS X you only have to set *macos* as the value for the
352   ``--with-java`` option to activate Java support. For example:
[659]353
[696]354   ::
[659]355
[696]356     $ ./configure --with-java=macos
[659]357
358
[714]359Perl Support (Optional)
360************************
[659]361
[714]362The ``--with-perl=yes`` option can be used for activating the
363ZOO-Kernel Perl support, as follow:
[659]364
[696]365::
[659]366
[714]367  $ ./configure --with-perl=yes
[659]368
[714]369This assumes that perl is found in your PATH. For instance, if Perl is
370installed in ``/usr/local`` and ``/usr/local/bin`` is not found in
371your ``PATH``, then the following command can be used (this assumes
372that ``/usr/local/bin/perl`` exists):
[659]373
[696]374::
[659]375
[714]376  $ ./configure --with-perl=/usr/local
[659]377
378
[696]379Orfeo Toolbox Support (Optional)
[713]380*********************************
[659]381
[696]382In order to activate the optional Orfeo Toolbox support, the
383``--with-otb`` option must be used, using the following command:
[659]384
[696]385::
[659]386
[696]387  $ ./configure --with-otb=/path/to/your/otb/
[659]388
389
[696]390Read more about the :ref:`kernel-orfeotoolbox`.
[659]391
[696]392.. warning::
393    To build the Orfeo Toolbox support you will require ITK, the
394    default version of ITK is 4.5, in case you use another version,
395    please make sure to use the ``--with-itk-version`` to specificy
396    what is the version available on your system.
[659]397
[696]398SAGA GIS Support (Optional)
[713]399****************************
[659]400
401
[696]402In order to activate the optional SAGA GIS support, the *--with-saga* option must be used, using the following command:
[659]403
404::
405
[696]406  $ ./configure --with-saga=/path/to/your/saga/
[659]407
408
[696]409Read more about the :ref:`kernel-sagagis`.
[659]410
[696]411.. warning::
412    In case wx-config is not in your ``PATH`` please, make sure to use
413    the ``--with-wx-config``  to specify its location.
[659]414
[717]415Translation support (Optional)
416******************************
417
[722]418The ZOO-Kernel is able to translate the messages it produces in different
419natural languages. This requires that you download `the messages file
420<https://www.transifex.com/projects/p/zoo-kernel-internationalization/>`_
421translated in your language, if any. Then, for this translation
422support to work, you have to generate manually the requested file on
423your system. For instance for the French translation, you may use the
424following command:
[717]425
426.. code::
427
[722]428    msgfmt messagespo_fr_FR.utf8.po -o /usr/share/locale/fr/LC_MESSAGES/zoo-kernel.mo
[717]429
430The ZOO-Kernel is also able to handle translation of
431ZOO-Services. Please, refer to :ref:`this document
432<service_translation>` for more details on the procedure to add new
433ZOO-Service translation files.
434
435.. warning::
436    The location of the final ``.mo`` file may vary depending on your
437    system setup.
438
439
[696]440Install ZOO-Services
441--------------------
[659]442
[696]443.. warning::
444    We present here a global installation procedure for basics
445    ZOO-Services, for details about automatic installation of services
446    provided by :ref:`kernel-orfeotoolbox` or :ref:`kernel-sagagis`,
447    please refer to there specific documentations.
[659]448
[696]449Depending on the programming language used to implement the
450ZOO-Services you want to install, you will need to build a
451Services Provider. In the case of *C* and *Fotran*, you would create a
452shared library exporting the functions corresponding to all the
453ZOO-Services provided by this Services Provider. In case of *Java*,
454you will need to build a Java Class. In any other programming
455language, you should simply have to install the ServiceProvider and
456the zcfg files.
[659]457
[696]458If building a Shared library or a Java class is required, then you
459should find a ``Makefile`` in the service directory which is
460responsible to help you build this Services Provider. So you should
461simply run the `make` command from the Service directory to generate
462the required file.
[659]463
[696]464Then you simply need to copy the content of the ``cgi-env`` directory
465in ``cgi-bin``.
[659]466
[696]467To install the ``ogr/base-vect-ops`` Services Provider, supposing that
468your ``cgi-bin`` directory is ``/usr/local/lib`` use the following
469commands:
[659]470
[696]471.. code::
[659]472
[696]473    cd zoo-project/zoo-services/ogr/base-vect-ops
474    make
475    cp cgi-env/*.* /usr/lib/cgi-bin
[659]476
[696]477.. note::
478    You may also run ``make install`` directly after ``make``.
[659]479
480
[696]481To install the hello-py Services Provider, use the following commands:
[659]482
[696]483.. code::
484
485    cd zoo-project/zoo-services/hello-py/
486    cp cgi-env/* /usr/lib/cgi-bin
487
488
489Testing your installation
490-------------------------
491
492To test your installation yous should first be able to run the
493following command from the ``cgi-bin`` directory:
494
495.. code::
496
497    ./zoo_loader.cgi "request=GetCapabilities&service=WPS"
498
499
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