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

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

Various fixes in contribute documentation

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