EchoBase

Installation d'EchoBase sur un serveur

Nous préconisons toujours d'utiliser les valeurs par défaut fournies pour une meilleur réactivité de notre part si un problème d'installation survient.

Nous préconisons aussi l'utilisation d'un serveur linux de type debian.

L'installation se déroule en 2 étapes :

  • installation de la base de données
  • installation de l'application (et des applications dont elle dépend (apache, tomcat, qgis, ...)

Installation de la base de données

Il vous faudra peut-être installer un dépot apt pour postgres (voir https://wiki.postgresql.org/wiki/Apt).

L'application requière l'utilisation de postgresql 9.4 (et postgis 2.5).

apt-get install postgresql-9.4
apt-get install postgresql-9.4-postgis-2.5
apt-get install postgresql-9.4-postgis-2.5-scripts

Ajouter ces Lignes dans le fichier de configuration /etc/postgresql/9.5/main/pg_hba.conf :

System Message: WARNING/2 (line 56)

Literal block expected; none found.

host all all 127.0.1.1/32 md5 host all all 134.246.54.0/24 md5 host all all 134.246.55.0/24 md5 host all all 134.246.159.57/24 md5 host all all 134.246.53.148/24 md5 host all all 134.246.54.149/24 md5 host all all 134.246.54.86/24 md5 host all all 134.246.52.51/24 md5

Ajouter une ligne dans le fichier /etc/postgresql/9.5/main/postgresql.conf pour rendre accessible via le 5432:

System Message: WARNING/2 (line 69)

Literal block expected; none found.

listen_addresses = '*' # what IP address(es) to listen on;

Consulter la documentation suivante pour créer une base travail.

Installation de l'applicatif

L'application utilise les applicatifs suivants qu'il faut installer et configurer si nécessaire :

  • tomcat8
  • apache2
  • qgis-map-server
  • lizmap

Installation tomcat

apt-get install tomcat8

Activez le connecteur AJP tomcat : dans le fichier /etc/tomcat8/server.xml décommentez la ligne

<Connector port="8009" enableLookups="false" redirectPort="8443" protocol="AJP/1.3"/>

Redémarrez le service tomcat

service tomcat8 restart

Installation apache2

apt-get install apache2 libapache2-mod-fcgid
a2enmod cgid
a2enmod proxy proxy_ajp rewrite
service apache2 restart

Création du groupe utilisateur

On crée un groupe utilisateur nommé echobase pour gérer les droits aussi bien au niveau de tomcat que d'apache.

addgroup echobase
adduser www-data echobase
adduser tomcat8 echobase

Installation Qgis map server

Nous utilisons la version 2.8.4 de Qgis map server.

echo "" >> /etc/apt/sources.list
echo "" >> /etc/apt/sources.list
echo "#Pour installer qgis-server" >> /etc/apt/sources.list
echo "deb  http://qgis.org/debian wheezy main" >> /etc/apt/sources.list

gpg --keyserver keyserver.ubuntu.com --recv 314DF160
gpg --export --armor 314DF160 | apt-key add -

apt-get update
apt-get install qgis-mapserver qgis

Le dépot et le nom de la distribution sont à adapter en fonction de votre système (c.f. https://www.qgis.org/fr/site/forusers/alldownloads.html#linux) . Selon la version de Qgis que vous utilisez le nom package peut-être qgis-mapserver ou qgis-server L'url : http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities doit renvoyer un fichier XML de description des couches disponibles.

Installation Lizmap

Nous utilisons la version 2.9.4 de Lizmap.

apt-get install php5 curl php5-curl php5-sqlite php5-gd
mkdir -p /var/www/html
cd /var/www/html
wget https://github.com/3liz/lizmap-web-client/archive/2.9.4.zip
unzip 2.9.4.zip
rm 2.9.4.zip
ln -s lizmap-web-client-2.9.4 echobase-map

cd /var/www/html/echobase-map/lizmap
wget https://nexus.nuiton.org/nexus/content/repositories/other-releases/fr/ifremer/echobase/echobase-ui/4.2/echobase-ui-4.2-lizmap.zip
unzip -o echobase-ui-4.2-lizmap.zip
rm -rf echobase-ui-4.2-lizmap.zip

cd /var/www/html/echobase-map
chown -R www-data:echobase .
chmod g+w -R .

Attention : pour les versions d'Apache avant la 2.4.7 le dossier d'installation de Lizmap doit être /var/www.

Pour tester le server lizmap, allez à l'adresse suivante : http://localhost/echobase-map/lizmap/www

Installation EchoBase

On suppose que tomcat a été installé via le système de paquets, et donc que le répertoire /var/lib/tomcat8 existe.

Toutes les données de l'application seront placées dans le répertoire /var/local/echobase

mkdir /var/local/echobase
mkdir -p /var/local/echobase/war
cd /var/local/echobase/war

wget http://nexus.nuiton.org/nexus/content/repositories/other-releases/fr/ifremer/echobase/echobase-ui/4.2/echobase-ui-4.2-full.war

cd /var/local/echobase
ln -s war/echobase-ui-4.2-full.war echobase.war
cp echobase.war /var/lib/tomcat8/webapps

chown -R tomcat8:echobase .
chmod g+w -R .

L'application est bien déployée lorsque vous pouvez y accéder à l'adresse suivante :

http://localhost:8080/echobase

Une fois l'application déployée, vous aurez la structure de répertoires suivante :

/var/local/echobase/
|-- data
|   |-- echobase-log.config
|   |-- internaldb
|   |   `-- echobase-user.h2.db
|   |-- lib
|   |   |-- echobase-embedded-4.2.war
|   |   |-- h2-1.3.175.jar
|   |   `-- postgresql-9.4.1211.jar
|   |-- logs
|   |   `-- echobase.log
|   |-- import-check-${timestamp}
|   |   |--{filenameWithoutExtension}.processed.csv.gz
|   |   `--{filenameWithoutExtension}.checked.csv.gz
|   `-- gis
|       |-- resources
|       |   |-- France&Spain.shp
|       |   |-- pelgas09.shp
|       |   `-- ...
|       |-- projects
|       `-- templates
|           |-- EchoBaseLizmapTemplate.qgs.cfg
|           |-- EchoBaseQGisTemplate.qgs
|           `-- ...
|-- echobase.war
`-- war
    `-- echobase-ui-4.2-full.war

Nota Bene : Dans le cas où les utilisateurs auraient des problèmes de ressource pour importer des fichiers. Modifier la configuration du tomcat comme ceci :

JAVA_OPTS="-Djava.awt.headless=true -Xmx2048m -XX:+UseConcMarkSweepGC"

Configuration du serveur Apache

Pour la suite de l'installation, exporter le nom de domaine de votre machine

export DOMAIN=emhcalcul

Executer ces commandes (ajout modules apache, création du site echobase)

cat << EOF > /etc/apache2/sites-available/echobase.conf
<VirtualHost *:80>
    ServerName echobase.$DOMAIN

    ProxyRequests Off
    ProxyPass / ajp://localhost:8009/
    ProxyPassReverse / ajp://localhost:8009/

    <Proxy *>
       Order deny,allow
       Allow from all
    </Proxy>

    LogLevel warn
    ErrorLog /var/log/apache2/echobase-error.log
    CustomLog /var/log/apache2/echobase-access.log combined

</VirtualHost>
<VirtualHost *:80>
    ServerName echobase-map.$DOMAIN

    ProxyRequests Off
    RewriteEngine On
    RewriteRule   ^/$  http://echobase-map.$DOMAIN/echobase-map/lizmap/wwww [R]

    DocumentRoot /var/www/html

    LogLevel warn
    ErrorLog /var/log/apache2/echobase-map-error.log
    CustomLog /var/log/apache2/echobase-map-access.log combined

</VirtualHost>
EOF
a2ensite echobase.conf
service apache2 restart

Ajouter les deux nouveaux sous-domaines dans le fichier /etc/hosts

127.0.0.1 echobase.acoustica echobase-map.acoustica

Configuration LizMap dans EchoBase

On doit indiquer à EchoBase l'adresse qui génère les cartes

echo "" >> /etc/echobase.properties
echo "" >> /etc/echobase.properties
echo "echobase.lizmap.application.map.url=http://echobase-map.$DOMAIN/echobase-map/lizmap/www/index.php/view/map" >> /etc/echobase.properties

service tomcat8 restart

Conclusion

  • L'application EchoBase est accessible à l'adresse http://echobase.acoustica/echobase
  • Le site de cartographie est accessible à l'adresse http://echobase-map.acoustica/echobase-map/lizmap/www/index.php