Changeset 262 for trunk/docs/workshop/2010/using_zoo_from_osgeolivevm.txt
- Timestamp:
- Jul 15, 2011, 8:03:05 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/docs/workshop/2010/using_zoo_from_osgeolivevm.txt
r256 r262 2 2 3 3 Using ZOO from an OSGeoLive virtual machine 4 ########################################### ##4 ########################################### 5 5 6 6 .. contents:: Table of Contents … … 11 11 12 12 ZOO Kernel Installation 13 *********************** *13 *********************** 14 14 15 As already said in introduction, an OSGeoLive virtual machine image disk has been installed on your computer, allowing you to use ZOO Kernel in a development environment directly. Using a virtual machine image disk seems to be the simplest way to use ZOO Kernel and to develop ZOO Services locally, as we can ensure that everything requested for compiling C Services and running Python ones is available and ready to use. Every ZOO related material and source code have been placed in ``/home/user/zoows`` directory. We will work inside it during this workshop. As the binary version of ZOO Kernel is already compiled and stored in ``/home/user/zoows/sources/zoo-kernel``, you only have to copy two important files inside the ``/usr/lib/cgi-bin`` directory : ``zoo_loader.cgi`` and the ``main.cfg`` in order to make ZOO Kernel available, using the following commands : 15 As already said in introduction, an OSGeoLive virtual machine image disk has 16 been installed on your computer, allowing you to use ZOO Kernel in a development 17 environment directly. Using a virtual machine image disk seems to be the simplest 18 way to use ZOO Kernel and to develop ZOO Services locally, as we can ensure that 19 everything requested for compiling C Services and running Python ones is available 20 and ready to use. Every ZOO related material and source code have been placed in 21 ``/home/user/zoows`` directory. We will work inside it during this workshop. As 22 the binary version of ZOO Kernel is already compiled and stored in ``/home/user/zoows/sources/zoo-kernel``, 23 you only have to copy two important files inside the ``/usr/lib/cgi-bin`` 24 directory : ``zoo_loader.cgi`` and the ``main.cfg`` in order to make ZOO Kernel 25 available, using the following commands : 16 26 17 27 .. code-block:: guess … … 21 31 22 32 23 Please note that we will talk about ZOO Kernel or ``zoo_loader.cgi`` script without any distinction during this workshop. 33 Please note that we will talk about ZOO Kernel or ``zoo_loader.cgi`` script without 34 any distinction during this workshop. 24 35 25 The ``main.cfg`` file contains metadata informations about the identification and provider but also some important settings. The file is composed of various sections, namely main, identification and provider per default. Obviously, you are free to add new sections to the file if you need them for a specific Service. Nevertheless, you have to know that the env and lenv sections name are used in a specific way. 36 The ``main.cfg`` file contains metadata informations about the identification and 37 provider but also some important settings. The file is composed of various sections, 38 namely main, identification and provider per default. Obviously, you are free to add 39 new sections to the file if you need them for a specific Service. Nevertheless, you 40 have to know that the env and lenv sections name are used in a specific way. 26 41 27 The env section lets you define environment variables that your Service requires during its runtime. For instance, if your Service requires to access to a X server running on framebuffer, then you will have to set the ``DISPLAY`` environnement variably, in this case you would add ``DISPLAY=:1`` line in your env section. 42 The env section lets you define environment variables that your Service requires 43 during its runtime. For instance, if your Service requires to access to a X server 44 running on framebuffer, then you will have to set the ``DISPLAY`` environnement 45 variably, in this case you would add ``DISPLAY=:1`` line in your env section. 28 46 29 As for the env section, there is the section lenv where specific informations about status informations of a running Service will be written by the ZOO Kernel or the ZOO Services. For instance, when your service failed, you can set the value for message in lenv to see it displayed in the Status node of the ExecuteResponse returned back to the client. If your service will take long time and can get informations about processing status, you can then set a value between 0 and 100 to status in lenv to represent the percentage completed of the running Service task, we will talk deeper about this later in this workshop. 47 As for the env section, there is the section lenv where specific informations about 48 status informations of a running Service will be written by the ZOO Kernel or the 49 ZOO Services. For instance, when your service failed, you can set the value for 50 message in lenv to see it displayed in the Status node of the ExecuteResponse 51 returned back to the client. If your service will take long time and can get 52 informations about processing status, you can then set a value between 0 and 100 53 to status in lenv to represent the percentage completed of the running Service task, 54 we will talk deeper about this later in this workshop. 30 55 31 56 Please take a look to your local file ``main.cfg`` file. Three important parameters are commented bellow: … … 43 68 tmpUrl=../temp/ 44 69 45 You could have noticed that the tmpUrl is a relative url from ``serverAddress``, so it must be a directory. Even if ZOO Kernel can be used with the full url of the ``zoo_loader.cgi`` script, for better readability and fully functional ZOO Kernel, you have to modify the default Apache configuration in order to be able to use the http://localhost/zoo/ url directly. 70 You could have noticed that the tmpUrl is a relative url from ``serverAddress``, 71 so it must be a directory. Even if ZOO Kernel can be used with the full url of 72 the ``zoo_loader.cgi`` script, for better readability and fully functional ZOO Kernel, 73 you have to modify the default Apache configuration in order to be able to use the 74 http://localhost/zoo/ url directly. 46 75 47 First, please create a ``zoo`` directory in the existing ``/var/www`` which is used by Apache as the ``DocumentRoot``. Then, please edit the ``/etc/apache2/sites-available/default`` configuration file and add the following lines after the ``Directory`` block related to ``/var/www`` directory : 76 First, please create a ``zoo`` directory in the existing ``/var/www`` which is 77 used by Apache as the ``DocumentRoot``. Then, please edit the ``/etc/apache2/sites-available/default`` 78 configuration file and add the following lines after the ``Directory`` block related to ``/var/www`` directory : 48 79 49 80 .. code-block:: none … … 65 96 RewriteRule (.*) /cgi-bin/zoo_loader.cgi [L,QSA] 66 97 67 For this last file to be taken into account by Apache, you must activate the rewrite Apache module by copying a load file as bellow : 98 For this last file to be taken into account by Apache, you must activate the 99 rewrite Apache module by copying a load file as bellow : 68 100 69 101 .. code-block:: guess … … 84 116 85 117 86 Two other softwares form the OSGeoLive environment will be used during this workshop. MapServer will first be used to provide WFS input data for the ZOO Services we are going to develop. The MapServer dataset providen by Orkney (japanese regions polygons) will be passed to our service during `section 4 <http://zoo-project.org/trac/wiki/ZooWorkshop/FOSS4GJapan/CreatingOGRBasedWebServices#CallingthesinglegeometryservicesfromJavaScript>`__. 118 Two other softwares form the OSGeoLive environment will be used during this workshop. 119 MapServer will first be used to provide WFS input data for the ZOO Services we are 120 going to develop. The MapServer dataset providen by Orkney (japanese regions polygons) 121 will be passed to our service during `section 4 <http://zoo-project.org/trac/wiki/ZooWorkshop/FOSS4GJapan/CreatingOGRBasedWebServices#CallingthesinglegeometryservicesfromJavaScript>`__. 87 122 88 OpenLayers library is also available on the OSGeoLive virtual machine image disk, and it will be used during `section 4 <http://zoo-project.org/trac/wiki/ZooWorkshop/FOSS4GJapan/CreatingOGRBasedWebServices#CallingthesinglegeometryservicesfromJavaScript>`__, for building a simple WPS client application able to query the newly developed ZOO Services. 123 OpenLayers library is also available on the OSGeoLive virtual machine image disk, 124 and it will be used during `section 4 <http://zoo-project.org/trac/wiki/ZooWorkshop/FOSS4GJapan/CreatingOGRBasedWebServices#CallingthesinglegeometryservicesfromJavaScript>`__, for building a simple WPS client application able to query the newly developed ZOO Services. 89 125 90 As we planned to use OGR C-API and Python module of the GDAL library, we will need the corresponding header files, libraries and associated files. Hopefully everything was already available per default and so ready to use on the OSGeoLive packaging. 126 As we planned to use OGR C-API and Python module of the GDAL library, we will need 127 the corresponding header files, libraries and associated files. Hopefully everything 128 was already available per default and so ready to use on the OSGeoLive packaging. 91 129 92 130 Testing the ZOO installation with GetCapabilities 93 ************************************************* **131 ************************************************* 94 132 95 133 … … 105 143 :align: center 106 144 107 Please note that no Process node is returned in the ProcessOfferings section, as no ZOO Service is available yet. You can also proceed to a GetCapabilities request from the command line, using the following command: 145 Please note that no Process node is returned in the ProcessOfferings section, as no 146 ZOO Service is available yet. You can also proceed to a GetCapabilities request from 147 the command line, using the following command: 108 148 109 149 .. code-block:: none … … 122 162 123 163 Preparing your ZOO Services Provider directory 124 ********************************************** ***164 ********************************************** 125 165 126 In order to simplify the task, we will first comment the directory structure which should be used when creating a new Services Provider : 166 In order to simplify the task, we will first comment the directory structure which 167 should be used when creating a new Services Provider : 127 168 128 169 - The main Services Provider directory including :
Note: See TracChangeset
for help on using the changeset viewer.