5. Complementos

5.1. Lista de complementos

Los complementos se pueden instalar también sobre QGIS Servidor.

En el repositorio oficial de QGIS se pueden encontrar algunos complementos diseñados para el servidor.

Instale solo los complemento que necesite para sus propias necesidades. En el servidor QGIS los complementos son como ganchos, pueden alterar las entradas o salidas del servidor QGIS. Pueden producir resultados inesperados si usted no sabe como trabaja el complemento. Por favor vea la documentación respectiva o la aplicación que necesita complementos de servidor QGIS para saber que complemento puede ser útil para usted.

5.2. Ubicación de complementos

Por defecto, en los sistemas basados en Debian, QGIS Server buscará los complementos ubicados en /usr/lib/qgis/plugins. El valor por defecto se muestra cuando QGIS Server se inicia, en los registros. Es posible establecer una ruta personalizada definiendo la variable de entorno QGIS_PLUGINPATH en la configuración del servidor web.

5.3. Instalación

5.3.1. Manualmente con un ZIP

Para instalar el complemento de ejemplo HelloWorld para probar el servidor, utilizando una carpeta específica, primero hay que crear un directorio para albergar los complementos del servidor. Esto se especificará en la configuración del host virtual y se pasará al servidor a través de una variable de entorno:

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

Advertencia

De acuerdo a su descripción, el complemento HelloServer está diseñado con propósitos de desarrollo ydemostración. No mantenga este complemento para producción si no lo necesita.

5.3.2. Con una herramienta de línea de comando

Si necesita instalar y actualizar regularmente los complementos que se almacenan en el repositorio de complementos de QGIS, puede utilizar el QGIS-Plugin-Manager. Es una herramienta que te ayuda a gestionar los complementos desde la línea de comandos.

La instalación se realiza con pip. La instalación en un entorno virtual es una buena práctica pero no es necesaria:

pip3 install qgis-plugin-manager

Para actualizar la herramienta:

pip3 install --upgrade qgis-plugin-manager

A continuación, puede utilizar el ejecutable qgis-plugin-manager desde la línea de comandos:

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    |
------------------------------------------------------------------------------------------------------------------------------------------------------

Le sugerimos que lea la documentación completa en el archivo readme para saber cómo instalar o actualizar complementos con esta herramienta.

5.4. Configuración del servidor HTTP

5.4.1. Apache

Para poder utilizar los complementos del servidor, FastCGI necesita saber dónde buscar. Así que tenemos que modificar el archivo de configuración de Apache para indicar la variable de entorno QGIS_PLUGINPATH a FastCGI:

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

Además, es necesaria una autorización HTTP básica para jugar con el complemento HelloWorld introducido anteriormente. Entonces tenemos que actualizar el archivo de configuración de Apache por ú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>

A continuación, reinicie Apache:

systemctl restart apache2

5.5. Como usar un complemento

Pruebe el servidor con el complemento HelloWorld:

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

Puede echar un vistazo a las GetCapabilities predeterminadas del servidor QGIS en:

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