Apache Web-Server

easydb benötigt die Version 2.2 des Apache Webservers.

Im Apache wird ein virtueller Host eingerichtet, der folgende Einstellungen enthalten muss:

Include

Die Apache-Konfiguration muss die Datei apache-easydb.inc beinhalten. Schreiben Sie dazu in die Apache-Konfiguration:

Include /opt/easydb/4.0/conf/apache-easydb.inc

SetEnv

Zum Betrieb der easydb müssen in der Apache-Konfiguration bestimmte Umgebungsvariablen gesetzt werden.

Zum Setzen der Umgebungsvariablen benutzen Sie das Modul "mod_env". In der Apache-Konfiguration steht dann:

SetEnv EASYDB_ROOT           /opt/easydb/4.0/docroot
SetEnv EASYDB_INSTANCE       example
SetEnv EASYDB_CONF           %ENVIRONMENT%,/etc/opt/easydb/example.conf

Optional können auch easydb-Config-Variablen in der Apache-Konfiguration gesetzt werden. Diese sind mit dem Präfix "EASYDB_" zu versehen.

easydb-Umgebungsvariablen

EASYDB_ROOT

Diese Variable zeigt auf das Verzeichnis, in dem die easydb installiert ist. In einer Standardinstallation muss diese Variable auf /opt/easydb/4.0/docroot gesetzt werden.

EASYDB_INSTANCE

Die Variable muss den Namen der easydb Instanz enthalten. Den Instanznamen entnehmen Sie bitte Ihren Paketnamen (easydb-instance-Instanzname) oder Sie schauen in /opt/easydb/4.0/docroot/instances/Instanzname. Achten Sie darauf, dass der Instanzname mit Kleinbuchstaben geschrieben ist und keine Leerzeichen enthält.

EASYDB_INSTANCE kann auf %SERVER_NAME% gesetzt werden. easydb verwendet dann den ersten Teil des Hosts als Instanznamen (bis zum ersten . oder —). Diese Option ist nur für Installationen mit mehreren easydbs relevant.

EASYDB_CONF

easydb verwaltet serverseitige Einstellungen in Config-Variablen, die aus Config-Dateien geladen werden. Diese Dateien sind Textdateien, die hier beschrieben sind. Diese Variable enthält eine Liste mit Quellen für Config-Variablen. Dabei werden kommasepariert Pfade zu Dateien angegeben. Jede weitere Quelle überschreibt Variablen, die von der vorangegangenen Quelle gesetzt wurden.

Standardmäßig liest easydb immer zuerst die mitgelieferte Config-Datei ein, welche sich in /opt/easydb/4.0/docroot/instances/Instanz-Name/easydb_default-conf befindet.

Der String %EASYDB_INSTANCE% kann verwendet werden und wird durch die angegebene EASYDB_INSTANCE ersetzt. Diese Option ist nur für Installationen mit mehreren easydbs relevant. Ebenso kann %EASYDB_INSTANCE_FULL% verwendet werden. Dies enthält den %SERVER_NAME% bis zum ersten . und nicht nur bis zum —. Dies ist nützlich wenn die gleiche easydb mit verschiedenen Konfigurationsdateien betrieben werden soll.

easydb-Config-Variablen können auch aus der Apache-Umgebung gelesen werden. Dazu setzen Sie die gewünschte Variable mit dem Präfix EASYDB_. In der Liste der Quellen muss dann %ENVIRONMENT% angegeben werden, um aus der Apache-Umgebung zu lesen.

EASYDB_EXTERNAL_URL (optional)

Wenn sich die easydb hinter einem Proxy befindet oder die externe URL der easydb aus anderen Gründen nicht der entspricht, für die der Apache konfiguriert ist, dann kann die Variable EASYDB_EXTERNAL_URL gesetzt werden. An allen Stellen, wo die easydb keine relativen URLs verwenden kann, wird diese URL verwendet. Beispiel:

SetEnv EASYDB_EXTERNAL_URL http://example.org

Beispiel

Im Folgenden zeigen wir einen einfachen virtuellen Host, der nur die nötigsten Einstellungen enthält:

<VirtualHost easydb.local.net>
    ServerName easydb.local.net
    DocumentRoot /opt/easydb/4.0/docroot

    SetEnv EASYDB_ROOT /opt/easydb/4.0/docroot
    SetEnv EASYDB_INSTANCE easydemo
    SetEnv EASYDB_CONF /opt/easydb/4.0/conf/%EASYDB_INSTANCE%.conf

    Include /opt/easydb/4.0/conf/apache-easydb.inc
</VirtualHost>

Das Beispiel konfiguriert die easydb mit dem Instanz-Namen easydemo und einen virtuellen Host easydb.local.net. Die easydb Konfiguration wird aus der Datei /opt/easydb/4.0/conf/easydemo.conf gelesen, welches durch Ersetzung von EASYDB_INSTANCE zu Stande kommt.

FastCGI

Seit Version 4.0.241

Es ist auch eine Einrichtung der easydb mittels FastCGI statt mod_php möglich. Folgende Schritte sind dazu notwendig:

Installation der notwendigen Pakete

Folgende Debian-Pakete müssen zusätzlich installiert werden:

apt-get install php5-cgi libapache2-mod-fcgid spawn-fcgi

Starten der PHP-CGI-Server

Apache kommuniziert bei diesem Setup über einen Unix Domain Socket mit den extern gestarteten PHP-Prozessen. Ein Init-Skript wird von der easydb ausgeliefert, muss aber noch konfiguriert werden. Schreiben Sie in /etc/default/easydb-4.0 dazu bitte folgende Zeile:

SPAWN_FCGI_NUM_PHP=10

Die Anzahl der PHP-Prozesse kann bei viel Aktivität auf dem Server auch erhöht werden.

Im Anschluss muss das Init-Skript gestartet werden:

/etc/init.d/easydb-4.0 restart

Konfiguration des Virtual Hosts

Abweichend vom obigen Beispiel sollte die Konfiguration in etwa so aussehen:

Include /opt/easydb/4.0/conf/apache-fastcgi.inc

<VirtualHost easydb.local.net>
    ServerName easydb.local.net
    DocumentRoot /opt/easydb/4.0/docroot

    SetEnv EASYDB_ROOT /opt/easydb/4.0/docroot
    SetEnv EASYDB_INSTANCE easydemo
    SetEnv EASYDB_CONF /opt/easydb/4.0/conf/%EASYDB_INSTANCE%.conf

	Use EasydbFastcgi easydb /opt/easydb/4.0 /var/run/easydb/easydb-4.0-spawn-fcgi.sock
    Include /opt/easydb/4.0/conf/apache-easydb.inc
</VirtualHost>

Desweiteren müssen die Module im Apache aktiviert werden, damit diese mit der obigen Konfiguration benutzt werden können:

a2enmod actions
a2enmod fastcgi

Danach muss der Apache neugestartet werden mit:

/etc/init.d/apache2 restart

Werden mehrere Virtual Hosts konfiguriert, muss der erste Parameter des Makros EasydbFastcgi (in diesem Fall easydb) geändert werden. Dieser Wert muss eindeutig sein.

Sonstiges

Einige Funktionen der easydb sind, besonders bei der Nutzung des Internet Explorers, gestört, wenn mod_deflate aktiviert ist. Bitte deaktivieren Sie dieses Modul daher.