ewiki, moodle, openbase_dir

Mein / Unser neuer Server ist etwas abgesicherter als der alte Rechner, was vor allem an Frank liegt, der der festen Meinung ist, dass keine Paranoia zu haben nicht bedeutet, dass sie nicht doch hinter dir her sind.

Dumm nur, dass das Standard Wiki von Moodle (ewiki oder auch Erfurt Wiki) Zugriff auf die eine oder andere Datei außerhalb des eigentlichen Webserververzeichnisses will, um beim Speichern von Wikiseiten zu überprüfen, ob nicht noch jemand Veränderungen vorgenommen hat – openbase_dir weiß dies aber zu verhindern. Gleich nach dem Anlegen eines neuen Wikis bockt Moodle nun und zeigt die folgende Fehlermeldung:

Warning: is_executable() [function.is-executable]: open_basedir restriction in effect. File(/usr/bin/patch) is not within the allowed path(s)

Auf ewiki will ich aber nicht verzichten: dfwiki oder nwiki kann nämlich die schon vorhandenen Wikis meiner alten Moodleinstallation nicht fehlerfrei importieren.

Meine Lösung war nun: Ich habe in einem Verzeichnis "neben" /moodledata das Verzeichnis /bin angelegt und dort die beiden Dateien /usr/bin/diff und /usr/bin/patch hineinkopiert. Dann hab ich die Datei /moodle/mod/wiki/ewiki/plugins/patchsaving.php editiert:

define("EWIKI_BIN_DIFF", "/usr/bin/diff");
define("EWIKI_BIN_PATCH", "/usr/bin/patch");

In Zeile 12 und 13 von patchsaving.php stehen die Pfadangaben. Hier musste nun /usr/bin durch den von Apache lesbaren Pfad (das Verzeichnis /bin "neben" /moodledata) ersetzt werden – und jetzt klappt alles wie es soll.