Important

La traduction est le fruit d’un effort communautaire auquel vous pouvez vous joindre. Cette page est actuellement traduite à 100.00%.

11.1. Leçon : Installer QGIS Server

Le but de cette leçon: Apprendre comment installer QGIS Server sur Debian Stretch. Avec des variations négligeables, vous pouvez également le suivre pour toute distribution basée sur Debian comme Ubuntu et ses dérivés.

Note

Dans Ubuntu, vous pouvez utiliser votre utilisateur le plus couramment utilisé, en ajoutant sudo aux commandes nécessitant des autorisations administrateur. Dans Debian, vous pouvez travailler en tant qu’administrateur (root), sans utiliser sudo.

11.1.1. ★★☆ Pas à pas : Installer à l’aide des paquets

Dans cette leçon, nous allons seulement faire l’installation à partir de paquets comme indiqué ici .

Installez QGIS Server avec:

apt install qgis-server --no-install-recommends --no-install-suggests

# if you want to install server plugins, also:
apt install python3-qgis

QGIS Server doit être utilisé en production sans que QGIS Desktop (avec le serveur X qui l’accompagne) soit installé sur la même machine.

11.1.2. ★★☆ Pas à pas : L’exécutable de QGIS Server

L’exécutable QGIS Server est qgis-mapserv.fcgi. Vous pouvez vérifier à quel endroit il a été installé au moyen de la commande: find / -name 'qgis_mapserv.fcgi' qui devrait renvoyer quelque chose comme /usr/lib/cgi-bin/qgis_mapserv.fcgi.

Optionnellement, si vous voulez faire un test en ligne de commande à ce moment-là, vous pouvez lancer la commande /usr/lib/cgi-bin/qgis_mapserv.fcgi --version qui devrait produire quelque chose comme :

QGIS 3.21.0-Master 'Master' (1c70953f1e)
QGIS code revision 1c70953f1e
Qt version 5.15.2
Python version 3.9.5
GDAL/OGR version 3.2.2
PROJ version 7.2.1
EPSG Registry database version v10.008 (2020-12-16)
GEOS version 3.9.0-CAPI-1.16.2
SQLite version 3.34.1
OS Ubuntu 21.04

Nous verrons plus loin comment faire des requêtes WMS.

11.1.3. ★★★ Configuration d’un serveur HTTP

Pour accéder au serveur QGIS depuis un navigateur internet, il faut mettre en place un serveur HTTP. L’installation du serveur HTTP Apache est décrite dans la section Apache HTTP Server.

Note

Si vous avez installé QGIS Server sans serveur X (inclus avec Linux Desktop) et si vous voulez aussi utiliser la commande GetPrint alors il faut installer un serveur X factice et dire à QGIS Server de l’utiliser. Pour ce faire, consultez le processus d’installation de Xvfb.

11.1.4. ★★☆ Pas à pas : Créer un autre hôte virtuel

Créons un autre virtual host Apache pointant sur QGIS Server. Vous pouvez choisir n’importe quel nom vous faisant plaisir (coco.bango, super.duper.training, example.com, etc.) mais pour faire simple nous allons choisir myhost.

  • Configurons le nom myhost pour qu’il pointe vers l’IP localhost en ajoutant 127.0.0.1 x au /etc/hosts avec la commande suivante : sh -c "echo '127.0.0.1 myhost' >> /etc/hosts" ou en éditant manuellement le fichier avec gedit /etc/hosts.

  • Nous pouvons vérifier que myhost pointe sur le localhost en exécutant dans le terminal la commande ping myhost qui devrait afficher :

qgis@qgis:~$ ping myhost
PING myhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.029 ms
  • Voyons si nous pouvons accéder à QGIS Server depuis le site myhost en exécutant : curl http://myhost/cgi-bin/qgis_mapserv.fcgi ou en accédant à l’URL depuis le navigateur de votre box Debian. Vous obtiendrez probablement :

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/qgis_mapserv.fcgi was not found on this server.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at myhost Port 80</address>
</body></html>
  • Apache ne sait pas qu’il est censé répondre à des requêtes pointant vers le serveur nommé myhost. Pour configurer l’hôte virtuel, le plus simple serait de créer un fichier monhôte.conf dans le répertoire /etc/apache2/sites-available qui aurait le même contenu que le fichier qgis.demo.conf sauf pour la ligne ServerName qui devrait être ServerName myhost. Vous pouvez également changer l’emplacement des logs, sinon les logs des deux hôtes virtuels seront partagés, mais ceci est optionnel.

  • Activons maintenant l’hôte virtuel avec a2ensite myhost.conf et rechargeons ensuite le service Apache avec service apache2 reload.

  • Si vous essayez de nouveau d’accéder à http://myhost/cgi-bin/qgis_mapserv.fcgi vous verrez que tout fonctionne maintenant !

11.1.5. Conclusion

Vous avez appris comment installer les différents versions de QGIS Server depuis les paquets, comment configurer Apache avec QGIS Server, sur Debian basé sur Linux.

11.1.6. La suite ?

Maintenant que vous avez installé QGIS server et qu’il est accessible via le protocole HTTP, nous devons apprendre à accéder à certains des services qu’il peut offrir. Le sujet de la prochaine leçon est d’apprendre comment accéder aux services WMS de QGIS Server.