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 ajoutant127.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 avecgedit /etc/hosts
.Nous pouvons vérifier que
myhost
pointe sur le localhost en exécutant dans le terminal la commandeping 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 fichiermonhôte.conf
dans le répertoire/etc/apache2/sites-available
qui aurait le même contenu que le fichierqgis.demo.conf
sauf pour la ligneServerName
qui devrait êtreServerName 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 avecservice 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.