Outdated version of the documentation. Find the latest one here.

Extensions

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 :

$ sudo mkdir -p /opt/qgis-server/plugins
$ cd /opt/qgis-server/plugins
$ sudo wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
# In case unzip was not installed before:
$ sudo apt-get install unzip
$ sudo unzip master.zip
$ sudo mv qgis-helloserver-master HelloServer

Configuration d’un serveur HTTP

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_SERVER_LOG_FILE /tmp/qgis-000.log
FcgidInitialEnv QGIS_SERVER_LOG_LEVEL 0
FcgidInitialEnv QGIS_PLUGINPATH "/opt/qgis-server/plugins"

Moreover, a basic HTTP authorization is necessary to play with the HelloWorld plugin previously introduced. So we have to update the Apache configuration file a last time:

# 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 :

$ sudo a2ensite 001-qgis-server
$ sudo service apache2 restart

Astuce

Si vous travaillez avec une entité qui a beaucoup de nœuds alors la modification ou l’ajout d’une nouvelle entité échouera. Dans ce cas, il est possible d’insérer le code suivant dans le fichier 001-qgis-server.conf :

<IfModule mod_fcgid.c>
FcgidMaxRequestLen 26214400
FcgidConnectTimeout 60
</IfModule>

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 avoir un aperçu des GetCapabilities de QGIS server ici : http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities