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.
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 : https://docs.qgis.org/latest/fr/docs/server_manual/index.html .
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¶
Certains plugins peuvent être ajoutés à QGIS serveur. Cela activera certaines fonctionnalités dans Lizmap. Ce n’est pas obligatoire mais dans certaines situations, c’est mieux.
Either you should setup the QGIS_PLUGINPATH
environment variable during the installation of QGIS Server
or use the default one provided by QGIS.
https://docs.qgis.org/latest/en/docs/server_manual/config.html#environment-variables
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/
AtlasPrint
- Pour activer le PDF basé sur la mise en page d’un atlas QGIS
- https://github.com/3liz/qgis-atlasprint
Cadastre
- Cas d’utilisation français uniquement
- Nécessaire pour le module Cadastre de Lizmap
- https://docs.3liz.org/QgisCadastrePlugin/module-lizmap/
Serveur Lizmap
- Lizmap n’est pas seulement une application PHP, il y a aussi une extension Python pour QGIS Serveur appelé Lizmap server.
- https://github.com/3liz/qgis-lizmap-server-plugin
- The plugin is highly recommended, a few features won’t work as expected if the plugin is not installed or not upgraded.
- Important, lisez ci-dessous pour plus d’informations sur le plugin Lizmap QGIS Server. (lizmap-serveur-plugin)
WfsOutputExtension
- Pour ajouter un nouveau format lors de l’export des données vectorielles
- https://github.com/3liz/qgis-wfsOutputExtension
Journalisation
- Pour enregistrer dans les journaux de QGIS Server et vider le cache dans QGIS Server
- https://github.com/3liz/qgis-logging-plugin.
- Ce plugin est obsolète.
Lizmap QGIS Server plugin¶
L’ajout du plugin Lizmap QGIS Server ajoutera quelques fonctionnalités sur Lizmap Web Client :
récupérer les informations de QGIS Server.
évaluer QGIS Expressions dans un formulaire sur :
- 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 Form popup.
activer les variables
@lizmap_user
etlizmap_user_groups
dans les projets QGIS
Installation¶
Côté QGIS serveur¶
The Lizmap plugin must be installed in the correct folder for QGIS Server. The environment variable must be set in QGIS Server. The plugin name is Lizmap server.
Avertissement
Pour des raisons de sécurité, pour activer toutes les fonctionnalités côté serveur QGIS, vous devez activer la variable d’environnement QGIS_SERVER_LIZMAP_REVEAL_SETTINGS=True
sur le QGIS server.
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.
Cette variable exposera les paramètres du serveur tels que la version du serveur QGIS, qui est utilisée par Lizmap Web Client.
Administration panel¶
You must have the table called « Server information » working correctly in your administration panel before trying a QGIS project.
If your are using QGIS Server with FCGI, the Lizmap API URL must be empty.
Otherwise, if you are using Py-QGIS-Server, the Lizmap API URL must be configured in the administration interface. In Py-QGIS-Server, you must explicitly publish the API as well :
[api.endpoints]
lizmap_api=/lizmap
[api.enabled]
lizmap_api=yes
Then, with Py-QGIS-Server, if your URL for OWS is http://map:8080/ows/, it means the URL for the Lizmap API endpoint is http://map:8080/lizmap/.
PostgreSQL¶
PostgreSQL peut être utilisé à deux fins différentes dans Lizmap :
- Pour stocker des données SIG. Aucune configuration n’est nécessaire côté serveur Lizmap Web Client, seul le serveur PostgreSQL doit être accessible depuis le serveur Lizmap Web Client. 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.