Installation unter Windows¶
Mapbender benötigt eine Datenbank zur Speicherung der Administrationsinformation. Das Installationspaket enthält bereits eine SQLite-Datenbank, die direkt verwendet werden kann. Für den produktiven Einsatz wird allerdings die Nutzung einer PostgreSQL Datenbank empfohlen.
Voraussetzungen¶
PHP NTS >= 8.1 (https://windows.php.net/download/)
- Apache Installation, als Dienst eingerichtet (https://www.apachelounge.com/download/) mit folgenden aktivierten Modulen:
mod_rewrite
mod_fcgid
- PostgreSQL Installation (https://www.enterprisedb.com/downloads/postgres-postgresql-downloads)
Es wird empfohlen, eine PostgreSQL Datenbank für Mapbender zu verwenden.
Es wird empfohlen, einen eigenen Datenbankbenutzer für den Zugriff auf die Mapbender Datenbank anzulegen.
- Als Webserver kann auch Nginx verwendet werden, der für Windows aber als Beta-Version betrachtet wird. Sollte es trotzdem
gewünscht sein, nginx auf Windows zu verwenden, kann die gleiche Konfiguration wie für die Linux-Installation verwendet werden.
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.Aktivieren Sie die benötigten PHP-Erweiterungen in der php.ini Konfigurationsdatei:
# php.ini
extension=php_curl
extension=php_fileinfo
extension=php_gd
extension=php_intl
extension=php_pdo_pgsql
extension=php_pdo_sqlite
extension=php_pgsql
extension=php_openssl
extension=php_mbstring
extension=php_zip
extension=php_bz2
Bitte prüfen Sie die FAQ - Häufig gestellte Fragen für weitere PHP-Einstellungen.
Mapbender entpacken und im Webserver registrieren¶
Download der aktuellen Mapbender Version 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/public/
<Directory c:/mapbender/public/>
Options MultiViews FollowSymLinks
Require all granted
RewriteEngine On
RewriteBase /mapbender/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.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¶
Für den Einsatz in einer Produktivumgebung wird nachfolgend die Konfiguration einer PostgreSQL Datenbank beschrieben.
Voraussetzungen:
Installation von PostgreSQL
vorhandene Datenbank zur Mapbender-Konfiguration
ggf. eigenen Benutzer für den Zugriff
Installation PHP-PostgreSQL Treiber:
# php.ini
extension=php_pgsql
extension=php_pdo_pgsql
Die Konfiguration der Datenbankverbindung erfolgt über eine Variable, die den gesamten Verbindungsstring enthält. Konfigurieren Sie sie, indem Sie sie in Ihrer .env.local-Datei hinzufügen.
MAPBENDER_DATABASE_URL="postgresql://dbuser:dbpassword@localhost:5432/dbname?serverVersion=17&charset=utf8"
Weitere Informationen zur Einrichtung von Datenbankverbindungen finden sich im Kapitel YAML Konfiguration (Konfigurations- und Anwendungsdateien).
Öffnen Sie nun die Eingabeaufforderung.
Zur Erzeugung der Datenbank geben Sie bitte folgenden Befehl ein (nur wenn die Datenbank nicht bereits vorliegt):
cd c:\mapbender
php.exe bin/console doctrine:database:create
Einrichtung der Mapbender Tabellenstruktur und laden der Demo-Anwendungen:
cd c:\mapbender
php.exe bin/console doctrine:schema:create
php.exe bin/console mapbender:database:init -v
php.exe bin/composer run reimport-example-apps
Für die Administration von Mapbender wird ein Root-Benutzer benötigt. Dieser Benutzer wird über den folgende Befehl angelegt:
php.exe bin/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.
Überprüfung
Überprüfen Sie, ob der Alias erreichbar ist:
http://localhost/mapbender/
Per Voreinstellung lauten die Anmeldedaten (wenn die SQLite-Datenbank verwendet wurde)
Benutzername: root
Passwort: root
Zur Überprüfung der Konfiguration dient der folgende Befehl:
php.exe bin/console mapbender:config:check
Hint
Bitte beachten Sie, dass der Befehl mapbender:config:check
die PHP-CLI Version nutzt. Die Einstellungen der CLI-Version können sich von denen der Webserver PHP-Version unterscheiden. Nutzen Sie beispielsweise php -r 'phpinfo();'
zur Ausgabe der PHP-Webserver Einstellungen.
Weitere Informationen dazu finden Sie unter bin/console mapbender:config:check.
Glückwunsch! Mapbender wurde erfolgreich installiert. Informationen zu den ersten Schritten mit Mapbender finden sich im Mapbender Schnellstart.