Moodle-Datenverzeichnis

Aus MoodleDocs
Wechseln zu:Navigation, Suche


Moodle benötigt einen Platz auf der Festplatte des Servers, um hochgeladene Dateien, wie Kursunterlagen, Nutzerbilder usw. zu speichern.

Das Moodle-Datenverzeichnis wird vom Server-Adminstrator bei der Installation von Moodle angelegt, der Pfad ist in der Moodle-Konfigurationsdatei config.php gespeichert.

Sicherheitshinweis: Aus Sicherheitsgründen sollte dieses Verzeichnis nicht direkt über den Webserver erreichbar sein. Der einfachste Weg ist der, ein Verzeichnis außerhalb des Webserver-Verzeichnisses auszuwählen (das ist das Verzeichnis, auf das der erste Teil Ihrer Moodle-URL - bis zum ersten / - zeigt, z.B. in http://IhreDomäne.com/moodle/admin/cron.php ist es http://IhreDomäne.com/).

Wenn Sie keine Möglichkeit haben, das Moodle-Datenverzeichnis außerhalb des Webserver-Verzeichnisses anzulegen (z.B. weil Sie Ihre Moodle-Installation bei einem Provider haben), aber einen Apache-Server nutzen, dessen Konfiguration es erlaubt, Dateien .htaccess zuverwenden, dann schützen Sie Ihr Moodle-Datenverzeichnis mit einer solchen Datei. Legen Sie im Datenverzeichnis eine Datei .htaccess an, die folgende Zeilen enthält:

  order deny,allow
  deny from all

Wenn Sie einen ISS-Server nutzen, dann müssen Sie die Eigenschaften des Moodle-Datenverzeichnisses bearbeiten (über die Internet Information Services Manager Konsole) und den Zugriff auf dieses Verzeichnis von jedermann über das Web verbieten.

Dateirechte: Damit Moodle hochgeladene Dateien im Moodle-Datenverzeichnis speichern kann, müssen Sie sicherstellen, dass der Webserver Lese-, Schreib- und Ausführrechte auf diesem Verzeichnis (und allen Unterverzeichnissen) hat. Auf Unix-Systemen heißt das, dass das Verzeichnis etwa einem Nutzer "nobody" oder "apache" gehören muss, und dieser Nutzer Lese-, Schreib- und Ausführrechte hat. Den Besitzer des Verzeichnisses ändert man z.B. mit folgendem Befehl:

chown -R nobody:apache moodledata

Die entsprechenden Lese-, Schreib- und Ausführrechte vergibt man mit etwa mit folgendem Befehl:

chmod -R 0770 moodledata

Hinweis: Wenn Sie von Moodle Fehlermeldungen der Art "Permission denied" (Zugriff verweigert) erhalten, dann probieren Sie es mit dem Befehl chmod -R 0770 moodledata' und schränken Sie anschließend die Rechte weiter ein, dass mehr Sicherheit gewährleistet ist, z.B. chmod -R 0750 moodledata'. Die Beispielkonfigurationsdatei config-dist.php enthält dazu einen Hinweis: "On hosting systems you might need to make sure that your group has no permissions at all while others have full permissions." (d.h. auf gehosteten Systemen müssen Sie u.U. sicherstellen, dass Ihre Gruppe keinerlei Rechte hat, während andere vollen Zugriff haben. In diesem Fall verwenden Sie einen Befehl wie chmod -R 707 moodledata). Siehe auch Sicherheit.

Beachten Sie, dass Moodle standardmäßig eine Warnung ausgibt, falls das Datenverzeichnis im Webserver-Verzeichnis angelegt ist. Ansonsten kann das Verzeichnis an einem beliebigen Ort auf Ihrem Server liegen. Sie können dieses Verzeichnis jederzeit an einen anderen Ort verschieben, müssen dann allerdings Ihre Moodle-Konfigurationsdatei config.php entsprechend anpassen, z.B. wenn das Datenverzeichnis in einem Verzeichnis /data/ liegt:

$CFG->dataroot  = '/data/moodledata';

Wenn Sie bei einem Provider sind, stellt dieser Ihnen häufig eine spezielle Webschnittstelle bereit, um Ihre Verzeichnisse zu administrieren. Ein weit verbreitetes System ist cPanel. In diesem System können Sie den "File Manager" verwenden, um das Datenverzeichnis zu finden und die Rechte anzupassen (wählen Sie dazu "Change Permissions").

Achtung: Bei sogenannten Shared Hosts haben Sie häufig folgende problematische Situation: Einerseits wollen Sie den Zugriff auf das Datenverzeichnis auf Ihre Gruppe beschränken, damit andere Kunden des Providers keine Manipulationen an Ihren hochgeladenen Dateien vornehmen können. Andererseits muss der Webserver Lese- und Schreibrechte haben, und das geht in den meisten Fällen nur, wenn Sie allen Nutzern diesen Zugriff erlauben. Kontaktieren Sie Ihren Administrator, wenn Sie unsicher sind, wie Sie das Verzeichnis sicher konfigurieren.

Aber keine Panik: In der Regel hat Ihr Provider von vornherein für eine vernünftige Lösung gesorgt!

Verzeichnisstruktur

Das Moodle-Datenverzeichnis moodledata enthält u.a. folgende Unterverzeichnisse:

  • cache/ - Speicherplatz für Cache
  • filedir/ - Speicherplatz für Dateien in Moodle
  • lang/ - Speicherplatz für nichtenglische Sprachpakete
  • sessions/ - hier werden Sitzungsinformationen gespeichert
  • temp/ - Speicherplatz für temporäre Dateien
  • trashdir/ - Speicherplatz für Dateien in Moodle
  • upgradelogs - Logdateien, die bei der Aktualisierung von Moodle erzeugt werden

Weitere Unterverzeichnisse können von Moodle automatisch erzeugt werden.