source: trunk/docs/kernel/configuration.rst @ 752

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

Add optional CORS support. Fix issue when dealing with Array in JavaScript? support.

  • Property svn:keywords set to Date Author
  • Property svn:mime-type set to text/plain
File size: 8.2 KB
Line 
1.. _kernel_config:
2
3ZOO-Kernel configuration
4========================
5
6Main configuration file
7-----------------------
8
9ZOO-Kernel general settings are defined in a configuration file called
10``main.cfg``. This file is stored in the same directory as ZOO-Kernel
11(``/usr/lib/cgi-bin/`` in most cases). It provides usefull metadata information on your ZOO-Kernel installation.     
12
13.. warning::
14  ZOO-Kernel (``/usr/lib/cgi-bin/zoo_loader.cgi``) and its
15  configuration file (``/usr/lib/cgi-bin/main.cfg``) must be in the
16  same directory.
17 
18.. note::
19  Information contained by ``/usr/lib/cgi-bin/main.cfg`` is accessible from WPS Services at runtime, so when *Execute* requests are used.
20
21Default main.cfg
22...............................
23
24An example *main.cfg* file is given here as reference.
25
26.. code-block:: guess
27    :linenos:
28   
29    [headers]
30    X-Powered-By=ZOO@ZOO-Project
31   
32    [main]
33    version=1.0.0
34    encoding=utf-8
35    dataPath=/var/data
36    tmpPath=/var/www/temp
37    cacheDir=/var/www/cache
38    sessPath=/tmp
39    serverAddress=http://localhost/cgi-bin/zoo_loader.cgi
40    lang=fr-FR,ja-JP
41    language=en-US
42    mapserverAddress=http://localhost/cgi-bin/mapserv.cgi
43    msOgcVersion=1.0.0
44    tmpUrl=http:/localhost/temp/
45    cors=false
46   
47    [identification]
48    keywords=t,ZOO-Project, ZOO-Kernel,WPS,GIS
49    title=ZOO-Project demo instance
50    abstract= This is ZOO-Project, the Open WPS platform.
51    accessConstraints=none
52    fees=None
53   
54    [provider]
55    positionName=Developer
56    providerName=GeoLabs SARL
57    addressAdministrativeArea=False
58    addressDeliveryPoint=1280, avenue des Platanes
59    addressCountry=fr
60    phoneVoice=+33467430995
61    addressPostalCode=34970
62    role=Dev
63    providerSite=http://geolabs.fr
64    phoneFacsimile=False
65    addressElectronicMailAddress=gerald@geolabs.fr
66    addressCity=Lattes
67    individualName=Gerald FENOY
68
69
70Main section
71...............................
72
73The main.cfg ``[main]`` section parameters are explained bellow.
74
75 * ``version``: Supported WPS version.
76 * ``encoding``: Default encoding of WPS Responses.
77 * ``dataPath``: Path to the directory where data files are stored (used to store mapfiles and data when MapServer support is activated).
78 * ``tmpPath``: Path to the directory where temporary files are stored (such as *ExecuteResponse* when *storeExecuteResponse* is set to true).
79 * ``tmpUrl``: URL to access the temporary files directory (cf. ``tmpPath``).
80 * ``cacheDir``: Path to  the directory where cached request files [#f1]_ are stored (optional).
81 * ``serverAddress``: URL to the ZOO-Kernel instance.
82 * ``mapservAddress``: URL to the MapServer instance (optional).
83 * ``msOgcVersion``: Version of all supported OGC Web Services output [#f2]_
84   (optional).
85 * ``lang``: Supported natural languages separated by a coma (the first is the default one),
86 * ``cors``: Define if the ZOO-Kernel should support `Cross-Origin
87   Resource Sharing <https://www.w3.org/TR/cors/>`__. If this
88   paramater is not defined, then the ZOO-Kernel won't support CORS.
89
90In case you have activated the MapServer support, please refer to
91:ref:`this specific section <kernel-mapserver-main.cfg>`.
92
93
94Identification and Provider
95..........................................
96
97The ``[identification]`` and ``[provider]`` sections are not ZOO-Project
98specific. They provide OGC metadata [#f3]_ and should be set according
99to the `XML Schema Document
100<http://schemas.opengis.net/ows/1.1.0/ows19115subset.xsd>`__ which
101encodes the parts of ISO 19115 used by the common
102*ServiceIdentification* and *ServiceProvider* sections of the
103*GetCapabilities* operation response, known as the service metadata
104XML document.
105
106Details of the common OWS 1.1.0 *ServiceIdentification* section can be
107found in this `XML Schema Document
108<http://schemas.opengis.net/ows/1.1.0/owsServiceIdentification.xsd>`__.
109
110Details of the common OWS 1.1.0 *ServiceProvider* section can be
111found in this `XML Schema Document
112<http://schemas.opengis.net/ows/1.1.0/owsServiceProvider.xsd>`__.
113
114
115Additional sections
116--------------------------------
117
118Headers section
119...............................
120
121The ``[headers]`` section can be set in order to define a specific HTTP
122Response header, which will be used for every response. As an example,
123you can check http://zoo-project.org using *curl* command line tool
124and notice the specific header *X-Powered-By: Zoo-Project@Trac*.
125
126In case you want to allow CORS support for POST requests coming from
127``myhost.net``, then you should define the following minimal
128parameters in this section:
129
130.. code-block:: guess
131    :linenos:
132   
133    Access-Control-Allow-Origin=myhost.net
134    Access-Control-Allow-Methods=POST
135    Access-Control-Allow-Headers=content-type
136
137
138env section
139...............................
140
141The ``[env]`` section can be used to store specific environment
142variables to be set prior the loading of *Services Provider* and Service execution.
143
144A typical example is when a Service requires the access to a X server
145running on *framebuffer*, which takes to set the DISPLAY environnement
146variable, as follow:
147
148.. code-block:: guess
149    :linenos:
150   
151    [env]
152    DISPLAY=:1
153
154In case you have activated the OTB support, please refer to :ref:`this
155specific section <kernel-orfeotoolbox-main.cfg>`.
156
157lenv section
158...............................
159
160The ``lenv`` can be used to store runtime informations automatically
161set by ZOO-Kernel before and during the execution of a WPS service,
162with the following parameters:
163
164 * ``sid`` (r): The WPS Service unique identifier,
165 * ``status`` (rw): The current progress value ( a value between 0 and
166   100 in percent (**%**) ),
167 * ``cwd`` (r): The current working directory of ZOO-Kernel,
168 * ``message`` (rw): An error message used when ``SERVICE_FAILED`` is returned (optional),
169 * ``cookie`` (rw): The cookie to be returned to the client (for
170   example for authentication purpose).
171
172senv section
173...............................
174
175The ``senv`` section can be used to store sessions information on the
176server side. Such information can then be accessed automatically from
177the Service if the server is requested using a valid cookie (as
178defined in ``lenv`` section). ZOO-Kernel will store the values set in the
179``senv`` maps on disk, load it and dynamically replace its content to
180the one in the ``main.cfg``. The ``senv`` section must contain the
181following parameter at least:
182
183 * ``XXX``: The session unique identifier where ``XXX`` is the name
184   included in the cookie which is returned.
185
186.. _cookie_example:
187
188For instance, adding the following in the Service source code  :
189
190.. code:: python
191   
192    conf["lenv"]["cookie"]="XXX=XXX1000000; path=/"
193    conf["senv"]={"XXX": "XXX1000000","login": "demoUser"}
194
195means that ZOO-Kernel will create a file named ``sess_XXX1000000.cfg``
196in the ``cacheDir`` directory, and will return the specified cookie to the client. Each time the client will
197request ZOO-Kernel using this cookie, it will automatically load the
198value stored before the Service execution.
199
200.. _zoo_activate_db_backend:
201
202Database section
203...............................
204
205The database section allows to configure the
206:ref:`ZOO-Kernel optional database support <zoo_install_db_backend>`.
207
208.. code-block:: guess
209
210        [database]
211        dbname=zoo_project
212        port=5432
213        user=username
214        host=127.0.0.1
215        type=PG
216        schema=public
217
218This will generate strings to be passed to GDAL to connect the
219database server:
220
221.. code-block:: guess
222   
223    <type>:host=<host> port=<port>  user=<user> dbname=<dbname>
224
225
226With the previous database section, it will give the following:
227
228.. code-block:: guess
229
230    PG:"dbname=zoo_project host=127.0.0.1 port=5432 user=username"
231
232Please refer to this `section <zoo_create_db_backend>`_ to learn how
233to setup the database.
234
235     
236.. rubric:: Footnotes
237
238.. [#f1] If GET requests are passed through ``xlink:href`` to the ZOO-Kernel , the latter will execute the request the first time and store the result  on disk. The next time the same request is executed, the cached file will be used and this will make your process run much faster. If ``cachedir`` was not specified in the ``main.cfg`` then the ``tmpPath`` value will be used.
239.. [#f2] Usefull when the :ref:`kernel-mapserver` is activated (available since ZOO-Project version 1.3.0).
240.. [#f3] ZOO-Kernel and MapServer are sharing the same metadata for OGC Web Services if the :ref:`kernel-mapserver` is activated.
241
242   
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