Open WPS Platform

Debian / Ubuntu

Authors:Nicolas Bozon, Gérald Fenoy, Jeff McKenna, Luca Delucchi
Last Updated:$Date: 2013-06-21 18:55:49 +0200 (Fri, 21 Jun 2013) $

Note

Une image virtuelle Ubuntu 10.4 incluant ZOO est disponible sur http://www.zoo-project.org/Ubuntu10.4_ZOO.zip (root: ZOO.test)

Dépendances Ubuntu 12.04

  • installez les dépendances par défaut

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
  • ajoutez le dépôt ubuntugis pour obtenir les bibliothèques SIG les plus récentes

sudo add-apt-repository ppa:ubuntugis/ppa
sudo apt-get update
  • installez une bibliothèque géographique

sudo apt-get install libgdal1-dev
  • téléchargez les sources de ZOO

Dépendances Debian 7.0

  • installez les dépendances

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

Workflow d’installation

Note

Dans les lignes suivantes, vous trouverez une note en tant qu'utilisateur administrateur. Sur Ubuntu, vous devrez ajouter sudo au début de la ligne, sur Debian, vous pouvez utiliser su -c COMMAND)

svn checkout http://svn.zoo-project.org/svn/trunk zoo-project
  • installez cgic depuis les paquets

cd zoo-project/thirds/cgic206/
  • compilez

make
  • Si vous voulez utiliser Mapserver (optionnel) pour des sorties WMS, WFS et WCS, lisez Compiler MapServer

  • allez au chemin du kernel

cd ../../zoo-project/zoo-kernel/
  • créez le fichier configure

autoconf
  • lancez configure

./configure --with-js --with-python

Note

Pour PHP, vous devez vous assurer d’avoir compilé PHP avec –enable-embed.

Note

Pour utiliser MapServer, ajoutez l’option --with-mapserver=/path/to/mapserver/source

  • compilez

make
  • copiez les fichiers nécessaires dans votre cgi-bin (en tant qu’utilisateur administrateur)

cp main.cfg /usr/lib/cgi-bin
cp zoo_loader.cgi /usr/lib/cgi-bin
  • installez le ServiceProvider ZOO, dans ce cas, nous essayons le service Python (en tant qu’utilisateur administrateur)

cp ../zoo-services/hello-py/cgi-env/*.zcfg /usr/lib/cgi-bin
cp ../zoo-services/hello-py/*.py /usr/lib/cgi-bin/
  • changez quelques informations dans le main.cfg (en tant qu’utilisateur administrateur)

nano /usr/lib/cgi-bin/main.cfg
- serverAddress = http://127.0.0.1

Note

Si vous avez des problèmes dans la requête execute utilisant le service Python, ajoutez ce qui suit à main.cfg:

[env]
PYTHONPATH=<YOUR_PYTHONPATH>

Réécrire la configuration des règles

  • pour une meilleure lisibilité et un Kernel ZOO pleinement fonctionnel, vous devez modifier la configuration par défaut de Apache afin d’être capable d’utiliser l’url http://localhost/zoo/ directement. Lancez (en tant qu’utilisateur administrateur)

nano /usr/lib/cgi-bin/main.cfg
- serverAddress = http://localhost/zoo
  • d’abord, merci de créer un répertoire zoo dans /var/www/ qui est utilisé par Apache en tant que DocumentRoot (en tant qu’utilisateur administrateur)

mkdir /var/www/zoo
  • Ensuite, merci d’éditer le fichier de configuration /etc/apache2/sites-available/default et d’ajouter les lignes suivantes après le bloc Directory relatif au répertoire /var/www directory (en tant qu’utilisateur administrateur)

<Directory /var/www/zoo/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>
  • maintenant, créez un petit fichier .htaccess dans le /var/www/zoo contenant les lignes suivantes (en tant qu’utilisateur administrateur)

RewriteEngine on
RewriteRule call/(.*)/(.*) /cgi-bin/zoo_loader.cgi?request=Execute&service=WPS&version=1.0.0&Identifier=$1&DataInputs=sid=$2&RawDataOutput=Result [L,QSA]
RewriteRule (.*)/(.*) /cgi-bin/zoo_loader.cgi?metapath=$1 [L,QSA]
RewriteRule (.*) /cgi-bin/zoo_loader.cgi [L,QSA]
  • pour que le dernier fichier soit pris en compte par Apache, vous devez activer le module Apache de réécriture en copiant un fichier de chargement comme ci-dessous (en tant qu’utilisateur administrateur)

cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/
  • ou en utilisant l’outil a2enmod de cette manière (en tant qu’utilisateur administrateur)

a2enmod rewrite
  • maintenant, vous devriez être capable d’accéder au Kernel ZOO utilisant un script simplifié en redémarrant votre serveur Web Apache (en tant qu’utilisateur administrateur)

::
/etc/init.d/apache2 restart

Compiler MapServer

  • installez les dépendances MapServer (en tant qu’utilisateur administrateur)

apt-get install git libfreetype6-dev libproj-dev libkml-dev libcairo-dev libxml2-dev libgd2-xpm-dev libxslt1-dev
  • extrayez MapServer depuis le dépôt git

git clone https://github.com/mapserver/mapserver.git
cd mapserver
git checkout branch-6-2
git pull
  • maintenant compilez MapServer

./configure --with-ogr --with-gdal --with-wfsclient --with-wmsclient --with-tiff --with-jpeg --with-gd --with-wcs --with-sos --with-xml2-config --with-wfs --with-fastcgi --with-proj --with-cairo --with-kml=yes --with-xslt --with-threads --with-geos
make
  • maintenant installez MapServer (en tant qu’utilisateur administrateur)

make install
  • maintenant, ajoutez le chemin au chemin des bibliothèques (en tant qu’administrateur)

nano /etc/ld.so.conf.d/mapserver.conf
- /usr/local/lib/
  • lancez en tant qu’administrateur

ldconfig