Installation auf Ubuntu/Debian¶
Die mitgelieferte SQLite-Datenbank ist für Testinstallationen geeignet. In dieser Datenbank befinden sich bereits vorkonfigurierte Demoanwendungen (sie liegt unter <mapbender>/var/db/demo.sqlite). Eine Anleitung für eine Testinstallation auf Basis des Symfony Webservers finden Sie unter Aufruf von Mapbender unter Verwendung des lokalen Symfony Webservers.
Hint
Für den Produktiveinsatz wird PostgreSQL dringend empfohlen. Wichtige Konfigurationshinweise dazu finden Sie im Kapitel Optional > Mapbender Einrichtung auf PostgreSQL.
Voraussetzungen¶
PHP >= 8.1
- Apache Installation mit folgenden aktivierten Modulen:
mod_rewrite
libapache2-mod-php
- alternativ: nginx-Installation mit folgenden aktivierten Modulen:
php-fpm
- PostgreSQL Installation
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.
Vorbereitung¶
Installation der benötigten PHP-Extensions:
sudo apt install php-gd php-curl php-cli php-xml php-sqlite3 sqlite3 php-apcu php-intl openssl php-zip php-mbstring php-bz2
Bitte prüfen Sie die FAQ - Häufig gestellte Fragen für weitere PHP-Einstellungen.
Entpacken und im Webserver registrieren¶
Download der aktuellen Mapbender Version und entpacken nach /var/www/mapbender oder ein anderes Verzeichnis:
wget https://mapbender.org/builds/mapbender-starter-current.tar.gz -O /var/www/mapbender-starter-current.tar.gz
tar -zxf /var/www/mapbender-starter-current.tar.gz -C /var/www
mv $(ls -d /var/www/*/ | grep mapbender) /var/www/mapbender/
Konfiguration Apache 2.4¶
Datei /etc/apache2/sites-available/mapbender.conf mit dem folgenden Inhalt anlegen:
Alias /mapbender /var/www/mapbender/public/
<Directory /var/www/mapbender/public/>
Options MultiViews FollowSymLinks
Require all granted
RewriteEngine On
RewriteBase /mapbender/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</Directory>
Aktivieren der Seite und Apache neu starten:
a2ensite mapbender.conf
service apache2 reload
Konfiguration nginx¶
Alternativ zu Apache kann auch nginx verwendet werden.
Dafür muss eine eigene Konfiguration in /etc/nginx/sites-available
angelegt werden:
server {
listen 80;
listen [::]:80;
server_name mapbender.localhost # bitte anpassen
# SSL-Konfiguration wird hier empfohlen sofern der Mapbender nicht lokal ausgeführt wird
root /var/www/mapbender/application/public;
index index.php;
location / {
# Versuche zunächst als Datei auszuliefern, dann als Verzeichnis,
# alles andere wird an die index.php weitergeleitet
try_files $uri $uri/ /index.php$is_args$args;
}
# PHP-Skripte an den FastCGI server weitergeben
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock; # bitte anpassen, wenn eine andere PHP-Version verwendet wird
}
# Zugriff auf Apache-Konfiugurationsdateien verbieten
location ~ /\.ht {
deny all;
}
}
Aktivieren der Seite und nginx neu starten:
ln -s /etc/nginx/sites-available/mapbender /etc/nginx/sites-enabled/
systemctl restart nginx
Verzeichnisrechte¶
sudo chown -R :www-data /var/www/mapbender
sudo chmod -R ug+w /var/www/mapbender/var/log
sudo chmod -R ug+w /var/www/mapbender/var/cache
sudo chmod -R ug+w /var/www/mapbender/public/uploads
sudo chmod -R ug+w /var/www/mapbender/var/db/demo.sqlite
Nächste Schritte¶
Es kann nun auf die Mapbender Installation unter http://[hostname]/mapbender/
zugegriffen werden.
Per Voreinstellung lauten die Anmeldedaten
Benutzername: root
Passwort: root
Zur Überprüfung der Konfiguration dient der folgende Befehl:
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.
Glückwunsch! Mapbender wurde erfolgreich installiert. Informationen zu den ersten Schritten mit Mapbender finden sich im Mapbender Schnellstart.
Optional¶
LDAP¶
Zur Nutzung der optionalen LDAP-Anbindung wird zunächst die PHP-LDAP-Extension benötigt:
sudo apt install php-ldap
Note
Zur Verwendung von LDAP muss im Anschluss außerdem das LDAP-Bundle in Mapbender integriert werden. Weitere Anweisungen zur Einrichtung finden Sie in der README.md.
Mapbender Einrichtung auf 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:
sudo apt install php-pgsql 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"
Anlegen der Mapbender Datenbank, sofern diese noch nicht vorliegt:
cd /var/www/mapbender
bin/console doctrine:database:create
Einrichtung der Mapbender Tabellenstruktur und laden der Demo-Anwendungen:
cd /var/www/mapbender
bin/console doctrine:schema:create
bin/console mapbender:database:init -v
bin/composer run reimport-example-apps
Root-Benutzer für Zugriff anlegen:
bin/console fom:user:resetroot
Weitere Informationen zur Konfiguration im Kapitel Details zur Konfiguration von Mapbender.