11.1. Lesson: instalar QGIS Server

El objetivo de esta lección: Aprender a instalar QGIS Server en Debian Stretch. Con variaciones insignificantes, también puede seguirlo para cualquier distribución basada en Debian como Ubuntu y sus derivados.

Nota

En Ubuntu puede usar su usuario habitual, anteponiendo sudo a los comandos que requieren permisos de administrador. En Debian puedes trabajar como administrador (root), sin usar sudo.

11.1.1. moderate Follow Along: Instalar desde paquetes

En esta lección vamos a hacer solo la instalación desde paquetes como se muestra aquí <https://qgis.org/en/site/forusers/alldownloads.html#linux>`_ .

instalar QGIS Server con:

apt install qgis-server --no-install-recommends --no-install-suggests

# if you want to install server plugins, also:
apt install python3-qgis

QGIS Server debe usarse en producción sin QGIS Desktop (con el X Server adjunto) instalado en la misma máquina.

11.1.2. moderate Follow Along: Servidor QGIS Ejecutable

El ejecutable del servidor QGIS es qgis_mapserv.fcgi. Puede comprobar dónde se ha instalado ejecutando find / -name 'qgis_mapserv.fcgi' que debería generar algo como /usr/lib/cgi-bin/qgis_mapserv.fcgi.

Opcionalmente, si desea realizar una prueba de línea de comandos en este momento, puede ejecutar el comando /usr/lib/cgi-bin/qgis_mapserv.fcgi --version que debería generar algo como:

QGIS 3.21.0-Master 'Master' (1c70953f1e)
QGIS code revision 1c70953f1e
Qt version 5.15.2
Python version 3.9.5
GDAL/OGR version 3.2.2
PROJ version 7.2.1
EPSG Registry database version v10.008 (2020-12-16)
GEOS version 3.9.0-CAPI-1.16.2
SQLite version 3.34.1
OS Ubuntu 21.04

Más adelante veremos como realizar solicitudes WMS.

11.1.3. hard Configuración Servidor HTTP

Para acceder al servidor QGIS instalado desde un navegador de Internet, necesitamos usar un servidor HTTP. El proceso de instalación del servidor HTTP Apache se detalla en la sección Servidor HTTP Apache.

Nota

Si instaló QGIS Server sin ejecutar un X Server (incluido en Linux Desktop) y si también desea usar el comando GetPrint, entonces debe instalar un X Server falso y decirle a QGIS Server que lo use. Puede hacerlo siguiendo el Proceso de instalación de Xvfb.

11.1.4. moderate Follow Along: Crea otro host virtual

Creemos otro host virtual Apache que apunte al servidor QGIS. Puede elegir el nombre que desee (coco.bango, super.duper.training, example.com, etc.) pero por simplicidad vamos a usar myhost.

  • Configuremos el nombre myhost para que apunte a la IP localhost agregando 127.0.0.1 x a /etc/hosts con el siguiente comando: sh -c" echo ' 127.0.0.1 myhost'>> /etc/hosts" o editando manualmente el archivo con gedit/etc/hosts.

  • Podemos comprobar que myhost apunta al localhost ejecutando en la terminal el comando ping myhost que debería generar:

qgis@qgis:~$ ping myhost
PING myhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.024 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.029 ms
  • Intentemos si podemos acceder a QGIS Server desde el sitio myhost haciendo: curl http://myhost/cgi-bin/qgis_mapserv.fcgi o accediendo a la url desde su navegador de caja Debian. Probablemente obtendrá:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>404 Not Found</title>
</head><body>
<h1>Not Found</h1>
<p>The requested URL /cgi-bin/qgis_mapserv.fcgi was not found on this server.</p>
<hr>
<address>Apache/2.4.25 (Debian) Server at myhost Port 80</address>
</body></html>
  • Apache no sabe que se supone que debe responder a las solicitudes que apuntan al servidor llamado myhost. Para configurar el host virtual, la forma más sencilla sería crear un archivo myhost.conf en el directorio /etc/apache2/sites-available que tenga el mismo contenido que qgis.demo.conf excepto la línea ServerName que debería ser ServerName myhost. También puede cambiar dónde van los registros, ya que de lo contrario se compartirían los registros de los dos hosts virtuales, pero esto es opcional.

  • Ahora habilitemos el host virtual con a2ensite myhost.conf y luego recarguemos el servicio Apache con service apache2 reload.

  • Si intenta nuevamente acceder a la url http://myhost/cgi-bin/qgis_mapserv.fcgi notará que todo está funcionando ahora!

11.1.5. In Conclusion

Aprendió cómo instalar diferentes versiones de QGIS Server desde paquetes, cómo configurar Apache con QGIS Server, en distribuciones Linux basadas en Debian.

11.1.6. What’s Next?

Ahora que ha instalado QGIS Server y es accesible a través del protocolo HTTP, necesitamos aprender cómo acceder a algunos de los servicios que puede ofrecer. El tema de la siguiente lección es aprender cómo acceder a los servicios WMS de QGIS Server.