Mapbender.conf
From MapbenderWiki
Contents
|
zentrale Konfiguration
Die Datei wird ausgeliefert als /conf/mapbender.conf-dist (Distribution).
Kopieren sie die Datei nach mapbender.conf und passen die Parameter an.
Diese zentrale Konfigurationsdatei ersetzt ab Version 2.? die bisherigen Konfigurationsdateien
Beispiel
Datei mapbender.conf-dist der Mapbender-Version 2.4.2:
Datenbanktyp
<?php
# --------------------------------------------
# type of mapbender database
# --------------------------------------------
define("SYS_DBTYPE", "mysql");
#define("SYS_DBTYPE", "pgsql");
Hier stellt man ein, in welchem Typ von Datenbank die Administration von Mapbender gespeichert wird.
Hier die Voreinstellung für MySQL. Setzen sie eine Raute (#) vor die Zeile und nehmen sie die Raute in der Zeile pgsql weg, wenn sie eine PostgreSQL-Datenbank verwenden möchten.
MySQL
# --------------------------------------------
# database information
# --------------------------------------------
if(SYS_DBTYPE=="mysql")
{
define("DBSERVER", "<HOST>");
define("PORT", "3306");
define("DB", "<database>");
define("OWNER", "<owner>");
define("PW", "<password>");
include_once("../../http/php/database-mysql.php");
# --------------------------------------------
# database with geos functions
# --------------------------------------------
define("GEOS_DBSERVER", "<HOST>");
define("GEOS_PORT", "5432");
define("GEOS_DB", "<database with geos functions>");
define("GEOS_OWNER", "<owner>");
define("GEOS_PW", "<password>");
}
Einstellungen für den Datenbanktyp MySQL. Siehe auch die alte Version in mysql.conf.
Ersetzen sie die Werte in den spitzen Klammern durch die Werte für Ihren Server:
DBSERVER
Name oder IP-Adresse des Datenbank-Servers.
PORT
Der Standard-Port für den MySQL-Datenbank-Dienst ist bereits eingestellt. Das braucht nur geändert werden, wenn man daran gedreht hat.
DB
Name der Datenbank in der die Administration von Mapbender gespeichert wird. Die Datenbank wird mit den SQL-Scripten aus dem Verzeichnis "/recources/db/mysql/" eingerichtet und geladen.
OWNER und PW
Benutzername und Passwort, mit dem der Prozess Mapbender sich in der Mapbender-Datenbank anmeldet und authentifiziert. Dieser Benutzer muss in der Datenbank eingerichtet werden und muss dort Schreibrechte haben.
GEOS
Mapbender benutzt für verschiedene Funktionen PostgreSQL/PostGIS (siehe Mapbender PostgreSQL/PostGIS Konfiguration). Sofern MySQL und nicht PostgreSQL als Standarddatenbank für Mapbender eingesetzt wird, kann hier eine Verbindung zu einer PostgreSQL Datenbank eingetragen werden. Ersetzt damit die Angaben in Pgsql.conf
- GEOS_DBSERVER
- GEOS_PORT
- GEOS_DB
- GEOS_OWNER
- GEOS_PW
Ersetzen sie die Werte mit den spitzen Klammern durch die Werte für Ihren Server.
PostgreSQL
else {
define("DBSERVER", "<HOST>");
define("PORT", "5432");
define("DB", "<database>");
define("OWNER", "<owner>");
define("PW", "<password>");
include_once("../../http/php/database-pgsql.php");
}
Einstellungen für den Datenbanktyp PostgreSQL. Siehe auch die alte Version in pgsql.conf.
Ersetzen sie die Werte mit den spitzen Klammern durch die Werte für Ihren Server.
DBSERVER
Name oder IP-Adresse des Datenbank-Servers.
PORT
Der Standard-Port für den PostgreSQL-Datenbank-Dienst ist bereits eingestellt. Das braucht nur geändert werden, wenn man daran gedreht hat.
DB
Name der Datenbank in der die Administration von Mapbender gespeichert wird. Die Datenbank wird mit den SQL-Scripten aus dem Verzeichnis "/recources/db/postgresql/" eingerichtet und geladen.
OWNER und PW
Benutzername und Passwort, mit dem der Prozess Mapbender sich in der Mapbender-Datenbank anmeldet und authentifiziert. Dieser Benutzer muss in der Datenbank eingerichtet werden und muss dort Schreibrechte haben.
Prepared Statements
# --------------------------------------------
# prepared statements (PHP > 5.1.x, PostgreSQL > 7.4)
# --------------------------------------------
define("PREPAREDSTATEMENTS",true);
Prepared Statements verbessern die Sicherheit des Mapbenders, indem SQLs und Variablen nicht von außerhalb manipuliert werden können sondern bereits vorgefertigt vorliegen (also "prepared" sind). Diese Funktion verlangt mindestens die o.g. Versionen oder besser. Sollte Ihre Installation dies noch nicht unterstützen, setzen sie den Wert auf "false".
Siehe Prepared statements.
DB-Codierung
# --------------------------------------------
# encoding - default characterset UTF-8 / ISO-8859-1
# --------------------------------------------
define("CHARSET","UTF-8");
Die Mapbenderinstallation kann derzeit entweder für den Zeichensatz UTF-8 (UNICODE) oder ISO-8859-1 (LATIN1) erfolgen. Damit die Inhalte der Datenbank später im Browser vernünftig dargestellt werden, wird hier eingetragen, mit welchem Zeichensatz die Datenbank erstellt wurde und die Daten vorhält. Diese Einstellungen korrespondiert mit den SQL-Dateien, die Sie zum Anlegen der Datenbank verwenden!
PHP Fehlermeldungen
# --------------------------------------------
# error_reporting
# --------------------------------------------
//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
Hier können Fehlermeldungen von PHP für die Mapbenderinstallation unabhängig von den globalen Einstellungen der php.ini eingeschaltet werden. Dies ist zum Beispiel dann sinnvoll, wenn man selbst Module entwickelt oder speziellen Fehlern auf die Schliche kommen möchte (sprich für Debuggingzwecke). Für den normalen Betrieb sollte dies auskommentiert bleiben.
Fehlermeldungen unterdrücken (es gelten die globalen Einstellungen der php.ini):
//ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
Fehlermeldungen ausgeben (php.ini-Werte werden überschrieben):
ini_set('error_reporting', 'E_ALL & ~ E_NOTICE');
Für weitere Informationen und Erläuterungen kann auch in Blick in die globalen PHP-Einstellungen der php.ini sinnvoll (diese liegt je nach Distribution bzw. Betriebssystem an verschiedenen Stellen, meist jedoch in /etc/php* unter Linux). Hier ein Auszug aus der php.ini:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; Error handling and logging ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; error_reporting is a bit-field. Or each number up to get desired error ; reporting level ; E_ALL - All errors and warnings ; E_ERROR - fatal run-time errors ; E_WARNING - run-time warnings (non-fatal errors) ; E_PARSE - compile-time parse errors ; E_NOTICE - run-time notices (these are warnings which often result ; from a bug in your code, but it's possible that it was ; intentional (e.g., using an uninitialized variable and ; relying on the fact it's automatically initialized to an ; empty string) ; E_CORE_ERROR - fatal errors that occur during PHP's initial startup ; E_CORE_WARNING - warnings (non-fatal errors) that occur during PHP's ; initial startup ; E_COMPILE_ERROR - fatal compile-time errors ; E_COMPILE_WARNING - compile-time warnings (non-fatal errors) ; E_USER_ERROR - user-generated error message ; E_USER_WARNING - user-generated warning message ; E_USER_NOTICE - user-generated notice message ; ; Examples: ; ; - Show all errors, except for notices ; ;error_reporting = E_ALL & ~E_NOTICE ; ; - Show only errors ; ;error_reporting = E_COMPILE_ERROR|E_ERROR|E_CORE_ERROR ;
Ordner für temporäre Dateien
# --------------------------------------------
# directory for temporary files
# --------------------------------------------
define("TMPDIR", "../tmp");
Mapbender benötigt den Pfad zu einem Ordner, in dem die Mapbenderskripte temporäre Daten ablegen dürfen (der Webserver benötigt in diesem Verzeichnis zwingend Schreibrechte). Die Angabe erfolgt relativ zum Verzeichnis mit den PHP-Skripten (dort wird die mapbender.conf eingebunden). Das Beispiel verweist hier also parallel zu den Verzeichnissen classes, javascripts, print usw.
Login-Seite
# --------------------------------------------
# URL to login
# --------------------------------------------
define("LOGIN", "http://localhost/mapbender/frames/login.php");
define("MAXLOGIN", 3);
$login = LOGIN;
LOGIN
URL für die Anmeldeseite dieser Mapbender-Installation. "localhost" sollte durch den Servernamen ersetzt werden, damit die Adresse auch aus Sicht eines Clients gültig ist.
MAXLOGIN
Ein Benutzer wird gesperrt, wenn er mehrere falsche Passwort-Eingaben macht. Hier kann eingestellt werden, wie viele Versuche er hat. Entsperren durch den Administrator in der Datenbank: Feld "mb_user_login_count" in der Tabelle "mb_user" für den Benutzer wieder auf 0 setzen. Alternativ durch mod_editFilteredUser.php (Benutzer anlegen und editieren).
owsproxy
# --------------------------------------------
# URL to owsproxy
# (no terminating slash)
# --------------------------------------------
define("OWSPROXY", "http://<ip or name>/owsproxy");
Siehe owsproxy
Connection-Typ
# --------------------------------------------
# type of server-connection
# curl, socket, http
# --------------------------------------------
#define("CONNECTION", "curl");
define("CONNECTION", "http");
#define("CONNECTION", "socket");
define("CONNECTION_PROXY", "<ip>");
define("CONNECTION_PORT", "<port>");
define("CONNECTION_USER", "<user>");
define("CONNECTION_PASSWORD", "<password>");
CONNECTION
Proxy
Für das Anzeigen der Karten braucht nur der Client (Browser) einen Zugang zu allen eingebundenen WMS-Diensten. Für das Laden der Capabilities und für das Drucken muss jedoch auch der Mapbender-Server diese Dienste erreichen können (Mapbender-Server = WMS-Client). Normalerweise befindet sich der Server hinter einer Firewall. Deshalb muss ein Proxy verwendet werden, um WMS-Dienste aus dem Internet zu erreichen. Siehe auch: Troubleshooting_printPDF#PrintPDF
Security
# --------------------------------------------
# security: path to modules
# --------------------------------------------
define("CHECK", false);
Sicherheitsüberprüfung, lediglich bestimmte Skripte/Funktionen dürfen vom Benutzer in die Oberfläche eingebunden werden, siehe 'Permission denied' beim Hinzufügen neuer Module.
Portal
# --------------------------------------------
# enable/disable portal
# --------------------------------------------
define("PORTAL", false);
Mapbender kann als Portal eingesetzt werden, siehe Mapbender Portal, dann können Benutzer sich eine eigene Benutzerkennung erzeugen und sich im Mapbender anmelden, siehe CreateUser.
# --------------------------------------------
# mail settings for internal mapbender mails
# smtp mailing
# for further settings check 'class_administration.php'
# please check phpmailer for more information
# --------------------------------------------
define("USE_PHP_MAILING", "false");
define("MAILHOST", "<host>");
define("MAILUSERNAME", "<user>");
define("MAILPASSWORD", "<password>");
define("MAILADMIN", "<mailaddress of the mailadmin>");
define("MAILADMINNAME", "<mailadminname>");
$mailHost = MAILHOST;
$mailUsername = MAILUSERNAME;
$mailPassword = MAILPASSWORD;
Dieser Teil ersetzt die alte Version in mail.conf.
Siehe vorläufig dort.
WMS Monitoring
# --------------------------------------------
# wms monitoring
# --------------------------------------------
define("AUTO_UPDATE", "0");
define("TIME_LIMIT", "300");
define("PHP_PATH", "/usr/local/bin/");
Siehe MonitorCapabilities
Mapbender error logging
# --------------------------------------------
# Mapbender error logging
# --------------------------------------------
define("LOG_LEVEL_LIST", "off,error,warning,notice,all");
define("LOG_LEVEL", "all");
define("LOG_JS", "on"); // "on", "alert", "console", "off"
- LOG_LEVEL_LIST: Liste der verfügbaren Loggingstufen.
- LOG_LEVEL: Ein Eintrag der Liste LOG_LEVEL_LIST:
- off: es werden nichts geloggt.
- error: Es werden lediglich Fehlermeldungen geloggt.
- warning: Es werden Fehlermeldungen und Warnungen geloggt.
- notice: Es werden Fehlermeldungen und Warnungen und Hinweise geloggt.
- all: Es wird alles geloggt (Momentan entspricht das "notice").
- LOG_JS: Einstellung bzgl. Umgang mit JavaScript-Logging: Die Logeinträge werden
- on: wie in php in eine Logdatei geschrieben.
- alert: als ein alert im Browser ausgegeben. Sinnvoll beim Debuggen mit Internet Explorer.
- console: als ein Konsoleneintrag im Firebug ausgegeben. Sinnvoll beim Debuggen mit Firefox.
- off: ins Nirwana befördert.
PHP-Globals
###HACK for GLOBALS $DBSERVER=DBSERVER; $DB=DB; $OWNER=OWNER; $PW=PW; $GEOS_DBSERVER=GEOS_DBSERVER; $GEOS_DB=GEOS_DB; $GEOS_PORT =GEOS_PORT; $GEOS_OWNER=GEOS_OWNER; $GEOS_PW=GEOS_PW; ?>
Nicht ändern!
weitere Konfigurationsdateien
Weitere Konfigurationsdateien, die nicht durch diese Datei ersetzt wurden:
- mapbender\http\print\printPDF.conf, Siehe Seite Print
- session.conf
