[659] | 1 | .. _install-installation: |
---|
| 2 | |
---|
| 3 | Installation on Unix/Linux |
---|
| 4 | ================= |
---|
| 5 | |
---|
| 6 | For the impatient |
---|
| 7 | -------------- |
---|
| 8 | |
---|
| 9 | Run 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. |
---|
| 10 | |
---|
| 11 | :: |
---|
| 12 | |
---|
| 13 | cd zoo-kernel |
---|
| 14 | autoconf |
---|
| 15 | ./configure |
---|
| 16 | make |
---|
| 17 | |
---|
| 18 | This should produce executables for the *zoo_loader.cgi* CGI program in the ``zoo-kernel`` directory. Copy the *zoo_loader.cgi* and *main.cfg* files to the HTTP server ``cgi`` directory and start using it. |
---|
| 19 | |
---|
| 20 | .. warning:: |
---|
| 21 | |
---|
| 22 | Edit ZOO-Kernel installation settings in the *main.cfg* file (set ``tmpPath`` and ``tmpUrl`` to fit your web server configuration). |
---|
| 23 | |
---|
| 24 | Debian / Ubuntu |
---|
| 25 | ---------------------- |
---|
| 26 | |
---|
| 27 | Use the following instructions to install `ZOO-Project <http://zoo-project.org>`__ on Debian or Ubuntu distributions. |
---|
| 28 | |
---|
| 29 | Prerequisites |
---|
| 30 | ...................... |
---|
| 31 | |
---|
| 32 | Using Debian |
---|
| 33 | ********************** |
---|
| 34 | |
---|
| 35 | The following command should install all the required dependancies on Debian. See the :ref:`install-prereq` section for additional information. |
---|
| 36 | |
---|
| 37 | .. code-block:: guess |
---|
| 38 | |
---|
| 39 | apt-get install flex bison libfcgi-dev libxml2 libxml2-dev curl openssl autoconf apache2 python-software-properties subversion python-dev libgdal1-dev build-essential libmozjs185-dev |
---|
| 40 | |
---|
| 41 | Using Ubuntu |
---|
| 42 | ********************** |
---|
| 43 | |
---|
| 44 | On Ubuntu, use the following command first to install the required dependancies : |
---|
| 45 | |
---|
| 46 | .. code-block:: guess |
---|
| 47 | |
---|
| 48 | sudo apt-get install flex bison libfcgi-dev libxml2 libxml2-dev curl openssl autoconf apache2 python-software-properties subversion libmozjs185-dev python-dev build-essential |
---|
| 49 | |
---|
| 50 | Then add the *UbuntuGIS* repository in order to get the latest versions of libraries |
---|
| 51 | |
---|
| 52 | .. code-block:: guess |
---|
| 53 | |
---|
| 54 | sudo add-apt-repository ppa:ubuntugis/ppa |
---|
| 55 | sudo apt-get update |
---|
| 56 | |
---|
| 57 | Install the geographic library as follow: |
---|
| 58 | |
---|
| 59 | .. code-block:: guess |
---|
| 60 | |
---|
| 61 | sudo apt-get install libgdal1-dev |
---|
| 62 | |
---|
| 63 | |
---|
| 64 | Installation |
---|
| 65 | ...................... |
---|
| 66 | |
---|
| 67 | :ref:`install-download` ZOO-Project latest version from svn using the following command: |
---|
| 68 | |
---|
| 69 | .. code-block:: guess |
---|
| 70 | |
---|
| 71 | svn checkout http://svn.zoo-project.org/svn/trunk zoo-project |
---|
| 72 | |
---|
| 73 | Install the *cgic* library from packages using the following command: |
---|
| 74 | |
---|
| 75 | .. code-block:: guess |
---|
| 76 | |
---|
| 77 | cd zoo-project/thirds/cgic206/ |
---|
| 78 | make |
---|
| 79 | |
---|
| 80 | Head to the :ref:`kernel_index` directory |
---|
| 81 | |
---|
| 82 | .. code-block:: guess |
---|
| 83 | |
---|
| 84 | cd ../../zoo-project/zoo-kernel/ |
---|
| 85 | |
---|
| 86 | Create a configure file as follow: |
---|
| 87 | |
---|
| 88 | .. code-block:: guess |
---|
| 89 | |
---|
| 90 | autoconf |
---|
| 91 | |
---|
| 92 | Run configure with the desired options, for example with the following command: |
---|
| 93 | |
---|
| 94 | .. code-block:: guess |
---|
| 95 | |
---|
| 96 | ./configure --with-js --with-python |
---|
| 97 | |
---|
| 98 | .. note:: |
---|
| 99 | Refer to the :ref:`install-configure` section for the full list of available options |
---|
| 100 | |
---|
| 101 | Compile ZOO-Kernel as follow: |
---|
| 102 | |
---|
| 103 | .. code-block:: guess |
---|
| 104 | |
---|
| 105 | make |
---|
| 106 | |
---|
| 107 | Copy the necessary files to the `cgi-bin` directory (as administrator user) |
---|
| 108 | |
---|
| 109 | .. code-block:: guess |
---|
| 110 | |
---|
| 111 | cp main.cfg /usr/lib/cgi-bin |
---|
| 112 | cp zoo_loader.cgi /usr/lib/cgi-bin |
---|
| 113 | |
---|
| 114 | Install ZOO ServiceProviders, for example the basic Python service (as administrator user) |
---|
| 115 | |
---|
| 116 | .. code-block:: guess |
---|
| 117 | |
---|
| 118 | cp ../zoo-services/hello-py/cgi-env/*.zcfg /usr/lib/cgi-bin |
---|
| 119 | cp ../zoo-services/hello-py/*.py /usr/lib/cgi-bin/ |
---|
| 120 | |
---|
| 121 | Edit the *main.cfg* file as follow (example configuration): |
---|
| 122 | |
---|
| 123 | .. code-block:: guess |
---|
| 124 | |
---|
| 125 | nano /usr/lib/cgi-bin/main.cfg |
---|
| 126 | - serverAddress = http://127.0.0.1 |
---|
| 127 | |
---|
| 128 | |
---|
| 129 | Test the ZOO-Kernel installation with the following requests: |
---|
| 130 | |
---|
| 131 | .. code-block:: guess |
---|
| 132 | |
---|
| 133 | http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=GetCapabilities&Version=1.0.0 |
---|
| 134 | |
---|
| 135 | .. code-block:: guess |
---|
| 136 | |
---|
| 137 | http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=DescribeProcess&Version=1.0.0&Identifier=HelloPy |
---|
| 138 | |
---|
| 139 | .. code-block:: guess |
---|
| 140 | |
---|
| 141 | http://127.0.0.1/cgi-bin/zoo_loader.cgi?ServiceProvider=&metapath=&Service=WPS&Request=Execute&Version=1.0.0&Identifier=HelloPy&DataInputs=a=myname |
---|
| 142 | |
---|
| 143 | |
---|
| 144 | .. note:: |
---|
| 145 | |
---|
| 146 | Such request should return well formed XML documents (OWS documents responses). |
---|
| 147 | |
---|
| 148 | .. warning:: |
---|
| 149 | |
---|
| 150 | If ZOO-Kernel returns an error please check the :ref:`kernel_config` and beware of the :ref:`install-prereq`. |
---|
| 151 | |
---|
| 152 | |
---|
| 153 | OpenSUSE |
---|
| 154 | ---------------------- |
---|
| 155 | |
---|
| 156 | :ref:`kernel_index` is maintained as a package in `OpenSUSE Build Service (OBS) <https://build.opensuse.org/package/show?package=zoo-kernel&project=Application%3AGeo>`__. RPM are thus provided for all versions of OpenSUSE Linux (11.2, 11.3, 11.4, Factory). |
---|
| 157 | |
---|
| 158 | Stable release |
---|
| 159 | ...................... |
---|
| 160 | |
---|
| 161 | Use the following instructions to install ZOO-Project latetst release on OpenSUSE distribution. |
---|
| 162 | |
---|
| 163 | One-click installer |
---|
| 164 | ******************* |
---|
| 165 | |
---|
| 166 | A one-click installer is available `here <http://software.opensuse.org/search?q=zoo-kernel&baseproject=openSUSE%3A11.4&lang=en&exclude_debug=true>`__. |
---|
| 167 | For openSUSE 11.4, follow this direct `link <http://software.opensuse.org/ymp/Application:Geo/openSUSE_11.4/zoo-kernel.ymp?base=openSUSE%3A11.4&query=zoo-kernel>`__. |
---|
| 168 | |
---|
| 169 | Yast software manager |
---|
| 170 | ********************* |
---|
| 171 | |
---|
| 172 | Add the `Application:Geo <http://download.opensuse.org/repositories/Application:/Geo/>`__ repository to the software repositories and then ZOO-Kernel can then be found in Software Management using the provided search tool. |
---|
| 173 | |
---|
| 174 | Command line (as root for openSUSE 11.4) |
---|
| 175 | **************************************** |
---|
| 176 | |
---|
| 177 | Install ZOO-Kernel package by yourself using the following command: |
---|
| 178 | |
---|
| 179 | .. code-block:: guess |
---|
| 180 | |
---|
| 181 | zypper ar http://download.opensuse.org/repositories/Application:/Geo/openSUSE_11.4/ |
---|
| 182 | zypper refresh |
---|
| 183 | zypper install zoo-kernel |
---|
| 184 | |
---|
| 185 | Developement version |
---|
| 186 | ...................... |
---|
| 187 | |
---|
| 188 | The latest development version of ZOO-Kernel can be found in OBS under the project `home:tzotsos <https://build.opensuse.org/project/show?project=home%3Atzotsos>`__. ZOO-Kernel packages are maintained and tested there before being released to the Application:Geo repository. Installation methods are identical as for the stable version. Make sure to use `this <http://download.opensuse.org/repositories/home:/tzotsos/>`__ repository instead. |
---|
| 189 | |
---|
| 190 | Command line (as root for openSUSE 11.4) |
---|
| 191 | ******************************************** |
---|
| 192 | |
---|
| 193 | Install latest ZOO-Kernel trunk version with the following command: |
---|
| 194 | |
---|
| 195 | .. code-block:: guess |
---|
| 196 | |
---|
| 197 | zypper ar http://download.opensuse.org/repositories/home:/tzotsos/openSUSE_11.4/ |
---|
| 198 | zypper refresh |
---|
| 199 | zypper install zoo-kernel |
---|
| 200 | zypper install zoo-kernel-grass-bridge |
---|
| 201 | |
---|
| 202 | Note that there is the option of adding the zoo-wps-grass-bridge package. This option will automatically install grass7 (svn trunk). |
---|
| 203 | |
---|
| 204 | |
---|
| 205 | CentOS |
---|
| 206 | ---------------------- |
---|
| 207 | |
---|
| 208 | Use the following instructions to install `ZOO-Project <http://zoo-project.org>`__ on CentOS distributions. |
---|
| 209 | |
---|
| 210 | Prerequisites |
---|
| 211 | ...................... |
---|
| 212 | |
---|
| 213 | .. code-block:: guess |
---|
| 214 | |
---|
| 215 | yum install apache2 |
---|
| 216 | yum install build-essentials |
---|
| 217 | yum install gcc-c++ |
---|
| 218 | yum install zlib-devel |
---|
| 219 | yum install libxml2-devel |
---|
| 220 | yum install bison |
---|
| 221 | yum install openssl |
---|
| 222 | yum install python-devel |
---|
| 223 | yum install subversion |
---|
| 224 | |
---|
| 225 | |
---|
| 226 | Compile then install FastCGI library from source |
---|
| 227 | |
---|
| 228 | :: |
---|
| 229 | |
---|
| 230 | wget http://www.fastcgi.com/dist/fcgi.tar.gz |
---|
| 231 | tar xzf fcgi-2.4.0.tar.gz |
---|
| 232 | ./configure |
---|
| 233 | make |
---|
| 234 | make install |
---|
| 235 | echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf |
---|
| 236 | ldconfig |
---|
| 237 | |
---|
| 238 | Compile then install the autoconf tools : |
---|
| 239 | |
---|
| 240 | :: |
---|
| 241 | |
---|
| 242 | wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz |
---|
| 243 | tar xzf autoconf-latest.tar.gz |
---|
| 244 | ./configure --prefix=/usr |
---|
| 245 | make |
---|
| 246 | make install |
---|
| 247 | |
---|
| 248 | Compile then install the flex tool : |
---|
| 249 | |
---|
| 250 | :: |
---|
| 251 | |
---|
| 252 | wget http://downloads.sourceforge.net/project/flex/flex/flex-2.5.35/flex-2.5.35.tar.gz?r=http%3A%2F%2Fflex.sourceforge.net%2F&ts=1292529005&use_mirror=switch |
---|
| 253 | tar xzf flex-2.5.35.tar.gz |
---|
| 254 | cd flex-2.5.35 |
---|
| 255 | ./configure --prefix=/usr |
---|
| 256 | make |
---|
| 257 | make install |
---|
| 258 | |
---|
| 259 | Using the curl provided in the CentOS distribution will produce a ZOO-Kernel unable to run any |
---|
| 260 | Service. Indeed, some segmentation faults occur when trying to run ``Execute`` requests on the ZOO-Kernel, |
---|
| 261 | compiling the ZOO-Kernel setting ``USE_GDB`` flag in the ``CFLAGS`` of your ``Makefile`` will let you run |
---|
| 262 | ZOO-Kernel from gdb and be able to get more information on what is going wrong with your ZOO-Kernel. |
---|
| 263 | Doing this we can figure out that code on `line 173 <http://zoo-project.org/trac/browser/trunk/zoo-kernel/ulinet.c#L173>`__ |
---|
| 264 | and `line 175 <http://zoo-project.org/trac/browser/trunk/zoo-kernel/ulinet.c#L175>`__ have to be commented in the |
---|
| 265 | ``ulinet.c`` file to get a ZOO-Kernel working using the curl available in CentOS (curl version 7.15.5). |
---|
| 266 | If you don't apply the modification, you will get an error from a gdb session pointing |
---|
| 267 | segfault in ``Curl_cookie_clearall``. |
---|
| 268 | |
---|
| 269 | You can optionally compile then install curl from source : |
---|
| 270 | |
---|
| 271 | :: |
---|
| 272 | |
---|
| 273 | wget http://curl.haxx.se/download/curl-7.21.3.tar.bz2 |
---|
| 274 | tar xjf curl-7.21.3.tar.bz2 |
---|
| 275 | cd curl-7.21.3 |
---|
| 276 | ./configure --prefix=/usr |
---|
| 277 | make |
---|
| 278 | make install |
---|
| 279 | |
---|
| 280 | Compile then install Python : |
---|
| 281 | |
---|
| 282 | :: |
---|
| 283 | |
---|
| 284 | wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2 |
---|
| 285 | tar xjf Python-2.6.6.tar.bz2 |
---|
| 286 | cd Python-2.6.6 |
---|
| 287 | ./configure |
---|
| 288 | make |
---|
| 289 | make install |
---|
| 290 | |
---|
| 291 | Compile then install your own GDAL library : |
---|
| 292 | |
---|
| 293 | :: |
---|
| 294 | |
---|
| 295 | wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz |
---|
| 296 | tar xzf gdal-1.7.3.tar.gz |
---|
| 297 | cd gdal-1.7.3 |
---|
| 298 | ./configure # add your options here |
---|
| 299 | make |
---|
| 300 | make install |
---|
| 301 | |
---|
| 302 | Install the Sun JAVA SDK into ``/usr/share`` then use the following command to ensure that the ``libjvm.so`` |
---|
| 303 | will be found at runtime from any context. |
---|
| 304 | |
---|
| 305 | :: |
---|
| 306 | |
---|
| 307 | echo /usr/share/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/ >> /etc/ld.so.conf.d/jvm.conf |
---|
| 308 | ldconfig |
---|
| 309 | |
---|