Zum Hauptinhalt springen

MapServer 8.0 (Installation auf Windows)

Microsoft visual c++ 2022 redistributable package (x64) herunterladen

https://learn.microsoft.com/en-US/cpp/windows/latest-supported-vc-redist?view=msvc-170
dann X64
https://aka.ms/vs/17/release/vc_redist.x64.exe
und installieren.

MapServer herunterladen

https://www.gisinternals.com/release.php aufrufen
auf "release-1930-x64-gdal-3-6-3-mapserver-8-0-0" klicken
dann release-1930-x64-gdal-3-6-3-mapserver-8-0-0.zip
(Compiled binaries in a single .zip package)

MapServer aufsetzen

  • Zip Datei nach (z.B.) C:\MapServer\ entzippen -> Softwareverzeichnis für den MapServer
  • alle Dateien aus C:\MapServer\bin\ms\apps nach C:\MapServer\bin\ kopieren.
  • neues Verzeichnis anlegen (z.B.) C:\MapServer\maps anlegen -> für die Map Dateien
  • neues Verzeichnis (z.B.) C:\inetpub\wwwroot\MapServer anlegen -> wenn man die MapServer Karten im AppBuilder importieren möchte

  • neue Datei C:\inetpub\wwwroot\MapServer\web.config anlegen.
  • diesen Inhalt in die Datei kopieren
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers accessPolicy="Read, Execute, Script">
<add name="MapServerFastCgi" path="mapserv.exe" verb="*" type="" modules="FastCgiModule" scriptProcessor="C:\MapServer\bin\mapserv.exe" resourceType="Unspecified" requireAccess="Execute" allowPathInfo="true" preCondition="" />
</handlers>
<caching enabled="true" enableKernelCache="true" />
</system.webServer>
</configuration>
  • neue Datei C:\MapServer\mapserver.conf anlegen.
  • diesen Inhalt in die Datei kopieren
CONFIG
ENV
MS_MAP_PATTERN "."
PROJ_LIB "C:/Mapserver/bin/proj/SHARE"
END

MAPS
RASTER "C:\apps\map\Luftbilder.map"
WASSER "C:\apps\map\Wasser.map"
END

PLUGINS
"oracle" "C:/Mapserver/bin/ms/plugins/oci/msplugin_oracle.dll"
END
END
Hinweis

Wenn Sie den Eintrag PROJ_LIB in der mapserver.conf Datei festlegen dann gilt dieser für alle Map Dateien und muss nicht in jeder einzelnen Map Datei separat angegeben werden.

Der Eintrag MAPS bringt den Vorteil, das man nach außen/extern nicht mehr den kompletten Pfad zum MapFile rausgeben muss, sondern nur den Projektnamen verwendet: Also

  • IIS starten und im Baum links den ersten Eintrag (Root Eintrag ) wählen.
  • Rechts dann doppelklick auf "FastCGI Settings".

  • Rechts auf "Add Application" klicken.
  • Bei "Full Path" C:\MapServer\bin\mapserv.exe eintragen.
  • Bei Environment Variables zwei Variablen MAPSERVER_CONFIG_FILE und PATH hinzufügen

MAPSERVER_CONFIG_FILE C:\MapServer\mapserver.conf

PATH C:\MapServer\bin;C:\Oracle19c\bin

Der Eintrag für den Oracle Pfad ist abhängig von der Installation und kann beispielsweise auch C:\oracle\product\19.3.0\client_1\bin oder ähnlich lauten.

Jetzt kann die Einrichtung über einen Aufruf in einem WebBrowser abgesetzt werden:

http://localhost/mapserver/mapserv.exe

Mehr als 2048 Zeichen bei URL zulassen

Wenn Sie Karten mit sehr vielen Layern haben, dann kann die MapServer URL unter Umständen länger als die standardmäßig zugelassenen 2048 Zeichen des IIS werden. Es wird deshalb geraten, den Wert im IIS höher als den Standardwert zu setzen da es ansonsten zu Fehlermeldungen kommen kann.

IIS -> "Default Web Site" -> Request Filtering -> Register "Query String" "Edit Feature Settings..." "Maximum query string (Bytes)" von 2048 auf 10000 setzen.

MapEdit AppBuilder konfigurieren

  • Bei "Karten Server" ->"MapServer" einen neuen Eintrag erzeugen (oder vorhandenen abändern)

Server URL:http://localhost/mapserver/mapserv.exe
Map File Folder: C:\MapServer\maps\
Art des automatischen Speicherns: "Auf MapEdit Server Maschine speichern"
Netzwerkverzeichnis: C:\MapServer\maps\

Statt "http://localhost" geben sie bitte die URL ihres Servers ein!!

Unter Karten->MapServer Karten neue Karte anlegen und testen.

Wenn Fehlermeldungen kommen das auf Dateien nicht zugegriffen oder geschrieben werden kann, dann müssen ggf rechte auf C:\MapServer\maps gegeben werden.

Hinweis

Wenn Änderungen an der Datei mapserver.conf vorgenommen werden muss der IIS neu gestartet werden. Ansonsten greifen die Änderungen nicht.

Beispiel Daten zum testen der Installation

Beispiel Dateien zum testen finden Sie auf dem MuM Software Repository unter SoftwareRepository/Extern/Software/MapEdit/DesktopAndServer/Support/MapServer

Software Repository

Kopieren Sie die Daten aus SoftwareRepository/Extern/Software/MapEdit/DesktopAndServer/Support/MapServer/maps
nach C:\MapServer\maps\

  • Öffnen Sie den AppBuilder
  • Unter Karten->MapServer Karten neue Karte anlegen als name summerlin eingeben.
  • Den Inhalt der Datei C:\MapServer\maps\summerlin.map in den Editor kopieren.
  • Speichern drücken und die Vorschaukarte anzeigen

Die Datei Summerlin.map enthält Feature Daten direkt als WKT in der Map Datei. D.h. Sie benötigt für diese Beispiel keinen Datenbank Zugriff und ist zum einfachen Installationstest des MapServers gedacht.

Weitere Hinweise

Hinweise zum MapFile finden Sie hier:
https://help.mapedit.de/admin-guide/mapedit-appbuilder/map-definitions/map-mapfile

Hinweise zur Einstellung der Datenbankeinstellungen hier:
https://help.mapedit.de/admin-guide/mapedit-appbuilder/map-definitions/map-mapfile#beispiel-einstellungen-f%C3%BCr-verschiedene-datenbankenverbindungseinstellungen