Problem:

Beim Aufruf des Plesk-Webmail (Horde) erscheint eine weiße Seite.

Lösung:

Die Lösung findet sich im error_log:

Fatal error: require_once() [function.require]: Failed opening required ‘Horde/String.php’ 
(include_path=’/usr/share/psa-horde:/usr/share/psa-horde/pear:.’) in /usr/share/psa-horde/lib/Horde/Browser.php on line 4

Wer dann innerhalb von /usr/share/psa-horde/ umschaut, wird feststellen, dass dem include_path das Verzeichnis /usr/share/psa-horde/lib fehlt.

Erster Versuch:
Wir ergänzen den include_path entsprechend in der /etc/apache2/conf.d/zz010_psa_httpd.conf (Debian, kann evtl. abweichen) und starten Apache neu.
Hurra! Webmail läuft.

Aber nicht lange!
Plesk überschreibt bei der nächsten beliebigen Änderung die zz010_psa_httpd.conf und Webmail bleibt weiß.

Wir wollen eine dauerhafte Lösung!
Also müssen wir die Webmail-Einstellungen aus der Plesk-Datei raus nehmen. D.h. aber, dass wir ggf. zweimal den selben VirtualHost definieren müssen. Und das funktioniert nur wenn unser Webmail-Vhost vor der Plesk-Datei gelesen wird.
Also nehmen wir die Datei /etc/apache2/conf.d/webmail.conf ("webmail" kommt im Alphabet vor "zz010_...").
Hier kopieren wir alle VirtualHost-Einträge aus der zz010_psa_httpd.conf hinein, welche etwas mit Webmail zu tun haben. Sie beginnen i.d.R. so:


        DocumentRoot /usr/share/psa-horde/
        Alias /horde/ /usr/share/psa-horde/
        Alias /imp/ /usr/share/psa-horde/imp/
        ServerName webmail
        ServerAlias webmail.*

Auch den SSL-Eintrag und ggf. weitere IP's nicht vergessen.

In dieser Kopie erweitern wir nun den include_path an allen möglichen Stellen.
Ein Apache Restart bring ggf im error_log eine Warning über doppelte VirtualHosts, die wir aber ignorieren können. Denn Hauptsache das Ergebnis stimmt.

Kategorien:

Stichwörter:

Plesk · Webmail · Horde · include_path · error_log ·