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

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

Various fixes in installation documentation

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