Moodle/Cron

Aus Foxwiki
Version vom 8. Juli 2023, 01:51 Uhr von Dirkwagner (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Moodle installieren == Dieses Tutorial zeigt, wie Sie Moodle zum ersten Mal installieren. An manchen Stellen geht es recht weit ins Detail, um die Server-Einstellungen auch zu erklären. Das erscheint mitunter etwas kompliziert. Sie werden aber bald feststellen, dass alles sehr leicht ist. In der Regel ist MOODLE in ein paar Minuten installiert. Nehmen Sie sich ein wenig Zeit, diese Anleitung sorgfältig zu lesen - es spart Zeit später! === 1. Syst…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Moodle installieren

Dieses Tutorial zeigt, wie Sie Moodle zum ersten Mal installieren. An manchen Stellen geht es recht weit ins Detail, um die Server-Einstellungen auch zu erklären. Das erscheint mitunter etwas kompliziert. Sie werden aber bald feststellen, dass alles sehr leicht ist. In der Regel ist MOODLE in ein paar Minuten installiert.

Nehmen Sie sich ein wenig Zeit, diese Anleitung sorgfältig zu lesen - es spart Zeit später!

1. Systemanforderungen

Moodle wurde in Linux entwickelt und nutzt PHP, Apache und MySQL (auch als LAMP-Plattform bezeichnet). Es wurde getestet mit PostgreSQL und unter Windows XP und Mac OS X und Netware 6 Umgebungen.
Alles was Sie brauchen ist:

#

Web Server Software. Am häufigsten wird Apache, genutzt. Moodle sollte aber auch unter jedem anderen Web Server laufen, der PHP unterstützt, wie IIS auf Windows Plattformen.
  1. PHP Skript-Sprache (Version 4.1.0 oder jünger). PHP 5 wird ab der Version 1.4. von moodle unterstützt.
  2. einen funktionierenden Datenbankserver: MySQL oder PostgreSQL werden von moodle vollständig unterstützt.


Diese Voraussetzungen werden von den meisten Anbietern Webspace ohne Probleme erfüllt. Sollten Sie jedoch mit einem Hosting-Anbieter zusammen arbeiten, der diese Optionen nicht anbietet, fragen Sie warum und wechseln Sie ggfs. den Anbieter.
Wenn Sie moodle auf Ihrem eigenen Rechner betreiben wollen und Sie mit diesen Begriffen noch wenig anfangen können, dann finden Sie alle Informationen in unserem Leitfaden: Installation von Apache, MySQL und PHP. Er enthält Schritt-für-Schritt Anleitungen zur Installation auf den gängigsten Plattformen.
 

2. Downloaden, entpacken und an die richtige Stelle kopieren

Moodle liegt als komprimiertes Paket oder über CVS für Sie bereit. Detailerklärungen finden Sie auf der Downloadseite http://moodle.org/
Nach dem Download packen Sie das Archiv oder die CVS Dateien aus. Im neuen Verzeichnis quot;moodle" finden Sie eine Reihe von Dateien und Ordnern.
Sie können den gesamten Ordner in ein Dokumentenverzeichnis Ihres Webservers kopieren, dann finden Sie Moodle unter folgender Adresse http://yourwebserver.com/moodle, oder Sie kopieren alles direkt in das Hauptverzeichnis. Moodle finden Sie dann unter http://yourwebserver.com.
Wenn Sie moodle auf Ihren lokalen PC herunterladen und dann auf den Webserver hochladen, ist es am einfachsten, wenn Sie moodle als eine gepackte Datei herunterladen, auf den Server kopieren und dort entpacken. Ein web hosting interfaces wie Cpanel erlaubt Ihnen Archivpakete mit dem Dateimanager auf dem Server zu entpacken.

3. Verzeichnisstruktur

Verschaffen Sie sich ruhig einen Überblick über die verschiedenen Verzeichnisse von Moodle und ihren Inhalt:

*

config.php - enthält Grundeinstellungen für moodle. Diese Datei erstellen Sie selbst aus der Datei config-dist.php oder mit der automatischen Installationsroutine
  • install.php - erstellt automatisch die Datei config.php
  • version.php - beschreibt die gerade installierte Version von Moodle
  • index.php - die Startseite
  • admin/ - verwaltet die gesamte Anwendung
  • auth/ - Plugin Module um Anwender zu identifizieren
  • blocks/ - Plugin-Module für Blöcke uafden Kursseiten
  • calender/ - Kalender
  • course/ - Anzeige und Verwaltung der Kurse
  • doc/ - Hilfedateien für Moodle (z.B. diese Seite)
  • files/ - Anzeige und Verwaltung hochgeladener Dateien
  • lang/ - Texte in verschiedenen Sprachen
  • lib/ - Bibliotheken des Kerns von Moodle
  • login/ - Steuerung des Login und der Anmeldungen
  • mod/ - alle Moodle Kursmodule
  • pix/ - Grafische Gestaltung der Seiten
  • theme/ - Vorlagen für die visuelle Gestaltung der Seiten (Themes/Skins).
  • user/ - Anzeige und Verwaltung von Benutzern


4. Installationsskript zur Erstellung der config.php-Datei

Rufen Sie das Installationsskript (install.php) direkt auf, mit dem Webbrowser http://yourserver.de/install.php.
(Die Installationsroutine versucht einen cookie zu setzen. Wenn sch ein popup-Fenster öffnet müssen Sie den Cookie bestätigen!)
Moodle erkennt, dass eine Konfiguration erforderlich ist und führt Sie über mehrere Schritte durch die Erstellung der Konfigurationsdatei config.php. Am Ende versucht moodle die Datei an der richtigen Stelle abzuspeichern. Sollte dies nicht erfolgen, könenn sie die Datei config.php abspeichern und manuell in das Hauptverzeichnis von moodle auf dem Server kopieren.
Die Installationsroutine überprüft die Servereinstellungen und gibt bei Bedarf Empfehlungen zur Behebung von Problmen. Zumeist sollte es reibungslos ablaufen. Im folgenden finden Sie einige Informationen, falls der Ablauf stockt.

4.1 Die Web-Server Einstellungen überprüfen

Stellen Sie zunächst sicher, dass Ihr Webserver automatisch die Index.php Datei aufruft (evtl ergänzend zur index.html, default.htm etc).
In Apache erfolgt diese Einstellung in der httpd.conf Datei. Darin sollte z.B. folgender Text stehen:

DirectoryIndex index.php index.html index.htm

index.php muss in dieser Übersicht aufgeführt sein. Am besten steht es sogar ganz am Anfang der Liste.
Zweitens, Wenn Sie Apache 2 verwenden, dann sollte die Variable AcceptPathInfo on gestellt sein. Sie läsdt Argumente wie http://server/file.php/arg1/arg2 zu. Es ist wichtig relative Links zwischen Ressourcen zuzulassen und die Leistungssteigerung zu ermöglich. Sie können dies durch das Einfügen der der folgenden Zeile in die Datei httpd.conf file zulassen.

AcceptPathInfo on

Drittens: erfordert Moodle einige PHP-Einstellungen, damit es arbeiten kann. Zumeist sind diese bereits als Grundeinstellungen vorhanden. Einige PHP-Server (besonders solche mit älteren Versionen) müssen entsprechend eingestellt werden. Sie finden die Einstellungen in der PHP-Konfigurationsdatei (php.ini):

magic_quotes_gpc = 1 (erwünscht, nicht erforderlich) magic_quotes_runtime = 0 (erforderlich) file_uploads = 1 session.auto_start = 0 session.bug_compat_warn = 0

Wenn Sie keinen Zugriff auf die Dateien httpd.conf oder php.ini auf Ihrem Server haben, oder wenn andere Anwendungen andere Einstellungen erfordern, dann können sie die Einschreibungen überschreiben.
Erstellen Sie eine Datei mit Namen .htaccess im Hauptverzeichnis von Moodle mit der Definition der folgenden Einstellungen. Dies ist jedoch nur bei Apache Servern möglich und auch nur dann wenn das Überschreiben zulässig ist.

DirectoryIndex index.php index.html index.htm <IfDefine APACHE2>

    AcceptPathInfo on

</IfDefine>

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

Sie können nun auch die maximale Dateigröße festlegen, die hochgeladen werden darf:

LimitRequestBody 0 php_value upload_max_filesize 2M php_value post_max_size 2M

Am einfachsten kopieren Sie die Beispieldatei aus lib/htaccess und bearbeiten Sie nach Ihren Vorstellungen. Sie finden dort weitere Informationen. Rufen Sie in der Unix Shell folgenden Befehl auf:

cp lib/htaccess .htaccess

4.2 Eine Datenbank erstellen

Erstellen Sie nun eine leere Datenbank (z.B. "moodle") in Ihrem Datenbanksystem mit dem Nutzer (z.B. "moodleuser") der auf diese Datenbank zugreifen kann. Richten Sie in jedem Falle ein Passwort ein, wenn Sie einen Online-Server nutzen, damit niemand anderer auf Ihre Datenbank zugreifen kann.
Wenn Sie einen gehosteten Server verwenden, haben Sie evtl eine Oberfläche zur Einrichtung einer neuen Datenbank.
Das Cpanel System ist sehr verbreitet. In CPanel erstellen Sie mit den folgenden Schritten eine Datenbank,

#

Klick auf das "MySQL Databases" Icon.
  1. Eingabe von "moodle" in das Datenbankfeld und Klick auf "Datenbank hinzufügen".
  2. Nutzernamen und sicheres Passwort eingeben, das Sienicht noch an anderer Stelle verwenden, und Klick auf "Nutzer hinzufügen".
  3. Verwenden Sie jetzt den "Nutzer zur Dtaenbank hinzufügen" Button, damit der neue Nutzer Datenbankzugriff erhält "ALLE" Rechte für die neue Datenbank.
  4. Der Nutzername und der Datenbankname kann durch den Cpanel Account bereits vordefiniert sien. Wenn Sie diese Daten bei der moodle Installation angebern - verwenden Sie bitte den vollständigen Eintrag.


Aufruf für MySQL unter Unix(Beispiel):
  # mysql -u root -p
  > CREATE DATABASE moodle;
  > GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,INDEX,ALTER ON moodle.*
          TO moodleuser@localhost IDENTIFIED BY 'yourpassword';
  > quit
  # mysqladmin -p reload
Aufruf für PostgreSQL (Beispiel):
  # su - postgres
  > psql -c "create user moodleuser createdb;" template1
  > psql -c "create database moodle;" -U moodleuser template1
  > psql -c "alter user moodleuser nocreatedb;" template1
(Für MySQL empfehle ich den Gebrauch von phpMyAdmin zur Bearbeitung der Datenbank).
Ab der Version 1.0.8 unterstützt Moodle Vorzeichen für die Datenbanktabellen. Dadurch können Sie die gleiche Datenbank mit mehreren Moodle-Installationen oder anderen Webanwendungen nutzen.

4.3 Ein Datenverzeichnis erstellen

Moodle braucht nun etwas Speicherplatz für hochgeladene Dateien wie Kursdokumente und Nutzerbilder.
Das Installationsskript versucht ein solches Verzeichnis zu erstellen. Falls dies nicht gelingt, legen Sie ein solches Verzeichnis selber an. Erstellen Sie an einer beliebigen Stelle auf Ihrem Server für diesen Zweck ein Verzeichnis. Aus Sicherheitsgründen sollte dierses Verzeichnis NICHT für jedermann direkt übers Web zugreifbar sein. Am besten richten Sie es ausserhalb des Programmverzeichnisses ein, oder Sie schützen es mit Hilfe einer .htaccess-Datei mit folgendem Inhalt:

deny from all

Prüfen Sie ob Moodle in diesem Vezeichnis Dateien ablegen darf, indem Sie überprüfen, ob die WebServer Software (z.B. Apache) für dieses Verzeichnis Schreiberlaubnis hat. Auf Unix-Rechnern lautet die Einstellung für das Verzeichnis "nobody" oder "apache". Geben Sie den Nutzern die Rechte zum Schrreiben, Lesen und Ausführen.
Auf Cpanel Systemen können Sie den "Dateimanager" verwenden, um den Ordner zu finden und die "Zugriffsrechte anzupassen". Auf einigen gehosteten Servern müssen Sie die Zugriffsrechte für die Gruppe definieren, damit andere Nutzer Ihre Dateien nicht lesen oder verändern können.
Der Administrator für Ihren Server unterstützt Sie bei Problemen. Auf einihgen Servern ist die PHP-Einstellung "Safe Mode" erforderlich. Der Administrator wird diese Einstellung für Sie vornehmen.

5. Die Administrationsseite starten

Nachdem die Datei config.php angelegt wurde, wird nun die Adminseite aufgerufen, die Sie durch die weitere Konfiguration führt. Beim ersten Aufruf der Seite müssen Sie der GPL-Lizenzvereinbarung zustimmen bevor das Setup fortgesetzt wird.
Moodle richtet nun die Datenbank ein und erstellt die erforderlichen Tabellen in der Datenbank. Zuerst werden die Datenbanktabellen erstellt. Sie sehen auf dem Bildschirm eine Reihe von SQL-Meldungen und Bestätigungsmeldungen in roter oder grüner Schrift. Dies sieht in etwa so aus:
CREATE TABLE course ( id int(10) unsigned NOT NULL auto_increment, category int(10) unsigned NOT NULL default '0', password varchar(50) NOT NULL default , fullname varchar(254) NOT NULL default , shortname varchar(15) NOT NULL default , summary text NOT NULL, format tinyint(4) NOT NULL default '1', teacher varchar(100) NOT NULL default 'Teacher', startdate int(10) unsigned NOT NULL default '0', enddate int(10) unsigned NOT NULL default '0', timemodified int(10) unsigned NOT NULL default '0', PRIMARY KEY (id)) TYPE=MyISAM
SUCCESS
...und so weiter, gefolgt von: Main databases set up successfully.
Wenn Sie dies nicht angezeigt bekommen, besteht ein Problem mit der Datenbank oder den Einstellungen in der Konfigurationsdatei config.php. Prüfen Sie, ob PHP nicht im eingeschränkten "safe mode" läuft (Kommerzielle Webhoster aktivieren häufig den safe mode). Die PHP Variablen können Sie selber mit einer kleinen Datei mit folgendem Inhalt überprüfen: <? phpinfo() ?>. Speichern Sie die Datei in einen Webverzeichnis und rufen Sie sie mit dem Browser auf. Nun können Sie alle Einstellungen von PHP ablesen. Prüfen Sie diese Schritte und und versuchen Sie dann die Admin-Seite erneut aufzurufen.
Scrollen Sie nun bis zum Ende der Seite und drücken Sie den Button "Continue/Weiter" .
Danach sehen Sie eine Reihe von Anzeigen, die das Erstellen der Tabellen für die verschiedenen Module von Moodle bestätigen. Wie zuvor sollten alle Einträge grün sein.
Drücken Sie nun am Fuß der Seite wieder den "Continue/Weiter" Button.
Nun sehen Sie ein Formular mit dem Sie weitere Einstellungen an Ihrem Moodle vornehmen können, wie z.B. die voreingestellte Sprache, SMTP hosts und so weiter. Sie müssen nicht alle Einstellungen sofort vornehmen. Sie können die Einstellungen jederzeit im Administrationsmenu nachbearbeiten. Am Fuß der Seite finden Sie wieder einen Button "Ändern der Einstellungen/Save changes" Button.
Wenn (und wirklich nur dann) das Setup stecken bleibt, dann hat Ihr Server womöglich ein "buggy referrer" Problem. Dieses ist jedoch leicht zu beheben: Setzen Sie in der Datei config.php die Variable secureforms auf off und starten Sie die Adminseite erneut.
Als nächstes sehen Sie eine Vielzahl von Statusmeldungen von der Einrichtung der erforderliche Tabellen in der Datenbank für die verschiedenen moodle Module. Sie sollten - wie zuvor - in grüner Schrift bestätigt sein.
Scrollen Sie jeweils nach unten auf derSeite und bestätigen Sie den "Fortsetzen/Weiter" Link.
Auf der nächsten Seite legen Sie weitere Einstellungen Ihrer Seite fest (z.B. Name der Seite, Formate, Beschreibungen und so weiter). Füllen Sie alle Angaben aus (Änderungen können Sie jederzeit über das Administrationsmenu vornehmen) und klicken Sie auf "Änderungen bestätigen/Save changes".
Als letzten Schritt legen Sie die Zugangsdaten für den Administrator von Moodle fest. Tragen Sie Ihren eigenen Name, E-Mail etc. ein und klicken Sie auf "Änderungen bestätigen/Save changes". Nicht alle Felder müssen ausgefüllt werden. Falls Sie etwas vergessen haben, werden Sie automatisch daran erinnert.
Stellen Sie unbedingt sicher, dass Sie sich den Benutzernamen und das Passwort für den Administrationszugang merken. Er ist erforderlich für spätere Verwaltungen auf Moodle.

Wenn aus irgend einem Grund der Installationsprozess unterbrochen wurde bevor Sie die Zugangsdaten für den Admin erstellt haben, so können Sie den voreingestellten Adminzugang mit den Nutzernamen "admin", mit Passwort "admin" verwenden. ;.)

Wenn Sie diesen Schritt erfolgreich abgeschlossen haben, sehen Sie die Administrationsseite. In dem Menu (es wird, wenn Sie sich als Admin einloggen auch auf der Startseite angezeigt) können Sie alle weiteren Einstellungen an Ihrem Moodle vornehmen wie z.B.:

*

Erstellen und löschen von Kursen
  • Erstellen und bearbeiten von Nutzerzugängen
  • Verwaltung von Dozentenzugängen
  • Veränderungen von Einstellungen,die für die gesamte Seite gelten.


Die Installation ist jetzt noch nicht ganz abgeschlossen. Sie haben noch eine wichtige Sache zu erledigen (siehe nächster Abschnitt über cron jobs

6. Einen Cron-Job einrichten

Einige Module von Moodle prüfen regelmäßig, ob bestimmte Aufgaben ausgeführt werden müssen. Moodle überprüft z.B. ob es im Forum neue Einträge gibt, die per Email an Nutzer versandt werden müssen.
Das Skript, das all diese Vorgänge steuert, finden Sie im Admin-Verzeichnis und heißt cron.php. Diese Datei läuft nicht von alleine. Sie müssen einen Mechanismus einrichten, der die Datei z.B. alle fünf Minuten ausführt. Dazu ist es erforderlich, dass ein "Impuls" für jedes Modul ausgelöst wird.
Der Auslöser dieses Impulses muss nicht von dem Server erfolgen auf dem Moodle installiert ist.. Wenn Sie auf diesem Server keine Cron-Jobs ausführen können, kann dies von einem anderen Server ausgelöst oder von Ihrem PC gestartet werden. Es ist lediglich nötig, die Datei cron.php alle fünf Minuten aufzurufen.
Testen Sie zuerst, ob die Datei funktioniert. Rufen Sie sie mit Ihrem Browser auf:

http://example.com/moodle/admin/cron.php

Nehmen Sie nun einige Einstellungen vor:

Aufruf des Skripts von der Kommandozeile

Rufen Sie die Datei wie zuvor auf. Nehmen Sie dazu z.B. den Unix-Befehl 'wget':

wget -q -O /dev/null http://example.com/moodle/admin/cron.php

In diesem Beispiel wird das Ergebnis abgelegt (nach /dev/null).
Das gleiche mit lynx:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

Alternativ können Sie eine separate PHP-Version nutzen, die über die Kommandozeile gesteuert wird. Der Vorteil dieser Variante ist, dass in den Log-Dateien des Web-Servers der Aufruf von cron.php nicht ständig protokolliert wird. Der Nachteil dieser Variante besteht darin, dass Sie einen Zugang zur Kommando-Zeile der PHP-Version benötigen.

/opt/bin/php /web/moodle/admin/cron.php

(Windows) C:\apache\php\php.exe C:\apache\htdocs\moodle\admin\cron.php

Automatische Ausführung des Skripts alle 5 Minuten

Bei UNIX- Systemen: Use cron. Passen Sie ihre Einstellungen für Cron- Jobs über die Komandozeile mit folgendem Befehl an "crontab -e" und fügen Sie folgende Zeile hinzu:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Bei Windows-Systemen: Der einfachste Weg ist hier mein Programm zu benutzen, moodle-cron-for-windows.zip wodurch die Anpassungen ganz einfach sind. Sie können alternativ dazu, die in Windows enthaltene Funktion "Scheduled Tasks" benutzen.
Bei Web Hosting Services
Die Oberflächedes Web Host Services bietet Ihnen die Möglichkeit, einen Cron Job einzurichten. Z.B. Cpanel Systeme: Hier gibt es einen Button "Cron jobs". Geben Sie hier die folgenden Unix-Befehle ein.

Kommando-Zeile von Unix nutzen

Es gibt verschiedene Kommandozeilenprogramme, die Sie aufrufen können. Auf Ihrem Server sind vielleicht nicht alle verfügbar.
Z.B. das Unix-Utility 'wget':

wget -q -O /dev/null http://example.com/moodle/admin/cron.php

In diesem Beispiel wird das Ergebnis nicht aufgewahrt (to /dev/null).
Das gleiche unter lynx:

lynx -dump http://example.com/moodle/admin/cron.php > /dev/null

Alternativ können sie eine standalone version von PHP nutzen, die kompiliert in der Kommandozeile läuft. The advantage with doing this is that your web server logs aren't filled with constant requests to cron.php. The disadvantage is that you need to have access to a command-line version of php.

/opt/bin/php /web/moodle/admin/cron.php


Verwendung des crontab Programms auf Unix

All that Cpanel does is provide a web interface to a Unix utility known as crontab. If you have a command line, you can set up crontab yourself using the command:

crontab -e

and then adding one of the above commands like:

*/5 * * * * wget -q -O /dev/null http://example.com/moodle/admin/cron.php

Usually, the "crontab" command will put you into the 'vi' editor. You enter "insert mode" by pressing "i", then type in the line as above, then exit insert mode by pressing ESC. You save and exit by typing ":wq", or quit without saving using ":q!" (without the quotes).
 

7. Einen neuen Kurs anlegen

Wenn alle Einstellungen vorgenommen wurden, sollte diese Moodle-Seite einsatzfähig sein und Sie können einen Kurs erstellen.
Wählen Sie "Neuen Kurs anlegen" auf der Administrationsseite ( oder über den Link im Administrationsmenü auf der Hauptseite).
Legen Sie die Grundeinstellungen fest. Achten Sie dabei bitte besonders auf das Kursformat. Sie brauchen sich in dieser Stufe nicht zu intensiv mit den Details zu beschäftigen, da alle diese Einstellungen später durch den Trainer geändert werden können.
Über den Button "Änderungen speichern", gelangen sie auf eine neue Seite. Auf dieser Seite können Sie den Trainer für diesen Kurs zuweisen. Sie können nur Teilnehmer als Trainer zuweisen, die bereits einen Zugang zu diesem Moodle- System besitzen. Wenn ein neuer Trainerzugang eingerichtet werden soll, bitten Sie den Trainer sich selbst einen Zugang einzurichten ( Über die Anmeldeseite) oder erzeugen Sie einen neuen Zugang über das Administrationsmenü. Dort finden Sie den Link "Neuen Benutzer anlegen ".
Wenn dies erledigt ist, sind die Vorbereitungen abgeschlossen und der Kurs kann über den Link "Kurse" auf der Hauptseite weiter bearbeitet werden.
Lesen Sie das "Trainer Handbuch", um weitere Informationen zur Erstellung eines Kurses zu erhalten. Eine ausführliche Anleitung in deutscher Sprache finden Sie im Deutschen Trainerhandbuch und im Teilnehmerhandbuch Forum.