4. Extensions

4.1. Installation

Pour installer par exemple l’extension HelloWorld pour tester les serveurs, vous devez tout d’abord créer un répertoire pour accueillir les extensions serveur. Cela sera spécifié dans la configuration de l’hôte virtuel et passé au serveur par le biais d’une variable d’environnement :

mkdir -p /var/www/qgis-server/plugins
cd /var/www/qgis-server/plugins
wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
unzip master.zip
mv qgis-helloserver-master HelloServer

4.2. Configuration d’un serveur HTTP

4.2.1. Apache

Pour être en mesure d’utiliser une extension serveur, FastCGI doit savoir où regarder. Donc, nous devons modifier le fichier de configuration Apache pour renseigner la variable d’environnement QGIS_PLUGINPATH à FastCGI :

FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"

De plus, une autorisation basique HTTP est nécessaire pour utiliser l’extension HelloWorld citée précédemment. Donc, nous devons mettre à jour une dernière fois le fichier de configuration Apache :

# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
    RewriteEngine on
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Puis, redémarrez Apache :

systemctl restart apache2

4.3. Comment utilisez une extension ?

Testez le serveur avec l’extension HelloWorld :

wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
 HelloServer!

Vous pouvez consulter les GetCapabilities par défaut du serveur QGIS sur:

http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities