Prérequis pour l’installation de Lizmap Web Client
Note
Si vous souhaitez installer et tester rapidement Lizmap Web Client en quelques étapes, vous pouvez suivre ces instructions en utilisant Docker et Docker-Compose.
Connaissance en administration de serveur
L’installation et la maintenance d’une instance de Lizmap Web Client nécessitent quelques connaissances en matière d’administration système.
Vous devrez être familier avec :
installer un serveur web (Nginx, Apache…). Lizmap est écrit en PHP, vous devez donc être familier avec une pile similaire à LAMP. Cette documentation ne couvrira pas la section Apache car elle peut être adaptée
lecture et paramétrage d’une variable d’environnement
comprendre comment les processus sont lancés sur un serveur
lecture des journaux de stderr pour QGIS Server
gérer une base de données PostgreSQL
débogage des requêtes HTTP avec cURL
Ces concepts ne sont pas expliqués dans la documentation de Lizmap Web Client. La documentation se concentre uniquement sur les parties spécifiques liées à Lizmap Web Client.
Données SIG et fichiers QGS
Lizmap Web Client n’impose pas l’endroit où stocker les données sur le disque. Vous êtes libre de stocker vos fichiers où vous le souhaitez sur le serveur.
Par exemple, vous pouvez utiliser /srv/lizmap/data/
. Ensuite, lors de la configuration de Lizmap, vous pouvez choisir la variable rootRepositories
pour définir le répertoire racine de toutes vos données. Lizmap Web Client affichera un menu déroulant montrant les répertoires dans le dossier racine.
Sinon, si vous ne souhaitez pas définir un dossier racine pour vos données SIG, vous devrez utiliser le chemin absolu lors de la définition d’un nouveau répertoire Lizmap. Il n’y aura pas de menu déroulant mais un champ de texte à la place.
Note
Lizmap Web Client n’assure pas le transfert de fichiers de votre ordinateur avec QGIS bureautique vers votre serveur. Vous devez mettre en place votre propre méthode de transfert de fichiers entre votre ordinateur et votre serveur.
QGIS serveur
Avertissement
Avant d’installer la partie Qgis Server, il est hautement recommandé d’utiliser la même version de Qgis Desktop et de Qgis Server.
Même si des fonctions devraient fonctionner, il y a une probabilité que certaines configurations ne fonctionnent pas si ces deux versions sont différentes.
La raison est que QGIS Server version X peut ne pas pouvoir charger un projet créé avec la version Y de QGIS Desktop.
Suivez la documentation de QGIS pour installer QGIS Server .
En plus d’un serveur web (Apache ou Nginx), vous devez installer QGIS Server. Avec Nginx, la configuration recommandée est d’utiliser spawn-fcgi
. Ne pas utiliser fcgiwrap
, cette solution n’est pas efficace.
Dans la configuration Nginx, il est conseillé d’utiliser la variable QGIS_OPTIONS_PATH
pour un dossier avec les droits d’écriture pour www-data
. Cela est expliqué dans la documentation Qgis serveur.
Vous devriez également installer et configurer XVFB
mentionné dans la documentation QGIS. Cela est utile pour les impressions PDF. Vous pouvez ignorer la section si vous ne planifiez pas d’imprimer en PDF du côté serveur.
Après avoir configurer votre serveur web avec QGIS serveur, vérifiez que l’URL de QGIS serveur fonctionne. Vous obtiendrez probablement un XML semblable à :
<ServerException>Project file error</ServerException>
Gardez cette URL, nous l’utiliserons plus tard dans le panneau d’administration de Lizmap.
Avertissement
Nous vous encourageons fortement de configurer QGIS Serveur sur un hôte virtuel différent que celui de Lizmap Web Client. L’URL de QGIS Serveur doit rester privée, accessible uniquement depuis le PHP de Lizmap.
Sinon, surtout après avoir installé le plugin Lizmap dans QGIS Server, un utilisateur pourrait accéder à des données privées en contournant Lizmap, en passant directement par l’URL du serveur QGIS.
Extensions QGIS serveur
Des plugins peuvent être ajoutés à QGIS Server. Voyez la documentation QGIS sur les plugins coté serveur.
Avertissement
Le plugin Lizmap server est requis.
La liste des plugins ci-dessous activera des fonctionnalités dans Lizmap Web Client.
Soit vous configurez la variable d’environnement QGIS_PLUGIN_PATH
pendant l’installation de QGIS serveur, soit utilisez celle par défaut fournie par QGIS.
Astuce
Pour configurer les extensions QGIS Serveur, nous encourageons l’utilisation de qgis-plugin-manager, un outil CLI pour installer et mettre à jour des extensions. https://pypi.org/project/qgis-plugin-manager/
Serveur Lizmap
Requis
Lizmap n’est pas seulement une application PHP, il y a aussi une extension Python pour QGIS Serveur appelé Lizmap server.
Important, lisez ci-dessous pour plus d’informations sur le plugin Lizmap QGIS Server. (lizmap-serveur-plugin)
AtlasPrint
Optionelles
Pour afficher une mise en page QGIS utilisant un atlas
Cadastre
Optionelles
Cas d’utilisation français uniquement 🇫🇷
Nécessaire pour le module Cadastre de Lizmap
DataPlotly
Optionelles
Pour activer le composant d’impression DataPlotly dans une mise en page sur le serveur QGIS
WfsOutputExtension
Optionelles
Pour ajouter un nouveau format lors de l’export des données vectorielles
Astuce
Regardez les autres extensions de QGIS serveur sur le dépôt officiel <https://plugins.qgis.org/plugins/server/>`_.
Mais n’installez que les extensions dont vous avez besoin. Sur un serveur QGIS, les extensions sont comme des crochets (hooks) dans le serveur QGIS, ils peuvent modifier l’entrée ou la sortie du serveur QGIS. Ils peuvent produire des résultats inattendus si vous ne connaissez pas le fonctionnement de l’extensions. Veuillez vous référer à leur documentation respective.
Plugin Lizmap QGIS Server
Le plugin Lizmap QGIS Server est obligatoire et ajoutera des fonctionnalités dans Lizmap Web Client :
récupérer les informations de QGIS Server.
évaluer les expressions QGIS dans les formulaires à propos de :
contraintes
valeur par défaut
visibilité des groupes
Lire Formulaire avancé.
Vérification des listes de contrôle d’accès (ACL, Access Control List) pour les entités et les couches :
filtrage par polygone
par attribut
utilisation de la popup type Formulaire, lire Popup formulaire glisser/déposer QGIS.
activer les variables
@lizmap_user
etlizmap_user_groups
dans les projets QGIS
Le nom du plugin est Lizmap server. N’installez pas le plugin Lizmap, qui est le plugin pour Qgis Desktop.
Installation
Côté QGIS serveur
Voyez la documentation QGIS sur les plugins coté serveur.
Le plugin serveur Lizmap, appelé Lizmap server
, est obligatoire dans le bon dossier pour QGIS Server.
Avec QGIS-Plugin-Manager :
# Not correct, this plugin is only for QGIS desktop
# qgis-plugin-manager install Lizmap
# Correct, the plugin designed for QGIS server
qgis-plugin-manager install 'Lizmap server'
Avertissement
Vous devez installer le plugin « Lizmap server ». Le plugin Lizmap est déstiné uniquement à Qgis Desktop. Ne gardez pas les deux sur le serveur.
- Pour des raisons de sécurité, pour activer l’API du côté du serveur QGIS, vous devez activer la variable d’environnement
QGIS_SERVER_LIZMAP_REVEAL_SETTINGS
avec la valeurTrue
sur le QGIS serveur.
Cette variable exposera les paramètres du serveur tels que la version du serveur QGIS, qui est utilisée par Lizmap Web Client.
# Apache FCGI example
FcgidInitialEnv QGIS_SERVER_LIZMAP_REVEAL_SETTINGS True
# nginx fastcgi
fastcgi_param QGIS_SERVER_LIZMAP_REVEAL_SETTINGS True;
Avertissement
Vous devez vous assurer que cette API http://your.qgis.server.url/lizmap/server.json
est protégée sur votre serveur web. Le mieux est de restreindre l’accès à QGIS Server http://your.qgis.server.url
sur un hôte virtuel, non accessible sur Internet. Toutes les requêtes au serveur QGIS seront envoyées par Lizmap Web Client. Le serveur QGIS ne doit pas être accessible de l’extérieur. Il était déjà fortement recommandé auparavant de protéger le serveur QGIS d’Internet. Les utilisateurs doivent utiliser les liens WFS/WMS fournis par Lizmap Web Client, afin que Lizmap puisse vérifier les autorisations des utilisateurs.
Interface d’administration
Si vous utilisez QGIS Server avec FCGI, l’URL API de Lizmap doit être vide.
Sinon, si vous utilisez Py-QGIS-Server, l’URL API de Lizmap doit être configurée dans l’administration. Dans la configuration de Py-QGIS-Server, vous devez également explicitement publier l’API.
À partir de la version 1.8.4 de Py-QGIS-Server, il est possible d’activer le point d’entrée API Lizmap avec la variable d’environnement QGSRV_API_ENDPOINTS_LIZMAP=yes, ou alors ajoutez la configuration suivante dans le fichier de configuration :
[api.endpoints]
lizmap_api=/lizmap
[api.enabled]
lizmap_api=yes
Puis, avec Py-QGIS-Server , si votre URL pour OWS est http://map:8080/ows/, cela veut dire que l’URL du point d’entrée de l’API pour Lizmap est http://map:8080/lizmap/.
PostgreSQL
PostgreSQL peut être utilisé pour trois usages différents dans Lizmap :
Pour stocker des données SIG. Aucune configuration n’est nécessaire du côté du serveur Lizmap Web Client, seulement le serveur PostgreSQL doit être accessible depuis le serveur Lizmap Web Client et le serveur QGIS. Il est possible d’éditer des couches avec Lizmap, mais la couche doit être stockée dans PostgreSQL. Voir Pré-requis.
Pour stocker les utilisateurs et les actions des utilisateurs du client Web Lizmap. Lizmap utilise des tableaux. Ce réglage doit être fait lors de l”installation de Lizmap.
Pour utiliser lizmap_search, voyez Recherche PostgreSQL. Ce paramétrage sur le serveur de Lizmap peut être fait quand vous le souhaitez.