5. Plugin
5.1. Elenco dei plugin
I plugin possono essere installati anche su QGIS Server.
Alcuni plugin progettati per il server si trovano nel repository ufficiale di QGIS.
Installa solo i plugin necessari per i tuoi scopi. Sul server QGIS, i plugin sono come dei collegamenti nel server QGIS e possono alterare gli input o gli output del server QGIS. Possono produrre risultati inaspettati se conosci il funzionamento del plugin. Per sapere quale plugin ti può essere utile, consulta la rispettiva documentazione o l’applicazione che necessita dei plugin del server QGIS.
5.2. Ubicazione dei plugin
Per impostazione predefinita, sui sistemi basati su Debian, QGIS Server cercherà i plugin situati in /usr/lib/qgis/plugins
. Il valore predefinito viene visualizzato all’avvio di QGIS Server, nei log. È possibile impostare un percorso personalizzato definendo la variabile d’ambiente QGIS_PLUGINPATH
nella configurazione del server web.
5.3. Installazione
5.3.1. Manualmente con uno ZIP
Ad esempio, per installare il plugin HelloWorld per testare il server, utilizzando una cartella specifica, devi prima creare una cartella per contenere i plugin del server. Questa sarà specificata nella configurazione dell’host virtuale e passata al server attraverso una variabile d’ambiente:
mkdir -p /var/www/qgis-server/plugins
cd /var/www/qgis-server/plugins
wget https://github.com/elpaso/qgis-helloserver/archive/master.zip
unzip master.zip
mv qgis-helloserver-master HelloServer
Avvertimento
Conformemente alla sua descrizione, il plugin HelloServer è stato progettato per scopi di sviluppo e dimostrativi. Non utilizzare questo plugin per la produzione se non ne hai bisogno.
5.3.2. Con uno strumento a linea di comando
Se hai bisogno di installare e aggiornare regolarmente i plugin che sono memorizzati nel repository dei plugin di QGIS, puoi usare il QGIS-Plugin-Manager. È uno strumento che aiuta a gestire i plugin dalla linea di comando.
L’installazione avviene tramite pip. L’installazione in un ambiente virtuale è una buona pratica, ma non è obbligatoria:
pip3 install qgis-plugin-manager
Per aggiornare lo strumento:
pip3 install --upgrade qgis-plugin-manager
Quindi, puoi utilizzare l’eseguibile qgis-plugin-manager
dalla linea di comando:
cd /var/www/qgis-server/plugins
qgis-plugin-manager list
QGIS server version 3.19.0
List all plugins in /var/www/qgis-server/plugins
------------------------------------------------------------------------------------------------------------------------------------------------------------
| Folder | Name | Version | Experimental | QGIS min | QGIS max | Author | Action ⚠ |
------------------------------------------------------------------------------------------------------------------------------------------------------------
|wfsOutputExtension |wfsOutputExtension |1.6.2 | |3.0 | |3Liz | |
|qgis_server_render_geojson |GeoJson Renderer |v0.4 | |3.4 | |Matthias Kuhn (OPENGIS.ch) | |
|DataPlotly |Data Plotly |3.7.1 | |3.4 |3.98 |Matteo Ghetta (Faunalia) |Upgrade to 3.8.1 |
------------------------------------------------------------------------------------------------------------------------------------------------------------
Si consiglia di leggere la documentazione completa nel file readme per sapere come installare o aggiornare i plugin con questo strumento.
5.4. Configura il server HTTP
5.4.1. Apache
Per poter utilizzare i plugin del server, FastCGI deve sapere dove cercare. Quindi, dobbiamo modificare il file di configurazione di Apache per indicare a FastCGI la variabile d’ambiente QGIS_PLUGINPATH
:
FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"
Inoltre, un’autorizzazione HTTP di base è necessaria per lavorare con il plugin HelloWorld precedentemente introdotto. Quindi dobbiamo aggiornare il file di configurazione di Apache un’ultima volta:
# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Poi, riavvia Apache:
systemctl restart apache2
5.5. Come usare un plugin
Fai il test il server con il plugin HelloWorld:
wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
HelloServer!
Puoi dare un’occhiata al GetCapabilities di default del server QGIS su:
http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities