7 votos

Añadir QGIS Server a un servidor web Windows existente

¿Cuál es la mejor manera de añadir las capacidades de QGIS Server a un servidor web existente que funciona bajo Windows?

En concreto, tengo WAMPServer 2.2 instalado y funcionando en Windows Server 2012, y ahora me gustaría añadir la capacidad de servir capas WFS. En una máquina diferente (con Windows 7) he configurado con éxito QGIS Desktop y Server a través del instalador OSGeo4W, pero ahora quiero conseguir el mismo resultado sin instalar una segunda versión de Apache.

Los tutoriales que he encontrado son para sistemas de tipo linux/unix, tienen varios años de antigüedad y utilizan versiones anteriores a la 2.0 de QGIS, o bien utilizan el instalador de OSGeo4W para crear una nueva instalación de Apache.

No he podido encontrar un instalador individual para una versión de Windows de QGIS Server, y no parece ser parte del instalador de QGIS Standalone.

6voto

skk Puntos 21

Resulta que este es un proceso relativamente sencillo para Apache, pero como todavía no he visto ninguna guía en línea para ello, pensé en enumerar los pasos que funcionaron para mí aquí. Utilicé la versión de 64 bits (de todos los componentes, OSGeo4W, Apache y mod_fcgid) con Apache 2.4, pero supongo que la versión de 32 bits será muy similar, al igual que otras versiones 2.x de Apache.

  1. Descargue y ejecute el instalador de OSGeo4W(64) ( https://www.qgis.org/en/site/forusers/download.html )

    • Elija el Advanced Install y luego su fuente de instalación
    • Especifique el directorio raíz de la instalación, al que me referiré como %OSGEO% y sus otras preferencias en esa pantalla
    • Elija dónde almacenar los archivos de instalación y cómo obtenerlos, si necesita que el instalador los descargue
    • En el Select Packages pantalla, elija los dos paquetes Desktop / qgis: QGIS Desktop y Web / qgis-server: QGIS Server y, a continuación, haga clic en Next
    • Asegúrese de que el Install these packages... está marcada cuando le pregunta sobre los paquetes que faltan, y haga clic en Next de nuevo
  2. Una vez completada la instalación, copie %OSGEO%\httpd.d\httpd_qgis.conf a %APACHE%\conf\extras , donde %APACHE% es el directorio base existente de su instalación de Apache.

  3. Editar %APACHE%\conf\httpd.conf y añada lo siguiente al # Supplemental configuration sección:

    • Include conf/extra/httpd_qgis.conf
  4. Si aún no tiene el redistribuible de Microsoft Visual C++ 2010 SP1, descárguelo e instálelo ( http://www.microsoft.com/download/en/details.aspx?id=13523 )

    • Si no sabe si lo tiene, puede descargarlo y ejecutarlo; se le pedirá que repare o elimine una instalación existente, momento en el que puede cancelar el instalador
  5. Descargue el módulo FastCGI de Apache (encontré la versión de 64 bits de mod_fcgid en http://www.apachelounge.com/download/win64/ )

    • Extracto mod_fcgid/mod_fcgid.so a %APACHE%\modules
  6. Reinicie el servicio de Apache

  7. Debería poder obtener una respuesta válida de http://localhost/qgis/qgis_mapserv.fcgi.exe?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetCapabilities

Actualización para la seguridad de Apache 2.4: Acabo de pasar por este proceso de nuevo, con versiones más nuevas del software: Apache 2.4.9 y QGIS 2.4. Hubo un paso adicional para obtener acceso al WMS. Después de seguir los pasos anteriores, al intentar acceder al enlace en el paso 7 dio una respuesta 403 Forbidden. Esto se debe a que el httpd_qgis.conf incluido con QGIS utiliza las antiguas directivas de acceso de Apache Order allow,deny y Allow from all . Si encuentra este problema, comente esas líneas y añada Require all granted en su lugar.

0voto

Parece que es un problema común copiar algunos dlls en C:\OSGeo4W64\apps\qgis\bin. Tras unos días de prueba y error, fue bastante sencillo resolver este problema: En httpd.conf hay un enlace a httpd_qgis.conf. Si este enlace aparece antes de un FcgidInitialEnv o DefaultInitEnv será sobrescrita por esta nueva directiva. Por lo tanto, falta una ruta para las dlls en C:\OSGeo4W64\apps\qgis\bin y no funcionará. Sólo asegúrese, la directiva específica

FcgidInitialEnv PATH "C:\OSGeo4W64\bin;C:\OSGeo4W64\apps\qgis\bin;C:\OSGeo4W64\apps\grass\grass-6.4.3\bin;C:\OSGeo4W64\apps\grass\grass-6.4.3\lib;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem"

aparece por fin (Utiliza FcgidInitialEnv en lugar de DefaultInitEnv porque está obsoleto).

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X