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.