Dieses Dokument beschreibt die wichtigsten Schritte, um Mapbender3 zu installieren.
Mapbender3 benötigt die folgenden Komponenten:
Um optional eine andere Datenbank als die vorkonfigurierte SQLite zu verwenden, wird eine PHP-Erweiterung benötigt, die von Doctrine unterstützt wird: Doctrine.
Beachten Sie, dass die SQLite Erweiterung auf jeden Fall benötigt wird. Sie benötigen diese, um im Entwicklermodus zu arbeiten, um den Web Installer zu verwenden oder um Profiler-Daten zu erzeugen sowie um Fehler zu analysieren.
Installationspakete werden als komprimierte Pakete ausgegeben und sind auf der Download-Seite verfügbar unter http://mapbender3.org/download.
Nach dem Herunterladen extrahieren Sie die komprimierten Pakete in ein Verzeichnis Ihrer Wahl. Stellen Sie sicher, dass der Webserver auf das gerade dekomprimierte Webverzeichnis in dem Mapbender Verzeichnis zeigt. Sorgen Sie dafür, dass app.php als Verzeichnis-Index eingestellt ist.
Beispiel für eine Apache ALIAS Konfiguration in der Datei /etc/apache2/conf.d/mapbender3.conf (Apache 2.2) oder /etc/apache2/conf-enabled/mapbender3.conf (Apache 2.4). Legen Sie diese Datei an und berechtigen Sie Apache diese zu lesen.
Bitte beachten Sie, dass Apache 2.4 andere Direktiven zur Access Control verwendet
Apache 2.4 Konfiguration:
Alias /mapbender3 /var/www/mapbender3/web/
<Directory /var/www/mapbender3/web/>
Options MultiViews FollowSymLinks
DirectoryIndex app.php
Require all granted
RewriteEngine On
RewriteBase /mapbender3/
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php/$1 [PT,L,QSA]
</Directory>
Apache 2.2 Konfiguration:
ALIAS /mapbender3 /var/www/mapbender3/web/
<Directory /var/www/mapbender3/web/>
Options MultiViews
DirectoryIndex app.php
Order allow,deny
Allow from all
</Directory>
# Debian basierte Distributionen
sudo a2enmod rewrite
#Windows Aktivierung des Moduls rewrite in der httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
Eine Git-basierte-Installation - vorwiegend für Entwickler - ist ebenso möglich.
Um die Mapbender3-Installation zu konfigurieren, sind die folgenden Schritte notwendig:
Diese Schritte können mit dem console-Hilfsprogramm von Symfonie2 durchgeführt werden, auf dem das Mapbender3 Framework aufbaut. Hier noch ein wichtiger Hinweis, bevor Sie fortfahren:
Das console-Hilfsprogramm wird Dateien in die Verzeichnisse app/cache und app/logs schreiben.Für diese Operationen werden die Benutzerrechte des Benutzers benötigt, mit dem Sieangemeldet sind. Sie benötigen ebenfalls Benutzerrechte für das Verzeichnis app/db und dieSQLite Datenbank. Wenn Sie die Applikation in Ihrem Browser öffnen, wird der Server-PHP-Prozess versuchen, auf diese Dateien zuzugreifen oder in die Verzeichnisse zu schreiben mitanderen Benutzerrechten. Stellen Sie sicher, dass Sie den Verzeichnissen und Dateien Schreib-und Leserechte zugewiesen haben.
Wichtiger Hinweis: Die folgenden app/console Schritte gehen davon aus dass Sie sich oberhalb des app-Verzeichnisses befinden (für die git-Installation bedeutet das mapbender3/application/ andernfalls mapbender3/).
cd mapbender3/
oder für die git-basierte Installation
cd mapbender3/application
Die Parameter der Datenbankverbindung sind zusammen mit einigen anderen Konfigurationsparametern in der Datei app/config/parameters.yml gespeichert. In dieser Datei wird YAML Syntax verwendet. Achten Sie darauf keine Tabulatoren für Einrückungen zu verwenden. Verwenden Sie stattdessen Leerzeichen.
Ihre Datenbankkonfiguration könnte in der parameters.yml könnte folgendermaßen aussehen, wenn Sie PostgreSQL verwenden:
database_driver: pdo_pgsql
database_host: localhost
database_port: 5432
database_name: mapbender3
database_path:
database_user: postgres
database_password: 1xyz45ab
Mit Symfony2 kann die Datenbank erzeugt werden. Beachten Sie, dass dazu die benötigten Datenbank-Benutzerrechte vorliegen. Rufen Sie folgenden Befehl mit dem console-Hilfsprogramm auf:
app/console doctrine:database:create
Erzeugen des Datenbankschemas über Symfony2:
app/console doctrine:schema:create
Sie müssen die Tabellen des Sicherheitssystems separat initialisieren:
app/console init:acl
Jedes Bundle hat seine eigenen Abhängigkeiten - CSS-Dateien, JavaScript-Dateien, Bilder und mehr – diese müssen in das öffentliche web-Verzeichnis kopiert werden:
app/console assets:install web
Sie können auch einen symbolischen Link verwenden, statt die Dateien zu kopieren. Dies erleichtert die Bearbeitung der abhängigen Dateien in den bundle-Verzeichnissen.
app/console assets:install web --symlink --relative
Der erste Benutzer, der alle Privilegien hat, wird mit folgendem Kommando erzeugt:
app/console fom:user:resetroot
Dieses Kommando wird interaktiv alle notwendigen Informationen abfragen und den Benutzer in der Datenbank erzeugen.
Sie können auch den Modus silent verwenden, wenn Sie ein Skript nutzen möchten, um Mapbender3 zu installieren und dabei nicht nach Parametern gefragt werden wollen.
app/console fom:user:resetroot --username="root" --password="root" --email="root@example.com" --silent
Fügen Sie die Informationen zu SRS Parametern über den folgenden Aufruf in die Datenbank:
app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Epsg/ --append
Sie können die Anwendungen, die in der mapbender.yml definiert sind, in die Datenbank importieren:
app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Application/ --append
Weisen Sie die Dateien dem Apache Benutzer (www-data) zu.
sudo chmod -R ugo+r /var/www/mapbender3
sudo chown -R www-data:www-data /var/www/mapbender3
Sie benötigen Schreibrechte für die Verzeichnisse app/cache und app/logs.
sudo chmod -R ug+w /var/www/mapbender3/app/cache
sudo chmod -R ug+w /var/www/mapbender3/app/logs
sudo chmod -R ug+w /var/www/mapbender3/web/assets
sudo chmod -R ug+w /var/www/mapbender3/web/uploads
Sie können Mapbender3 nun nutzen. Starten Sie Mapbender3 im Entwicklermodus, indem Sie das Skript app_dev.php aufrufen.
Notice: Klicken Sie auf den Loginlink oben rechts, um zur Abmedlung zu gelangen. Melden Sie sich mit dem neu erstellten Benutzer an.
Wenn Sie mehr über Mapbender3 erfahren möchten, schauen Sie sich das Mapbender3 Quickstart Dokument an.
Installieren Sie die notwendigen Komponenten:
apt-get install php5 php5-pgsql php5-gd php5-curl php5-cli php5-sqlite sqlite php-apc php5-intl curl
Laden Sie das Apache Modul rewrite:
sudo a2enmod rewrite
Erstellen Sie den Apache ALIAS. Legen Sie die Datei /etc/apache2/conf.d/mapbender3 mit dem folgenden Inhalt an und starten Sie den Apache Server neu. Apache 2.4 benutzt andere Direktiven für die Access Control (zum Beispiel: “Require all granted”). Für Details schauen Sie bitte in die Apache Documentation: Upgrading to 2.4 from 2.2.
ALIAS /mapbender3 /var/www/mapbender3/web/
<Directory /var/www/mapbender3/web/>
Options MultiViews
DirectoryIndex app.php
Order allow,deny
Allow from all
</Directory>
Prüfen Sie, ob der ALIAS erreichbar ist:
Öffnen Sie das Symfony Welcome Script config.php. Das Skript prüft, ob alle notwendigen Komponenten installiert wurden und ob die Konfiguration erfolgte. Sofern noch Probleme vorliegen, sollten diese behoben werden.
Setzen Sie die Schreibrechte für Besitzer (u), Gruppe (g) und Andere (a). Weisen Sie die Skripte dem Apache User (www-data) zu.
sudo chmod -R ugo+r /var/www/mapbender3
sudo chown -R www-data:www-data /var/www/mapbender3
sudo chmod -R ug+w /var/www/mapbender3/web/assets
sudo chmod -R ug+w /var/www/mapbender3/web/uploads
Passen Sie die Mapbender3 Konfigurationsdatei parameters.yml (app/config/parameters.yml) an und definieren Sie die Datenbank, die Sie erzeugen möchten.
database_driver: pdo_pgsql
database_host: localhost
database_port: 5432
database_name: mapbender3
database_path:
database_user: postgres
database_password: 1xyz45ab
Setzen Sie die app/console Befehle ab
cd /var/www/mapbender3
app/console doctrine:database:create
app/console doctrine:schema:create
app/console init:acl
app/console assets:install web
app/console fom:user:resetroot
app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Epsg/ --append
app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Application/ --append
Hiermit ist die Installation von Mapbender3 fertig.
Prüfen Sie die config.php erneut
Sie müssen Schreibrechte für die Verzeichnisse app/cache und app/logs sowie web/assets vergeben.
sudo chmod -R ug+w /var/www/mapbender3/app/cache
sudo chmod -R ug+w /var/www/mapbender3/app/logs
sudo chmod -R ug+w /var/www/mapbender3/web/assets
sudo chmod -R ug+w /var/www/mapbender3/web/uploads
Sie können Mapbender3 nun nutzen. Starten Sie Mapbender3 im Entwicklermodus, indem Sie das Skript app_dev.php aufrufen.
Hinweis: Klicken Sie auf den Login-Link oben rechts, um zur Abmeldung zu gelangen. Melden Sie sich mit dem neu erstellten Benutzer an.
Wenn Sie mehr über Mapbender3 erfahren möchten, schauen Sie sich das Mapbender3 Quickstart Dokument an.
Installieren Sie die notwendigen Komponenten:
- fügen Sie den Pfad zum PHP-bin Verzeichnis zu Ihrer PATH Variable hinzu
- aktivieren Sie die PHP Erweiterunge in der php.ini Konfigurationsdatei
- laden Sie das Apache Modul rewrite
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
# unter Windows Datei httpd.conf (Kommentar # entfernen) und Apache neu starten
LoadModule rewrite_module modules/mod_rewrite.so
Erstellen Sie den Apache ALIAS. Legen Sie die Datei /etc/apache2/conf.d/mapbender3.conf (oder für Apache 2.4 /etc/apache2/sites-enabled/mapbender3.conf) mit dem folgenden Inhalt an und starten Sie den Apache Server neu (bitte beachten Sie, dass Apache 2.4 andere Direktiven zur Access Control verwendet)
Beispiel ALIAS für Apache 2.4
Alias /mapbender3 c:/mapbender3/web/
<Directory c:/mapbender3/web/>
Options MultiViews FollowSymLinks
DirectoryIndex app.php
Require all granted
RewriteEngine On
RewriteBase /mapbender3/
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ app.php/$1 [PT,L,QSA]
</Directory>
Prüfen Sie, ob der ALIAS erreichbar ist:
Öffnen Sie das Symfony Welcome Script config.php. Das Skript prüft, ob alle notwendigen Komponenten installiert wurden und ob die Konfiguration erfolgte. Sofern noch Probleme vorliegen, sollten diese behoben werden.
Passen Sie die Mapbender3 Konfigurationsdatei parameters.yml (app/config/parameters.yml) an und definieren Sie die Datenbank, die Sie erzeugen möchten.
database_driver: pdo_pgsql
database_host: localhost
database_port: 5432
database_name: mapbender3
database_path:
database_user: postgres
database_password: 1xyz45ab
Rufen Sie die app/console Befehle über die php.exe auf.
c:
cd mapbender3
php.exe app/console doctrine:database:create
php.exe app/console doctrine:schema:create
php.exe app/console init:acl
php.exe app/console assets:install web
php.exe app/console fom:user:resetroot
php.exe app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Epsg/ --append
php.exe app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Application/ --append
Hiermit ist die Installation von Mapbender3 fertig.
Prüfen Sie die config.php erneut
Sie können Mapbender3 nun nutzen. Starten Sie Mapbender3 im Entwicklermodus, indem Sie das Skript app_dev.php aufrufen.
Hinweis: Klicken Sie auf den Login-Link oben rechts, um zur Abmeldung zu gelangen. Melden Sie sich mit dem neu erstellten Benutzer an.
Wenn Sie mehr über Mapbender3 erfahren möchten, schauen Sie sich das Mapbender3 Quickstart Dokument an.
Die Basiskonfiguration erfolgt in der Datei app/config/parameters.yml. Eine Vorlage app/config/parameters.yml.dist liegt vor.
Die Konfigurationsdatei app/config/config.yml stellt weitere Parameter bereit, z.B. zur Konfiguration der Portalfunktion, Einrichtung des Owsproxy oder Einrichtung einer weiteren Datenbank.
Hinweis: Sie benötigen einen Mailer, wenn Sie die Selbstregistrierung und das Paßwortsetzen nutzen möchten.
Hinweis: Sie benötigen einen Mailer, wenn Sie die Selbstregistrierung und das Paßwortsetzen nutzen möchten.
Sofern Sie einen Proxy verwenden, müssen Sie diesen in der Datei config.yml im Bereich ows_proxy3_core angeben.
Eine Konfiguration könnte wie folgt aussehen:
ows_proxy3_core:
logging: true
obfuscate_client_ip: true
proxy:
host: myproxy
port: 8080
connecttimeout: 60
timeout: 90
noproxy:
- 192.168.1.123
Eine Anwendung kann auf zwei Arten konfiguriert werden. Entweder über die mapbender.yml Datei oder über die Mapbender3 Administration im Browser.
app/console doctrine:fixtures:load --fixtures=./mapbender/src/Mapbender/CoreBundle/DataFixtures/ORM/Application/ --append
Um Mapbender3 zu aktualisieren, müssen Sie die folgenden Schritte durchführen:
Im Folgenden sind die einzelnen Schritte als Befehle aufgeführt.
# Laden Sie die neue Version herunter
wget -O http://mapbender3.org/builds/mapbender3-3.0.4.0.tar.gz /tmp/build_mapbender3/
tar xfz /tmp/build_mapbender3/mapbender3-3.0.4.0.tar.gz
# Sichern Sie die alte Version
mv -R /var/www/mapbender3 /var/www/mapbender3_save
# Aktivieren Sie den Code der neuen Version
cp -R /tmp/build_mapbender3/mapbender3-3.0.4.0 /var/www/
mv /var/www/mapbender3-3.0.4.0 /var/www/mapbender3
# copy your old configuration files to the new version
cp /var/www/mapbender3_save/app/config/parameters.yml /var/www/mapbender3/app/config/parameters.yml
cp /var/www/mapbender3/app/config/config.yml /var/www/mapbender3/app/config/config.yml-dist
cp /var/www/mapbender3_save/app/config/config.yml /var/www/mapbender3/app/config/config.yml
# händisch müssen Sie nun die Konfigirationsdateien auf neue Parameter überprüfen
# vergleichen Sie die Dateien parameters.yml, config.yml und sofern verwendet die mapbender.yml
# sofern Sie eigene Templates angelegt haben, vergeleichen Sie diese mit der neuen Mapbender Version
# sofern Sie Vorschaubilder hochgeladen haben: kopieren Sie diese von der alten Version wieder nach mapbender3/web/uploads
# sofern Sie eigene Druckvorlagen verwenden: kopieren Sie diese wieder nach mapbender3/app/Resources/MapbenderPrintBundle/templates/
# Setzen Sie die Schreibrechte für Besitzer (u), Gruppe (g) und Andere (a). Weisen Sie die Skripte dem Apache User (www-data) zu.
sudo chmod -R uga+r /var/www/mapbender3
sudo chown -R www-data:www-data /var/www/mapbender3
Aktualisieren Sie Ihre Mapbender Datenbank
cd /var/www/mapbender3/
# Beim Update von der Version 3.0.3.x nach 3.0.4.0 auf PostgreSQL müssen Sie das folgende SQL auf der Datenbank absetzen,
# bevor Sie app/console doctrine:schema:update --force ausführen.
# ALTER TABLE fom_profile_basic DROP CONSTRAINT fom_profile_basic_pkey;
app/console doctrine:schema:update --dump-sql
app/console doctrine:schema:update --force
app/console assets:install web
# Setzen Sie die Schreibrechte für Besitzer (u), Gruppe (g) und Andere (a). Weisen Sie die Skripte dem Apache User (www-data) zu.
sudo chmod -R ugo+r /var/www/mapbender3
sudo chown -R www-data:www-data /var/www/mapbender3
# Sie benötigen Schreibrechte für die Verzeichnisse app/cache und app/logs.
sudo chmod -R ug+w /var/www/mapbender3/app/cache
sudo chmod -R ug+w /var/www/mapbender3/app/logs
sudo chmod -R ug+w /var/www/mapbender3/web/assets
sudo chmod -R ug+w /var/www/mapbender3/web/uploads