Instalar QGIS Server en Windows utilizando XAMPP

QGIS Server es una aplicación de código abierta que proporciona servicios WMS, WFS y WCS. QGIS Server utiliza un proyecto de QGIS como back-end para crear el servicio. Los mismos datos y estilos de QGIS se mostrarán en el servicio WMS. Es por tanto una herramienta muy útil para todos los usuarios de QGIS, pues pueden crear servicios de OGC (Open Geospatial Consortium) directamente desde los datos de su proyecto.

En este artículo veremos cómo instalar QGIS Server en Windows utilizando un servidor XAMPP.

¿Qué es QGIS Server?

QGIS Server es una aplicación FastCGI/CGI (Common Gateway Interface) escrita en C ++ que funciona junto con un servidor web como por ejemplo, Apache, o Nginx.

QGIS Server puede servir datos de acuerdo con los protocolos estándar descritos por Open Geospatial Consortium (OGC):

Instalar XAMPP

El primer paso para disponer de QGIS Server funcionando es instalar Apache. En este caso instalaremos un servidor XAMPP.

XAMPP es una distribución de Apache completamente gratuita y fácil de instalar que contiene MariaDB, PHP y Perl.

XAMPP es un acrónimo en que la X hace referencia al sistema operativo utilizado.

  • WAMP, para Windows.
  • LAMP, para Linux.
  • MAMP, para MAC OS X.

Utilizamos XAMPP para escribir scripts de PHP y realizar las conexiones a las bases de datos.

En la página de XAMPP descargamos la última versión para Windows. Es muy sencillo de instalar, pues una vez que ejecutamos el archivo descargado, se abre un instalador que nos guía en la instalación y nos permite elegir los componentes:

En la imagen anterior se ha seleccionado MySQL que, aunque realmente no es imprescindible para QGIS Server y no sea la base de datos más utilizada en GIS, es una buena alternativa como ya vimos en otro artículo de este blog.

Una vez completada la instalación tendremos disponible el panel de control de XAMPP que nos permite arrancar y parar el servidor.

Arrancaremos Apache haciendo clic sobre el botón Start. Con esto será suficiente.

Instalar QGIS Server

Instalaremos QGIS Server (y QGIS Desktop si no lo tienes ya) desde OSGEO4W:

Cuando tengamos abierto el instalador debemos seleccionar opciones avanzadas:

En la siguiente ventana dejamos la opción por defecto: Instalación desde internet.

Ahora nos indica el directorio para la instalación. Clic en Siguiente:

Nos pide el directorio local, dejamos la opción por defecto y hacemos clic en siguiente.

Elegimos los parámetros de conexión que nos ofrece por defecto. Clic en siguiente:

Ahora indicamos el sitio de descarga.

Se nos abrirá el selector de paquetes de OSGeo4W:

  • En el apartado Desktop seleccionamos qgis.

  • En el apartado Web seleccionamos QGIS Server y mapserver:

Para que no haya problemas, es recomendable que la versión de QGIS Server sea la misma que la versión de escritorio de QGIS.

Cuando lo tengamos hacemos clic en Siguiente y comenzará la instalación.

Configurar XAMPP

Llegados a este punto necesitaremos configurar el archivo de configuración de Apache para que “apunte” a QGIS Server.

Tenemos que editar el archivo httpd.conf que si has seguido las instrucciones que hemos indicado se encontrará en: C:\xampp\apache\conf\

Busca en torno a la línea 370 y cambia:

ScriptAlias /cgi-bin/ "C:/xampp/cgi-bin/"

por

ScriptAlias /cgi-bin/ "C:/OSGeo4W64/apps/qgis/bin/"

Busca en torno a la línea 387 y cambia:

<Directory "C:/xampp/cgi-bin">
    AllowOverride None
    Options None
    Require all granted
</Directory>

por:

<Directory "C:/OSGeo4W64/apps/qgis/bin">
    SetHandler cgi-script
    AllowOverride None
    Options ExecCGI
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

Busca en torno a la línea 438 y cambia:

AddHandler cgi-script .cgi .pl .asp

por:

AddHandler cgi-script .cgi .pl .asp .exe

Al final de httpd.conf añade las siguientes líneas:

SetEnv GDAL_DATA "C:\OSGeo4W64\share\gdal"
SetEnv QGIS_AUTH_DB_DIR_PATH "C:\OSGeo4W64\apps\qgis\resources"
SetEnv PYTHONHOME "C:\OSGeo4W64\apps\Python37"
SetEnv PATH "C:\OSGeo4W64\bin;C:\OSGeo4W64\apps\qgis\bin;C:\OSGeo4W64\apps\Qt5\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem"
SetEnv QGIS_PREFIX_PATH "C:\OSGeo4W64\apps\qgis"
SetEnv QT_PLUGIN_PATH "C:\OSGeo4W64\apps\qgis\qtplugins;C:\OSGeo4W64\apps\Qt5\plugins"

Comprobando la instalación

Ahora abre una ventana de tu navegador y escribe en la barra de direcciones:

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

Obtendrás el XML de capacidades del servicio:

Servidor de QGIS – Publicación de servicios

Ahora que tenemos el servidor trabajando, podremos publicar como un servicio de OGC cualquiera de nuestros proyectos de QGIS.

Abrimos QGIS y vamos al menú superior Proyecto > Propiedades. En la ventana Propiedades del proyecto veremos la pestaña Servidor de QGIS.

En este menú del servidor de QGIS podemos acceder a las propiedades de los servicios y a su configuración:

  • Capacidades del servicio.
  • Capacidades WMS.
  • Capacidades WMTS.
  • Capacidades WFS.
  • Capacidades WCS.
  • Comprobación de la configuración.

Puedes hacer una petición a un servicio WMS, de la siguiente forma:

http://localhost/cgi-bin/qgis_mapserv.fcgi.exe?
MAP=C:/Curso_QGIS_Server/datos/world.qgs&
LAYERS=countries&
SERVICE=WMS&
VERSION=1.3.0&
REQUEST=GetMap&
CRS=EPSG:4326&
WIDTH=600&
HEIGHT=600&
BBOX=-90,-180,90,180

Como resultado obtenemos:

Let’s connect!

Date de alta en nuestra newsletter y te enviaremos GRATIS el ebook que te ayudará a impulsar tu perfil GIS:
Vitaminas MappingGIS

Tan solo una vez al mes recibirás las últimas novedades del sector GIS y de nuestros cursos

2 comentarios en «Instalar QGIS Server en Windows utilizando XAMPP»

Deja un comentario