5. Plug-ins
5.1. Lijst met plug-ins
Plug-ins kunnen ook worden geïnstalleerd op QGIS Server.
Sommige voor Server ontworpen plug-ins zijn te vinden in de officiële opslagplaats van QGIS.
Installeer alleen plug-ins die u nodig hebt voor uw eigen doelen. Op QGIS Server zijn plug-ins als haken naar QGIS Server, zijn kunnen alleen in- of uitvoer van QGIS Server wijzigen. Ze kunnen onverwachte resultaten produceren als u niet weet hoe de plug-in werkt. Bekijk hun respectievelijke documentatie of de toepassing die plug-ins voor QGIS Server nodig heeft om te weten te komen welke plug-in voor u nuttig kan zijn.
5.2. Locatie van plug-ins
Op op Debian gebaseerde systemen zal QGIS Server standaard zoeken naar plug-ins die zijn geplaatst in /usr/lib/qgis/plugins
. De standaardwaarde wordt in de logs weergegeven als QGIS Server wordt opgestart. Het is mogelijk een aangepast pad in te stellen door de omgevingsvariabele QGIS_PLUGINPATH
in de configuratie voor de webserver te definiëren.
5.3. Installeren
5.3.1. Handmatig met een ZIP
Als een voorbeeld, om de plug-in HelloWorld voor het testen van de server, met behulp van een specifieke map, te installeren, dient u eerst een map aan te maken waar de plug-ins voor de server moeten komen te staan. Die zal worden gespecificeerd in de configuratie van de virtuele host en worden doorgegeven aan de server door middel van een omgevingsvariabele:
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
Waarschuwing
Gelet op zijn beschrijving, is de plug-in HelloServer ontworpen voor demonstratie- en ontwikkelingsdoeleinden. Behoud deze niet voor productie als u hem niet nodig hebt.
5.3.2. Met een programma voor de opdrachtregel
Wanneer u plug-ins moet installeren en regelmatig moet upgraden die zijn opgeslagen in de QGIS opslagplaats voor plug-ins, zou u de QGIS-Plugin-Manager kunnen gebruiken. Het is een gereedschap om u te helpen plug-ins te beheren vanaf de opdrachtregel.
Installeren gebeurt met pip. Installeren in een virtuele omgeving is een goede manier, maar niet vereist:
pip3 install qgis-plugin-manager
Upgraden van het gereedschap:
pip3 install --upgrade qgis-plugin-manager
Daarna kunt u het uitvoerbare bestand qgis-plugin-manager
gebruiken vanaf de opdrachtregel:
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 |
------------------------------------------------------------------------------------------------------------------------------------------------------------
We raden u aan om de volledige documentatie in het readme-bestand te lezen om te weten te komen hoe u plug-ins installeert of upgradet met dit gereedschap.
5.4. Configureren van de HTTP-server
5.4.1. Apache
FastCGI moet, om in staat te zijn de plug-ins voor de server te kunnen gebruiken, weten waar die te vinden. We moeten dus het configuratiebestand van Apache aanpassen om de omgevingsvariabele QGIS_PLUGINPATH
aan te geven voor FastCGI:
FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"
Meer nog, een basisautorisatie voor HTTP is noodzakelijk om met de eerder geïntroduceerde plug-in HelloWorld te kunnen experimenteren. We moeten dus het configuratiebestand voor Apache nog een laatste keer aanpassen:
# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
RewriteEngine on
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
Start Apache dan opnieuw:
systemctl restart apache2
5.5. Hoe een plug-in te gebruiken
De server testen met de plug-in HelloWorld:
wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
HelloServer!
U kunt eens kijken naar de standaard GetCapabilities van de QGIS server op:
http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities