Requisiti necessari a priori per installare Lizmap Web Client
Nota
Se volete installare e testare rapidamente Lizmap Web Client in pochi passi, potete seguire queste istruzioni usando Docker e Docker-Compose.
Conoscenza circa l’amministrazione del server
L’installazione e la manutenzione di un’istanza del client Web Lizmap richiedono alcune conoscenze sull’amministrazione del sistema.
Dovrai avere familiarità con:
installazione di un server web (Nginx, Apache…). Lizmap è scritto in PHP, quindi dovresti avere familiarità con uno stack simile a LAMP. Questa documentazione non coprirà la sezione Apache perché può essere adattata
leggere e impostare una variabile d’ambiente
comprendere come i processi vengono avviati su un server
lettura dei log da stderr per QGIS Server
gestire un database PostgreSQL
debug delle query HTTP con cURL
Questi concetti non sono spiegati nella documentazione di Lizmap Web Client. La documentazione si concentra solo su parti specifiche relative a Lizmap Web Client.
Dati GIS e file QGS
Lizmap Web Client non impone dove archiviare i dati sul disco. Sei libero di archiviare i tuoi file dove vuoi sul server.
Ad esempio, puoi utilizzare /srv/lizmap/data/
. Quindi, quando configuri Lizmap, puoi scegliere la variabile «rootRepositories» per definire i repository root per tutti i tuoi dati. Lizmap Web Client visualizzerà un menu a discesa che mostra le directory nella cartella principale.
Altrimenti, se non vuoi definire un repository root per i tuoi dati GIS, dovrai utilizzare il percorso assoluto quando definisci un nuovo repository Lizmap. Non ci sarà un menu a discesa ma un campo di testo.
Nota
Lizmap Web Client non fornisce alcun trasferimento di file dal desktop QGIS al server. Devi impostare il tuo modo per trasferire file tra il tuo computer e il tuo server.
QGIS Server
Avvertimento
Prima di installare la parte QGIS Server, è altamente consigliato di usare la stessa versione tra QGIS Desktop e QGIS Server.
Anche se alcune funzioni potrebbero funzionare, c’è la probabilità che qualche configurazione non funzioni se queste due versioni sono differenti.
La ragione è che QGIS Server versione X potrebbe non essere compatibile con un progetto QGIS fatto con un QGIS Desktop versione Y.
Segui la documentazione di QGIS Server su come installare QGIS Server.
Usando un webserver (Apache o Nginx), dovete installare QGIS Server. Con Nginx, il modo migliore è usare spawn-fcgi
. Non non usare il fcgiwrap
, questa soluzione non è efficiente.
Nella configurazione di Nginx, è bene usare la variabile QGIS_OPTIONS_PATH
per una cartella con permessi di scrittura per www-data
. Questo è spiegato nella documentazione del server QGIS.
Dovresti anche installare e configurare XVFB
menzionato nella Documentazione QGIS. Questo è utile per stampare i PDF. Puoi saltare questa sezione solo se non hai intenzione di stampare PDF sul lato server.
Dopo aver impostato il vostro server web con QGIS-Server, controllate che l’URL di QGIS Server funzioni. Probabilmente otterrete un XML come:
<ServerException>Project file error</ServerException>
Conservate questo URL, lo useremo più tardi nel pannello di amministrazione di Lizmap.
Avvertimento
Noi raccomandiamo vivamente di impostare il QGIS Server su un host virtuale diverso dal Lizmap Web Client. L’URL del QGIS Server dovrebbe rimanere privato, accessibile solo dall’applicazione PHP Lizmap soltanto.
Altrimenti, specialmente dopo l’installazione del plugin Lizmap su QGIS Server, il vostro utente potrebbe essere in grado di accedere a dati privati se bypassano Lizmap, usando direttamente l’URL di QGIS Server.
QGIS Server plugins
Alcuni plugin possono essere aggiunti a QGIS Server. Controlla la documentazione di QGIS Server sui plugin sul lato server.
Avvertimento
Il plugin Lizmap server è richiesto.
I plugin elencati di seguito abiliteranno alcune funzionalità in Lizmap Web Client.
O dovresti impostare la variabile d’ambiente QGIS_PLUGINPATH
durante l’installazione di QGIS Server o usare quella predefinita fornita da QGIS.
Suggerimento
Per gestire i plugin di QGIS Server, vi incoraggiamo ad usare qgis-plugin-manager, uno strumento CLI per installare e aggiornare i plugin. https://pypi.org/project/qgis-plugin-manager/
Lizmap server
Necessario
Lizmap non è solo un’applicazione PHP, esiste anche un plugin Python per QGIS Server chiamato Lizmap server.
Importante, leggere sotto per maggiori informazioni sul plugin Lizmap QGIS Server. (Lizmap QGIS Server plugins)
AtlasPrint
Opzionale
Per abilitare i layout QGIS basati su un atlante
Cadastre
Opzionale
Solo per caso d’uso francese 🇫🇷
Richiesto per il modulo Lizmap Cadastre
DataPlotly
Opzionale
Abilita l’elemento di layout DataPlotly per la stampa sul lato server QGIS
WfsOutputExtension
Opzionale
Per aggiungere un nuovo formato durante l’esportazione di dati vettoriali
Suggerimento
Cerca altri plugin del server QGIS nel repository ufficiale.
Ma installa solo i plugin di cui hai bisogno tu. Sul server QGIS, i plugin sono come ganci nel server QGIS, possono alterare l’input o l’output del server QGIS. Possono produrre risultati inaspettati se non sai come funziona il plugin. Si prega di fare riferimento alla rispettiva documentazione.
Lizmap QGIS Server plugins
Il plugin Lizmap QGIS Server è richiesto e aggiungerà alcune funzionalità a Lizmap Web Client:
recuperare informazioni dal server QGIS.
valuta QGIS Expressions nei moduli su:
vincoli
valore predefinito
visibilità del gruppo
Leggere Form avanzato.
controllare i diritti di accesso degli utenti (ACL) per elementi e livelli :
filtro per per poligono
per attributo
utilizzare il Form popup, leggere QGIS Drag&Drop Form popup.
abilitare le variabili
@lizmap_user
elizmap_user_groups
nei progetti QGIS
Il nome del plugin è
Lizmap server
. Non installare il pluginLizmap
che è il plugin Python desktop.
Installazione
QGIS Lato Server
Controlla la documentazione di QGIS Server sui plugin sul lato server.
Il plugin del server Lizmap, chiamato Lizmap server
, è richiesto e nella cartella corretta per QGIS Server.
Con 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'
Avvertimento
È necessario installare il plugin Lizmap server
. Il plugin Lizmap
è progettato solo per il desktop QGIS. Non mantenerli entrambi sul tuo server.
- Per motivi di sicurezza, per abilitare l’API sul lato server QGIS, è necessario abilitare la variabile d’ambiente
QGIS_SERVER_LIZMAP_REVEAL_SETTINGS
con il valore impostato suTrue
sul server QGIS.
Questa variabile esporrà le impostazioni del server come la versione del server QGIS, che è usata da Lizmap Web Client.
# Apache FCGI example
FcgidInitialEnv QGIS_SERVER_LIZMAP_REVEAL_SETTINGS True
# nginx fastcgi
fastcgi_param QGIS_SERVER_LIZMAP_REVEAL_SETTINGS True;
Avvertimento
Dovete assicurarvi che questa API http://your.qgis.server.url/lizmap/server.json
sia protetta sul vostro webserver. Il meglio è limitare l’accesso al server QGIS http://your.qgis.server.url
su un host virtuale, non accessibile su internet. Tutte le richieste al server QGIS saranno inviate da Lizmap Web Client. Il server QGIS non deve essere accessibile dall’esterno. Era già fortemente raccomandato in precedenza di proteggere il server QGIS da internet. Gli utenti devono usare i link WFS/WMS forniti da Lizmap Web Client, così Lizmap può controllare i permessi degli utenti.
Pannello di amministrazione
Se state usando QGIS Server con FCGI, l’URL API Lizmap deve essere vuoto.
Altrimenti, se stai utilizzando Py-QGIS-Server, l’URL dell’API Lizmap deve essere configurato nell’interfaccia di amministrazione. In Py-QGIS-Server, devi pubblicare esplicitamente anche l’API.
A partire dalla versione Py-QGIS-Server 1.8.4, è possibile abilitare l’endpoint API Lizmap con la variabile d’ambiente QGSRV_API_ENDPOINTS_LIZMAP=yes altrimenti, aggiungere la configurazione seguente nel file di configurazione:
[api.endpoints]
lizmap_api=/lizmap
[api.enabled]
lizmap_api=yes
Quindi, con Py-QGIS-Server, se il tuo URL per OWS è http://map:8080/ows/, significa che l’URL per l’endpoint API Lizmap è http://map:8080/lizmap/.
PostgreSQL
PostgreSQL può essere utilizzato per tre scopi diversi in Lizmap:
Per archiviare dati GIS. Non è necessaria alcuna configurazione sul lato server Lizmap Web Client, solo il server PostgreSQL deve essere accessibile dal server Lizmap Web Client e dal server QGIS. È possibile modificare i layer con Lizmap, ma il layer deve essere archiviato in PostgreSQL. Vedi Prerequisiti.
Per memorizzare gli utenti di Lizmap Web Client e le azioni degli utenti. Lizmap utilizza delle tabelle. Questa impostazione deve essere fatta durante l”installazione di Lizmap.
Per usare lizmap_search, vedere Ricerca PostgreSQL. Questa impostazione sul server Lizmap può essere impostata quando serve.