source: branches/PublicaMundi_David-devel/docs/install/installation.rst @ 714

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

Various fixes in the installation documentation.

  • Property svn:keywords set to Date Author
File size: 12.0 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
[711]90.. _zoo_install_db_backend:
91
[700]92Use a Database Backend (Optional)
[713]93**********************************
[659]94
[700]95If you want to share the ongoing informations of running services
[713]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.
[700]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
[714]112YAML Support (Optional)
113************************
[700]114
[714]115If ``yaml.h`` file is not found in your ``/usr/include`` directory and
116``libyaml.so`` is not found in ``/usr/lib``, a ``--with-yaml`` option
117can be used to specify its location. For instance, if the headeer file
118lies in ``/usr/local/include`` and the shared library is located in
119``/usr/local/lib``, you may use the following command:
[700]120
[714]121::
[713]122
[714]123  $ ./configure --with-yaml=/usr/local
124
125
126FastCGI Support (Required)
127***************************
128
129If your FastCGI library is not available in the default search path, a
130``--with-fastcgi`` option can be used to specify its location. For
131instance, if ``libfcgi.so`` lies in ``/usr/local/lib`` which is not in
132your ``LD_SEARCH_PATH``, you may use the following command:
133
134::
135
136  $ ./configure --with-fastcgi=/usr/local
137
138
139
[713]140GDAL Support (Required)
141************************
142
143If gdal-config program is not found in your ``PATH``, a
144``--with-gdal-config`` option can be used to specify its location. For
145instance, if ``gdal-config`` lies in ``/usr/local/bin`` which is not in
[714]146your ``PATH``, you may use the following command:
[713]147
148::
149
150  $ ./configure --with-gdal-config=/usr/local/bin/gdal-config
151
[714]152
153GEOS Support (Optional)
154************************
155
156If ``geos-config`` program is not found in your ``PATH``, a
157``--with-geosconfig`` option can be used to specify its location. For
158instance, if ``geos-config`` lies in ``/usr/local/bin`` which is not in
159your ``PATH``, you may use the following command:
160
161::
162
163  $ ./configure --with-geosconfig=/usr/local/bin/geos-config
164
165
166CGAL Support (Optional)
167************************
168
169If ``CGAL/Delaunay_triangulation_2.h`` program is not found in your
170``/usr/include`` directory, a ``--with-cgal`` option can be used to
171specify its location. For instance, if the file lies in
172``/usr/local/include`` which is not in your PATH, you may use the
173following command:
174
175::
176
177  $ ./configure --with-cgal=/usr/local
178
179
180
181MapServer Support (Optional)
182*****************************
183
184
185In order to activate the WMS, WFS and WCS output support using
186MapServer, the ``--with-mapserver`` option must be used. The path to
187``mapserver-config`` which is located in the source code of MapServer
188must also be set, using the following command:
189
190::
191
192  $ ./configure --with-mapserver=/path/to/your/mapserver_config/
193
194
195Read more about the :ref:`kernel-mapserver`.
196
[713]197XML2 Support (Required)
198************************
199
200If 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:
201
202::
203
204  $ ./configure --with-xml2config=/usr/local/bin/xml2-config
205
[696]206Python Support (Optional)
[713]207**************************
[659]208
[696]209The ``--with-python=yes`` option is required to activate the :ref:`kernel_index` Python support, using the following command:
[659]210
[696]211::
[659]212
[696]213  $ ./configure --with-python=yes
[659]214
[696]215This assumes that python-config is found in your ``PATH``. If not,
216then you can specify the Python installation directory using the
217following command (with Python installed in the ``/usr/local``
218directory):
[659]219
[696]220::
[659]221
[696]222  $ ./configure --with-python=/usr/local
[659]223
224
[696]225Python Version
[713]226##############
[659]227
[696]228If multiple Python versions are available and you want to use a
229specific one, then you can use the ``--with-pyvers`` option as shown
230bellow:
[659]231
[696]232::
[659]233
[696]234  $ ./configure --with-pyvers=2.7
[659]235
236
[714]237.. _js-support:
238
239JavaScript Support (Optional)
240******************************
241
242In order to activate the JavaScript support for ZOO-Kernel,
243the ``--with-js=yes`` configure option must be specified. If you are using
244a "Debian-like" GNU/Linux distribution then  dpkg will be used to
245detect if the required packages are installed and you don't have to
246specify anything here. The following command is only needed (assuming
247that js_api.h and libmozjs.so are found in default directories):
248
249
250::
251
252  $ ./configure --with-js=yes
253
254If you want to use a custom installation of `SpiderMonkey
255<https://developer.mozilla.org/en/SpiderMonkey>`__ , or if you are not
256using a Debian packaging  system, then you'll have to specify the
257directory where it is installed. For  instance, if SpiderMonkey is in
258``/usr/local/``, then the following command must be used:
259
260::
261
262  $ ./configure --with-js=/usr/local
263
264
[696]265PHP Support (Optional)
[713]266***********************
[659]267
[696]268The ``--with-php=yes`` option is required to activate the
269:ref:`kernel_index` PHP support`, using the following command:
[659]270
[696]271::
[659]272
[696]273  $ ./configure --with-php=yes
[659]274
[696]275This assumes that ``php-config`` can be found in the ``<PATH>/bin``
276directory . So, supposing the your ``php-config`` can be found in
277``/usr/local/bin``, then use the following command:
[659]278
[696]279::
[659]280
[696]281  $ ./configure --with-php=/usr/local
[659]282
[696]283.. warning::
284    ZOO-Kernel optional PHP support requires a local PHP Embedded installation. Read more `here <http://zoo-project.org/trac/wiki/ZooKernel/Embed/PHP>`__.
[659]285
286
[696]287Java Support (Optional)
[713]288************************
[659]289
[696]290In order to activate the Java support for ZOO-Kernel, the
291`--with-java` configure option must be specified and sets the
292installation path of your Java SDK. For instance,  if Java SDK is
293installed in the ``/usr/lib/jvm/java-6-sun-1.6.0.22/`` directory,
294then the following command can be used:
[659]295
[696]296::
[659]297
[696]298  $ ./configure --with-java=/usr/lib/jvm/java-6-sun-1.6.0.22/
[659]299
[696]300This assumes that the ``include/linux`` and ``jre/lib/i386/client/``
301subdirectories exist in ``/usr/lib/jvm/java-6-sun-1.6.0.22/``, and
302that the ``include/linux`` directory contains the ``jni.h`` headers file
303and that the ``jre/lib/i386/client/`` directory contains the ``libjvm.so``
304file.
[659]305
306
[696]307.. note:: 
308   With Mac OS X you only have to set *macos* as the value for the
309   ``--with-java`` option to activate Java support. For example:
[659]310
[696]311   ::
[659]312
[696]313     $ ./configure --with-java=macos
[659]314
315
[714]316Perl Support (Optional)
317************************
[659]318
[714]319The ``--with-perl=yes`` option can be used for activating the
320ZOO-Kernel Perl support, as follow:
[659]321
[696]322::
[659]323
[714]324  $ ./configure --with-perl=yes
[659]325
[714]326This assumes that perl is found in your PATH. For instance, if Perl is
327installed in ``/usr/local`` and ``/usr/local/bin`` is not found in
328your ``PATH``, then the following command can be used (this assumes
329that ``/usr/local/bin/perl`` exists):
[659]330
[696]331::
[659]332
[714]333  $ ./configure --with-perl=/usr/local
[659]334
335
[696]336Orfeo Toolbox Support (Optional)
[713]337*********************************
[659]338
[696]339In order to activate the optional Orfeo Toolbox support, the
340``--with-otb`` option must be used, using the following command:
[659]341
[696]342::
[659]343
[696]344  $ ./configure --with-otb=/path/to/your/otb/
[659]345
346
[696]347Read more about the :ref:`kernel-orfeotoolbox`.
[659]348
[696]349.. warning::
350    To build the Orfeo Toolbox support you will require ITK, the
351    default version of ITK is 4.5, in case you use another version,
352    please make sure to use the ``--with-itk-version`` to specificy
353    what is the version available on your system.
[659]354
[696]355SAGA GIS Support (Optional)
[713]356****************************
[659]357
358
[696]359In order to activate the optional SAGA GIS support, the *--with-saga* option must be used, using the following command:
[659]360
361::
362
[696]363  $ ./configure --with-saga=/path/to/your/saga/
[659]364
365
[696]366Read more about the :ref:`kernel-sagagis`.
[659]367
[696]368.. warning::
369    In case wx-config is not in your ``PATH`` please, make sure to use
370    the ``--with-wx-config``  to specify its location.
[659]371
[696]372Install ZOO-Services
373--------------------
[659]374
[696]375.. warning::
376    We present here a global installation procedure for basics
377    ZOO-Services, for details about automatic installation of services
378    provided by :ref:`kernel-orfeotoolbox` or :ref:`kernel-sagagis`,
379    please refer to there specific documentations.
[659]380
[696]381Depending on the programming language used to implement the
382ZOO-Services you want to install, you will need to build a
383Services Provider. In the case of *C* and *Fotran*, you would create a
384shared library exporting the functions corresponding to all the
385ZOO-Services provided by this Services Provider. In case of *Java*,
386you will need to build a Java Class. In any other programming
387language, you should simply have to install the ServiceProvider and
388the zcfg files.
[659]389
[696]390If building a Shared library or a Java class is required, then you
391should find a ``Makefile`` in the service directory which is
392responsible to help you build this Services Provider. So you should
393simply run the `make` command from the Service directory to generate
394the required file.
[659]395
[696]396Then you simply need to copy the content of the ``cgi-env`` directory
397in ``cgi-bin``.
[659]398
[696]399To install the ``ogr/base-vect-ops`` Services Provider, supposing that
400your ``cgi-bin`` directory is ``/usr/local/lib`` use the following
401commands:
[659]402
[696]403.. code::
[659]404
[696]405    cd zoo-project/zoo-services/ogr/base-vect-ops
406    make
407    cp cgi-env/*.* /usr/lib/cgi-bin
[659]408
[696]409.. note::
410    You may also run ``make install`` directly after ``make``.
[659]411
412
[696]413To install the hello-py Services Provider, use the following commands:
[659]414
[696]415.. code::
416
417    cd zoo-project/zoo-services/hello-py/
418    cp cgi-env/* /usr/lib/cgi-bin
419
420
421Testing your installation
422-------------------------
423
424To test your installation yous should first be able to run the
425following command from the ``cgi-bin`` directory:
426
427.. code::
428
429    ./zoo_loader.cgi "request=GetCapabilities&service=WPS"
430
431
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