Webserver-Konfiguration

Aus MoodleDocs
Version vom 13. Juli 2011, 09:51 Uhr von Gisela Hillenbrand (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Moodle installieren}} Damit Moodle richtig funktioniert, müssen eine Reihe von Webserver-Einstellungen vorgenommen werden. ==Konfiguration in der Datei httpd…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation, Suche


Damit Moodle richtig funktioniert, müssen eine Reihe von Webserver-Einstellungen vorgenommen werden.

Konfiguration in der Datei httpd.conf

Zuerst kontrollieren Sie, ob der Webserver eine Datei index.php als Standardseite verwendet (und evtl. weitere, z.B. index.html, default.htm usw.). Bei einem Apache-Webserver wird dies über den Parameter DirectoryIndex in der Konfigurationsdatei httpd.conf gesteuert. Die entsprechende Zeile sieht etwa so aus:

  DirectoryIndex index.php index.html index.htm

Achten Sie darauf, dass index.php in der Aufzählungsliste steht (bevorzugt an erster Stelle - aus Effizienzgründen).

Zweitens sollten Sie, wenn Sie einen Apache 2 benutzen, die Variable AcceptPathInfo auf On setzen. Damit wird Skripten erlaubt, Argumente wie http://server/file.php/arg1/arg2 weiterzureichen. Das ist wichtig, um relative Links zwischen Ihren Kurselementen zu ermöglichen. Außerdem erhöht es die Geschwindigkeit für die Nutzer Ihrer Moodle-Installation.

  AcceptPathInfo on

Bei Apache 1 ist diese Einstellung nicht nötig.

Datei .htaccess

Es kann sein, dass Sie keinen Zugriff auf die Konfigurationsdatei des Webservers httpd.conf oder die PHP-Konfigurationsdatei php.ini haben. Das ist z.B. der Fall, wenn Sie bei einem Provider sind und Moodle auf dessen Server installieren, oder wenn auf Ihrem Server weitere Web-Anwendungen mit u.U. anderen Konfigurationseinstellungen laufen.

In diesem Fall können Sie die Konfigurationseinstellungen des Webservers und von PHP gezielt für Moodle überschreiben. Das geschieht mittels einer Konfigurationsdatei .htaccess.

Hinweis: Das funktioniert allerdings nur, wenn Sie einen Apache-Webserver verwenden und in dessen Konfigurationsdatei "Overrides" (d.h. Überschreiben von Einstellungen) erlaubt sind.

Die Standarddatei verwenden

Moodle enthält eine Beispieldatei .htaccess im Verzeichnis moodle/lib, die Sie verwenden und bei Bedarf anpassen können. Kopieren Sie diese Datei in das Hauptverzeichnis Ihrer Moodle-Installation. Unter Unix geht das etwa mit diesen Kommandos:

  cd /var/www/html/moodle
  cp lib/.htaccess .htaccess

Eine eigene Datei .htaccess erzeugen

Sie können auch eine eigene Datei .htaccess im Hauptverzeichnis Ihrer Moodle-Installation erzeugen. Diese Datei sollte folgenden Code enthalten:

  DirectoryIndex index.php index.html index.htm
  php_value memory_limit 40M (an Ihre Moodle-Version anpassen, siehe PHP-Versionen für Moodle)
  php_flag magic_quotes_gpc 1
  php_flag magic_quotes_runtime 0
  php_flag file_uploads 1
  php_flag session.auto_start 0
  php_flag session.bug_compat_warn 0

Wenn Sie Apache 2 verwenden, ergänzen Sie zusätzlich folgende Zeilen:

  <IfDefine APACHE2>
    AcceptPathInfo on
  </IfDefine>

Andernfalls ergänzen Sie nur diese Zeile:

  AcceptPathInfo on

Bei Bedarf können Sie die maximale Größe einer Datei zum Hochladen festlegen:

  LimitRequestBody 0
  php_value upload_max_filesize 2M
  php_value post_max_size 2M
    

Die Standardeinstellung ist 2M, Sie können den Wert jedoch jederzeit erhöhen.

Alternativen zur Datei .htaccess

Manche Webserver erlauben keine .htaccess-Dateien. In diesem Fall kann es nötig sein, eine Datei php.ini in jedem Unterverzeichnis Ihrer Moodle-Installation zu erstellen. Legen Sie dazu eine Datei php.ini im Moodle-Hauptverzeichnis an und kopieren Sie diese anschließend in alle Unterverzeichnisse.

Diese Datei php.ini hat eine andere Syntax, das Präfix php_ bei den einzelenen Parametern ist nicht nötig. zu erstellen. D.h. statt der Parameter aus dem Abschnitt Eine eigene Datei .htaccess erzeugen verwenden Sie folgende Syntax:

  upload_max_filesize = 2M
  post_max_size = 2M

Um die Datei in alle Unterverzeichnisse von Moodle zu kopieren, können Sie das Skript http://tips-scripts.com/php_ini_copy verwenden, oder Sie kopieren sie manuell.

Manche Webserver verwenden suPHP. Diese PHP-Version erfordert etwas andere Konfigurationseinstellungen. In diesem Fall versuchen Sie die folgenden zwei Dateien im Hauptverzeichnis Ihrer Moodle-Installation anzulegen:

php.ini (Beispiel):
  register_globals = 0
  display_errors = 0
.htaccess (Beispiel):
  suPHP_ConfigPath /home/cPanelName/public_html/moodle

Ersetzen Sie den Pfad durch den Ihrer Moodle-Installation.

Abschließender Hinweis: Verwenden Sie eine Datei .htaccess nur, wenn unbedingt nötig, da die Geschwindigkeit Ihrer Moodle-Installation darunter leiden kann!

Vorlage:Credits [1], [2]