5. Plugins

5.1. Lista de plugins

Plugins também podem ser instalados no Servidor QGIS.

Alguns plugins projetados para servidor podem ser encontrados no repositório oficial QGIS.

Instale apenas plugins que você precisa para seu próprio propósito. No servidor QGIS, os plugins são como ganchos no servidor QGIS, eles podem alterar entradas ou saídas do servidor QGIS. Eles podem produzir resultados inesperados se você não souber como o plugin funciona. Consulte a respectiva documentação ou o aplicativo que precisa dos plug-ins do servidor QGIS para saber qual plug-in pode ser útil para você.

5.2. Localização dos plugins

Por padrão, nos sistemas baseados em Debian, QGIS Server irá verificar por plugins localizados em /usr/lib/qgis/plugins. O valor padrão exibido quando QGIS Server está iniciando, nos logs. É possível configurar um caminho customizado através da alteração da variável de ambiente QGIS_PLUGINPATH nas configurações do servidor web.

5.3. Instalação

5.3.1. Manualmente com um ZIP

Como exemplo, para instalar o plugin HelloWorld para testar o servidor, usando uma pasta específica, primeiro é necessário criar um diretório para manter os plugins do servidor. Isto será especificado na configuração do host virtual e passado para o servidor através de uma variável de 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

Aviso

De acordo com sua descrição, o plugin HelloServer é projetado para fins de desenvolvimento e demonstração. Não mantenha este plugin em produção se você não precisar dele.

5.3.2. Com uma ferramenta de linha de comando

Se você precisar instalar e atualizar regularmente plugins que são armazenados no repositório de plugins QGIS, você pode utilizar o QGIS-Plugin-Manager. É uma ferramenta para ajudá-lo a gerenciar os plugins a partir da linha de comando.

A instalação está usando pip. Instalar em um ambiente virtual é uma boa prática, mas não é obrigatório:

pip3 install qgis-plugin-manager

Para atualizar a ferramenta:

pip3 install --upgrade qgis-plugin-manager

Então, você pode utilizar o executável qgis-plugin-manager a partir da linha de 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    |
------------------------------------------------------------------------------------------------------------------------------------------------------------

Sugerimos que você leia a documentação completa no arquivo leiame para saber como instalar ou atualizar plugins com esta ferramenta.

5.4. Configuração do Servidor HTTP

5.4.1. Apache

Para poder usar plugins de servidor, FastCGI precisa saber onde procurar. Portanto, temos que modificar o arquivo de configuração do Apache para indicar a variável de ambiente QGIS_PLUGINPATH para FastCGI:

FcgidInitialEnv QGIS_PLUGINPATH "/var/www/qgis-server/plugins"

Além disso, uma autorização HTTP básica é necessária para jogar com o plugin HelloWorld introduzido anteriormente. Portanto, temos que atualizar o arquivo de configuração do Apache uma última vez:

# Needed for QGIS HelloServer plugin HTTP BASIC auth
<IfModule mod_fcgid.c>
    RewriteEngine on
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

Em seguida, reinicie o Apache:

systemctl restart apache2

5.5. Como usar um plug-in

Teste o servidor com o plugin HelloWorld:

wget -q -O - "http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=HELLO"
 HelloServer!

Você pode dar uma olhada no padrão GetCapabilities do QGIS Server em:

http://localhost/cgi-bin/qgis_mapserv.fcgi?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities