Installation auf Windows

Für eine schnelle Installation als Testsystem kann der MS4W-Installer (https://ms4w.com/download.html) benutzt werden. Nachfolgend beschreiben wir die Installation für eine Produktivumgebung.

Voraussetzungen

Als Webserver kann auch nginx verwendet werden. In dieser Anleitung wird darauf nicht weiter eingegangen.

Konfiguration PHP

  • Entpacken des Zip-Archives, z.B. nach c:\php

  • Abhängig von der PHP-Version werden unter Windows PHP-Variablen für ein Temp-Verzeichnis nicht richtig gesetzt.

  • Es muss deshalb geprüft werden, ob die folgenden Variablen (php.ini) gesetzt sind:

sys_temp_dir
upload_tmp_dir
date.timezone
  • der Pfad vom PHP-bin Verzeichnis zur PATH-Variable (Windows-Umgebungsvariable) muss hinzugefügt werden

  • Aktivierung der benötigten PHP-Erweiterungen in der php.ini Konfigurationsdatei:

# php.ini
extension=php_curl.dll
extension=php_fileinfo.dll
extension=php_gd2.dll
extension=php_intl.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pgsql.dll
extension=php_openssl.dll
extension=php_mbstring.dll
extension=php_zip.dll
extension=php_bz2.dll

Entpacken und im Webserver registrieren

Download der aktuellen Mapbender Version (https://mapbender.org/builds/mapbender-starter-current.zip) und entpacken nach c:\mapbender\

Konfiguration Apache

  • ein Unterordner “conf.d” muss im Verzeichnis <apache>/conf erstellt werden

In der httpd.conf am Ende einfügen:

# Include directory conf.d
Include "conf/conf.d/*.conf"

Datei <apache>\conf\conf.d\mapbender.conf mit dem folgenden Inhalt anlegen:

Alias /mapbender c:/mapbender/web/
<Directory c:/mapbender/web/>
 Options MultiViews FollowSymLinks
 DirectoryIndex app.php
 Require all granted

 RewriteEngine On
 RewriteBase /mapbender/
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteRule ^(.*)$ app.php [QSA,L]
</Directory>

Der Apache Webserverdienst muss im Anschluss neu gestartet werden.

mod_fcgid

Datei <apache>\conf\conf.d\fcgi.conf mit dem folgenden Inhalt anlegen:

LoadModule fcgid_module modules/mod_fcgid.so

FcgidInitialEnv PHPRC "c:/php/"
FcgidInitialEnv PATH "c:/php;C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem"
FcgidInitialEnv SystemRoot "C:/Windows"
FcgidInitialEnv TEMP "C:/WINDOWS/TEMP"
FcgidInitialEnv TMP "C:/WINDOWS/TEMP"
FcgidInitialEnv windir "C:/WINDOWS"

FcgidPassHeader Authorization
FcgidIOTimeout 1200
FcgidConnectTimeout 1200
FcgidBusyScanInterval 1200
FcgidBusyTimeout 1200
FcgidErrorScanInterval 1200
FcgidIdleScanInterval 1200
FcgidIdleTimeout 1200
FcgidZombieScanInterval 1200
FcgidMaxProcesses 1000
FcgidOutputBufferSize 64
FcgidProcessLifeTime 3600
FcgidMaxRequestsPerProcess 10000
FcgidMinProcessesPerClass 0
FcgidFixPathinfo 0
MaxRequestLen 200000

<Files ~ "\.php$">
    Options Indexes FollowSymLinks ExecCGI
    AddHandler fcgid-script .php
    FcgidWrapper "c:/php/php-cgi.exe" .php
</Files>

Konfiguration PostgreSQL

Konfiguration der Datenbankverbindung in (app/config/parameters.yml). Weitere Informationen im Kapitel YAML Konfiguration (Konfigurations- und Anwendungsdateien).

database_driver:   pdo_pgsql
database_host:     localhost
database_port:     5432
database_name:     mapbender
database_path:     ~
database_user:     postgres
database_password: geheim

Die Eingabeaufforderung öffnen. Zur Initialisierung der Datenbank folgende Befehle eingeben:

cd c:\mapbender
php.exe app/console doctrine:database:create
php.exe app/console doctrine:schema:create
php.exe app/console mapbender:database:init -v
php.exe bin/composer run reimport-example-apps

Für den Zugriff auf die Datenbank muss der Standardbenutzer mit folgendem Befehl angelegt werden:

php.exe app/console fom:user:resetroot

Weitere Informationen zur Konfiguration im Kapitel Details zur Konfiguration von Mapbender

Der erste Start

Die Mapbender Installation kann unter http://[hostname]/mapbender/ aufgerufen werden.

Per Voreinstellung lauten die Anmeldedaten:

Benutzername: “root”, Passwort: “root”

Weitere Schritte unter: Mapbender Quickstart Dokument.

Überprüfung

Überprüfen Sie, ob der Alias erreichbar ist:

Überprüfen Sie in der Konfiguration, ob bestimmte Abhängigkeiten nicht erfüllt werden mit:

app/console mapbender:config:check

Weitere Informationen dazu finden Sie unter: https://doc.mapbender.org/de/customization/commands.html#app-console-mapbender-config-check