{"id":281,"date":"2016-01-20T10:25:55","date_gmt":"2016-01-20T10:25:55","guid":{"rendered":"http:\/\/giswg.de\/wordpress\/?p=281"},"modified":"2016-01-20T10:25:55","modified_gmt":"2016-01-20T10:25:55","slug":"qgis-server-auf-windows-2008-r2","status":"publish","type":"post","link":"https:\/\/giswg.de\/wordpress\/?p=281","title":{"rendered":"QGIS Server auf Windows 2008 R2"},"content":{"rendered":"<p>Basierend auf den Tutorials von Anita Graser (<a href=\"http:\/\/anitagraser.com\/2012\/04\/06\/qgis-server-on-windows7-step-by-step\/\" target=\"_blank\">http:\/\/anitagraser.com\/2012\/04\/06\/qgis-server-on-windows7-step-by-step\/<\/a>) und dem QGIS Projekt Wiki (<a href=\"http:\/\/hub.qgis.org\/projects\/quantum-gis\/wiki\/qgis_server_tutorial\" target=\"_blank\">http:\/\/hub.qgis.org\/projects\/quantum-gis\/wiki\/qgis_server_tutorial<\/a>) sowie einigen Foreneintr\u00e4gen, die ich zu dem Thema gefunden habe m\u00f6chte ich f\u00fcr alle, die nur Windowsserver zur Verf\u00fcgung haben und der englischen Sprache nur rudiment\u00e4r oder \u00fcberhaupt nicht m\u00e4chtig sind (dies sind wohl insbesondere kommunale Anwender) meine gestrigen Erfahrungen kurz zusammenfassen.<\/p>\n<p>1) \u00dcber den <a href=\"http:\/\/download.osgeo.org\/osgeo4w\/osgeo4w-setup.exe\" target=\"_blank\">OSGeo4W Installer<\/a> QGIS Desktop, QGIS Server und Apache Webserver installiert. Ich habe zun\u00e4chst den 64 Bit Installer verwendet, musste aber feststellen, dass dieser den Apache nicht enth\u00e4lt, also den 32 Bit Installer verwenden. Man kann nat\u00fcrlich die Sachen alle auch jede f\u00fcr sich genommen installieren, der Konfigurationsaufwand ist dann aber ungleich h\u00f6her und auch fehleranf\u00e4lliger.<\/p>\n<p>2) In der Konfigurationsdatei des Apache unter<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\osgeo4w\\apache\\conf\\httpd.conf<\/code><\/span><\/p>\n<p>ist<\/p>\n<p><span style=\"color: #ffff00;\"><code><span style=\"color: #ffff99;\">Listen 80<\/span> <\/code><\/span><\/p>\n<p>bereits eingetragen. An dieser Stelle war also nichts zu \u00e4ndern. Im Browser sollte<\/p>\n<p><span style=\"color: #ffff99;\"><code>http:\/\/localhost\/<\/code><\/span> bzw. <span style=\"color: #ffff99;\"><code>http:\/\/127.0.0.1\/<\/code><\/span><\/p>\n<p>also bereits funktionieren.<\/p>\n<p><a href=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_works.png\" rel=\"attachment wp-att-296\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-296\" src=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_works.png\" alt=\"apache_works\" width=\"687\" height=\"439\" srcset=\"https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_works.png 687w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_works-300x192.png 300w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_works-326x208.png 326w\" sizes=\"(max-width: 687px) 100vw, 687px\" \/><\/a><\/p>\n<p>(Installiert man den Apache f\u00fcr sich, steht da nur &#8220;It works!&#8221;)<\/p>\n<p>3) Der Versuch, QGIS unter Windows 2008 R2 SP1 als FastCGI laufen zu lassen f\u00fchrt zu einem weissen Browserfenster und folgenden Meldungen im Fehlerlog des Apacheservers:<\/p>\n<p><span style=\"color: #ffff99;\"><code>[Wed Jan 20 09:35:07 2016] [warn] [client 127.0.0.1] (OS 109)Die Pipe wurde beendet. : mod_fcgid: get overlap result error<\/code><\/span><br \/>\n<span style=\"color: #ffff99;\"><code>[Wed Jan 20 09:35:07 2016] [error] [client 127.0.0.1] Premature end of script headers: qgis_mapserv.fcgi.exe<\/code><\/span><\/p>\n<p>Hierzu gibt es in der Apache Lounge einen Foreneintrag: <a href=\"https:\/\/www.apachelounge.com\/viewtopic.php?t=4168\" target=\"_blank\">https:\/\/www.apachelounge.com\/viewtopic.php?t=4168<\/a>. Die Probleml\u00f6sung habe ich momentan allerdings nicht weiter verfolgt, sondern wie im QGIS Projektwiki beschrieben in der Konfigurationsdatei<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\osgeo4w\\httpd.d\\httpd_qgis.conf<\/code><\/span><\/p>\n<p><span style=\"color: #ffff99;\"><code>fcgid<\/code><\/span> durch <span style=\"color: #ffff99;\"><code>cgi<\/code><\/span> ersetzt (Texteditor, ersetzen&#8230;).<\/p>\n<p>An der fcgi-Problematik arbeite ich aber weiter.<\/p>\n<p>4) Im Wiki wird empfohlen, in der<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\osgeo4w\\httpd.d\\httpd_qgis.conf<\/code><\/span><\/p>\n<p><span style=\"color: #ffff99;\"><code>DefaultInitEnv<\/code><\/span> durch <span style=\"color: #ffff99;\"><code>SetEnv<\/code><\/span> zu ersetzen. Tut man das nicht, gibt es schon beim Versuch, den Apache-Dienst zu starten eine Fehlermeldung:<\/p>\n<p><a href=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_setenv.png\" rel=\"attachment wp-att-284\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-284\" src=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_setenv.png\" alt=\"apache_start_error_setenv\" width=\"482\" height=\"214\" srcset=\"https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_setenv.png 482w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_setenv-300x133.png 300w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_setenv-326x145.png 326w\" sizes=\"(max-width: 482px) 100vw, 482px\" \/><\/a><\/p>\n<p>Auch hier muss ich noch nach den Gr\u00fcnden forschen, lasse das aber erstmal so stehen.<\/p>\n<p>5) Es besteht offenbar keine Einigkeit dar\u00fcber, welche dll&#8217;s noch in das Verzeichnis<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\OSGeo4W\\apps\\qgis\\bin<\/code><\/span><\/p>\n<p>geh\u00f6ren. Ich habe der Einfachheit halber (Zeitmangel&#8230;) alle dll&#8217;s aus<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\OSGeo4W\\apache\\bin<\/code><\/span><\/p>\n<p>und<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\OSGeo4w\\bin<\/code><\/span><\/p>\n<p>in das Verzeichnis kopiert. Das ist sicherlich nicht notwendig, aber ein schneller Workaround.<\/p>\n<p>6) An dieser Stelle SOLLTE die URL <a href=\"http:\/\/localhost\/qgis\/qgis_mapserv.fcgi.exe?SERVICE=WMS&amp;VERSION=1.3.0&amp;REQUEST=GetCapabilities\" target=\"_blank\">http:\/\/localhost\/qgis\/qgis_mapserv.fcgi.exe?SERVICE=WMS&amp;VERSION=1.3.0&amp;REQUEST=GetCapabilities<\/a> bereits funktionieren, ABER:<\/p>\n<p><a href=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500.png\" rel=\"attachment wp-att-286\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-286\" src=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500.png\" alt=\"apache_start_error_500\" width=\"703\" height=\"373\" srcset=\"https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500.png 703w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500-300x159.png 300w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500-326x173.png 326w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/apache_start_error_500-700x371.png 700w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/a><\/p>\n<p>Also: Fehlerlog unter die Lupe nehmen (<span style=\"color: #ffff99;\"><code>C:\\OSGeo4W\\apache\\logs\\error.log<\/code><\/span>). Hier findet man die Zeile<\/p>\n<p><span style=\"color: #ffff99;\"><code>[Tue Jan 19 15:13:12 2016] [error] [client 127.0.0.1] ImportError: No module named site\\r<\/code><\/span><\/p>\n<p>Das liest sich wie ein Python-Problem (site-packages?). Abhilfe schaffen hier die Eintr\u00e4ge<\/p>\n<p><span style=\"color: #ffff99;\"><code>SetEnv PYTHONHOME \"C:\\OSGeo4W\\apps\\Python27\"<\/code><\/span><br \/>\n<span style=\"color: #ffff99;\"><code>SetEnv PYTHONPATH \"C:\\OSGeo4W\\apps\\qgis\\python\"<\/code><\/span><\/p>\n<p>in der schon bekannten Konfigurationsdatei<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\osgeo4w\\httpd.d\\httpd_qgis.conf<\/code><\/span>.<\/p>\n<p>Der <span style=\"color: #ffff99;\"><code>GetCapabilities<\/code><\/span>-Request liefert so schon mal wenigstens keine Fehlermeldung mehr.<\/p>\n<p>7) Ein QGIS-Projekt wurde erzeugt und in das Verzeichnis<\/p>\n<p><span style=\"color: #ffff99;\"><code>C:\\OSGeo4W\\apps\\qgis\\bin<\/code><\/span><\/p>\n<p>gespeichert.<\/p>\n<p><a href=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_projekt.png\" rel=\"attachment wp-att-288\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-288\" src=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_projekt.png\" alt=\"qgis_server_projekt\" width=\"658\" height=\"477\" srcset=\"https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_projekt.png 658w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_projekt-300x217.png 300w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_projekt-326x236.png 326w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/a><\/p>\n<p>Der URL kann dann einfach die Option &#8216;map=[projektname]&#8217; hinzugef\u00fcgt werden. So k\u00f6nnen beliebig viele Projekte verwaltet werden. In diesem Beispiel:<\/p>\n<p><span style=\"color: #ffff99;\"><code>http:\/\/localhost\/qgis\/qgis_mapserv.fcgi.exe?SERVICE=WMS&amp;VERSION=1.3.0&amp;REQUEST=GetCapabilities&amp;map=test_alkis.qgs<\/code><\/span><\/p>\n<p><a href=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_getcapabilities.png\" rel=\"attachment wp-att-289\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-289\" src=\"http:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_getcapabilities.png\" alt=\"qgis_server_getcapabilities\" width=\"687\" height=\"570\" srcset=\"https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_getcapabilities.png 687w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_getcapabilities-300x249.png 300w, https:\/\/giswg.de\/wordpress\/wp-content\/uploads\/2016\/01\/qgis_server_getcapabilities-326x270.png 326w\" sizes=\"(max-width: 687px) 100vw, 687px\" \/><\/a><\/p>\n<p>Hinweis: Dieses Projekt enth\u00e4lt Daten aus einer PostgreSQL\/PostGIS-DB. Hier muss in der Datenbankverbindung Nutzername und Passwort gespeicht werden, sonst kann der QGIS Server auf die Daten nicht zugreifen.<\/p>\n<hr \/>\n<p>Quellen:<\/p>\n<p>QGIS-Logo: Autor: <a href=\"http:\/\/www.qgis.org\/wiki\/User:Anitagraser\" target=\"_blank\">http:\/\/www.qgis.org\/wiki\/User:Anitagraser<\/a>, Quelle: <a href=\"http:\/\/www.qgis.org\/wiki\/File:QGis_Logo.png\" target=\"_blank\">http:\/\/www.qgis.org\/wiki\/File:QGis_Logo.png<\/a> (CC-BY-SA 3.0)<\/p>\n<p>ApplicationServer-Icon: Autor: <a href=\"https:\/\/openclipart.org\/user-detail\/ujmoser\" target=\"_blank\">https:\/\/openclipart.org\/user-detail\/ujmoser<\/a>, Quelle: <a href=\"https:\/\/openclipart.org\/download\/182736\/application-server.svg\" target=\"_blank\">https:\/\/openclipart.org\/download\/182736\/application-server.svg<\/a> (Public Domain)<\/p>\n<p>(Letzter Zugriff am 20.1.2016)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Basierend auf den Tutorials von Anita Graser (http:\/\/anitagraser.com\/2012\/04\/06\/qgis-server-on-windows7-step-by-step\/) und dem QGIS Projekt Wiki (http:\/\/hub.qgis.org\/projects\/quantum-gis\/wiki\/qgis_server_tutorial) sowie einigen Foreneintr\u00e4gen, die ich zu dem Thema gefunden habe m\u00f6chte ich f\u00fcr alle, die nur Windowsserver zur Verf\u00fcgung haben und der englischen Sprache nur rudiment\u00e4r oder \u00fcberhaupt nicht m\u00e4chtig sind (dies sind wohl insbesondere kommunale Anwender) meine gestrigen Erfahrungen kurz [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":292,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[22,24,10,21,23],"class_list":["post-281","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-apache","tag-python","tag-qgis","tag-qgis-server","tag-wms"],"_links":{"self":[{"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/281"}],"collection":[{"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=281"}],"version-history":[{"count":12,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/281\/revisions"}],"predecessor-version":[{"id":299,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/281\/revisions\/299"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=\/wp\/v2\/media\/292"}],"wp:attachment":[{"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=281"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=281"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/giswg.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=281"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}