Version 3 (modified by djay, 14 years ago) |
---|
HowTo Install ZOO-Kernel on CentOS 5.5
This documentation was done thanks to Guillaume Sueur from Neogeo Technologies which takes time to test installing the ZOO-Kernel on CentOS 5.5 environment.
Requirements
Installing some standard tools to be able to run ZOO-Kernel on your platform :
yum install apache2 yum install build-essentials yum install gcc-c++ yum install zlib-devel yum install libxml2-devel yum install bison yum install openssl yum install python-devel yum install subversion
Compile then install FastCGI library from source
wget http://www.fastcgi.com/dist/fcgi.tar.gz
tar xzf fcgi-2.4.0.tar.gz
./configure
make
make install
echo /usr/local/lib >> /etc/ld.so.conf.d/local.conf
ldconfig
Compile then install the autoconf tools :
wget http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.gz
tar xzf autoconf-latest.tar.gz
./configure --prefix=/usr
make
make install
Compile then install the flex tool :
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 tar xzf flex-2.5.35.tar.gz cd flex-2.5.35 ./configure --prefix=/usr make make install
Using the curl providen in the CentOS distribution will produce ZOO-Kernel unable to run any Service. Indeed, some segmentation fault occurs when trying to run Execute request on the ZOO-Kernel, compiling the ZOO-Kernel seting USE_GDB flag in the CFLAGS of your Makefile will let you run ZOO-Kernel from gdb and be able to get more information on what is going wrong with your ZOO-Kernel. Doing this we can figure out that code on line 173 and line 175 have to be commented in the ulinet.c file to get a ZOO-Kernel working using the curl available in CentOS (curl version 7.15.5). If you don't apply the modification, you will get an error from a gdb session pointing segfault in Curl_cookie_clearall.
As the curl segfault, you can compile then install curl from source :
wget http://curl.haxx.se/download/curl-7.21.3.tar.bz2 tar xjf curl-7.21.3.tar.bz2 cd curl-7.21.3 ./configure --prefix=/usr make make install
Compile then install Python :
wget http://www.python.org/ftp/python/2.6.6/Python-2.6.6.tar.bz2
tar xjf Python-2.6.6.tar.bz2
cd Python-2.6.6
./configure
make
make install
Compile then install your own GDAL library :
wget http://download.osgeo.org/gdal/gdal-1.7.3.tar.gz tar xzf gdal-1.7.3.tar.gz cd gdal-1.7.3 ./configure # add your options here make make install
Install the Sun JAVA SDK into /usr/share then use the following command to ensure that the libjvm.so will be found at runtime from any context.
echo /usr/share/java-1.6.0-openjdk-1.6.0.0/jre/lib/i386/client/ >> /etc/ld.so.conf.d/jvm.conf
ldconfig
Compile ZOO-Kernel and ZOO-Services
Compile then install ZOO-Kernel and your first ZOO-Services.
First of all, compile the cgic library providen in the SVN source tree:
svn co http://svn.zoo-project.org/svn/trunk zoo-project
cd zoo-project/thirds/cgic206
make
Compile then install ZOO-Kernel.
cd ../../zoo-kernel ./configure --with-java=/usr/share/jdk1.6.0_23/ --with-python make zoo_loader.cgi cp main.cfg /var/www/cgi-bin/ cp zoo_loader.cgi /var/www/cgi-bin/
Compile then deploy your first ZOO-ServicesProviders (simple HelloPy - line 1 and 2- and the OGR base-vect-ops ServiceProvider - line 3 to 6):
To ensure that the libjvm.so will be found from apache, please restart it :
/etc/init.d/httpd restart
Testing your ZOO-Kernel
Testing your ZOO-Kernel from command line.
cd /var/www/cgi-bin ./zoo_loder.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=HelloPy&DataInputs=a=Djay" ./zoo_loader.cgi "request=Execute&service=WPS&version=1.0.0&Identifier=Buffer&DataInputs=BufferDistance=1@datatype=interger;InputPolygon=Reference@xlink:href=http%3A%2F%2Fwww.zoo-project.org%3A8082%2Fgeoserver%2Fows%3FSERVICE%3DWFS%26REQUEST%3DGetFeature%26VERSION%3D1.0.0%26typename%3Dtopp%3Astates%26SRS%3DEPSG%3A4326%26FeatureID%3Dstates.15&RawDataOutput=Result@mimeType=application/json"