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. 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. 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. 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. 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 agregando127.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 congedit/etc/hosts
.Podemos comprobar que
myhost
apunta al localhost ejecutando en la terminal el comandoping 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 archivomyhost.conf
en el directorio/etc/apache2/sites-available
que tenga el mismo contenido queqgis.demo.conf
excepto la líneaServerName
que debería serServerName 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 conservice 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.