Administration über Kommandozeile: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 7: | Zeile 7: | ||
$ sudo -u apache /usr/bin/php admin/cli/somescript.php --params | $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params | ||
Die meisten Skripte akzeptieren den | Die meisten Skripte akzeptieren den üblichen Hilfe-Parameter --help (oder -h), um detaillierte Informationen anzuzeigen, z.B.: | ||
$ sudo -u apache /usr/bin/php admin/cli/install.php --help | $ sudo -u apache /usr/bin/php admin/cli/install.php --help | ||
Zeile 28: | Zeile 28: | ||
== Offline-Modus == | == Offline-Modus == | ||
In | In manchen Situationen möchten Sie Ihre Moodle-Site vielleicht in den Offline-Modus schalten, so dass sie nicht über das Internet erreichbar ist, können jedoch nicht den Webserver komplett abschalten (weil andere Webseiten oder Webapplikationen ebenfalls über den Webserver laufen). Wenn es im Hauptverzeichnis des Moodle-Datenverzeichnisses eine Datei ''climaintenance.html'' gibt, dann zeigt Moodle automatisch den Inhalt dieser Seite anstelle jeder anderen Moodle-Seite an. | ||
$ cd /var/www/sites/moodle/moodledata/ | $ cd /var/www/sites/moodle/moodledata/ | ||
$ echo '<h1> | $ echo '<h1>Entschuldigung, es laufen Wartungsarbeiten</h1>' > climaintenance.html | ||
Sie können auch eine geeignete HTML-Seite erstellen, die Ihre Nutzer/innen darüber informiert, dass der Moodle-Server nicht erreichbar ist. Sie können diese Datei z.B. ''climaintenance.off'' nennen und im Hauptverzeichnis des Moodle-Datenverzeichnisses speichern. Bei Bedarf können Sie diese Datei dann einfach umbenennen in ''climaintenance.html''. | |||
== Aktualisierung über Kommandozeile == | == Aktualisierung über Kommandozeile == |
Version vom 31. Juli 2012, 09:01 Uhr
Diese Seite ist noch nicht vollständig übersetzt.
Wenn Sie Shell-Zugriff auf Ihren Webserver haben, dann können Sie verschiedene CLI (command line interface) Skripte für die Administration von Moodle nutzen. Alle CLI-Skripte liegen im Verzeichnis moodle/admin/cli. Um Probleme mit der Zugriffskontrolle zu vermeiden, sollten Sie diese Skripte als Webserver-Nutzer ausführen bzw. als der Nutzer, dem der Webserver-Prozess gehört. Das ist besonders wichtig bei der Ausführung der Installations- und Aktualisierungsskripte, da diese Skripte neue Dateien im Moodle-Datenverzeichnis anlegen und der Webserver Schreibzugriff auf diese Dateien benötigt. In Linux-Distributionen heißt der Webserver-Nutzer apache
oder wwrun
oder httpd
o.ä. Als root können Sie die Skripte wie folgt aufrufen:
$ cd /Pfad/zum/Moodle-Verzeichnis $ sudo -u apache /usr/bin/php admin/cli/somescript.php --params
Die meisten Skripte akzeptieren den üblichen Hilfe-Parameter --help (oder -h), um detaillierte Informationen anzuzeigen, z.B.:
$ sudo -u apache /usr/bin/php admin/cli/install.php --help
Installation von Kommandozeile
Seit der Version 2.0 kann Moodle von Kommandozeile aus installiert werden. Es gibt zwei Installationsmodi: Im interaktiven Modus fragt das Skript alle Daten ab, die benötigt werden, um die Moodle-Site korrekt aufzusetzen. Im nichtn-interaktiven Modus müssen Sie alle Daten als Parameter beim Skriptaufruf angeben, dann wird die Moodle-Site ohne weitere Abfragen installiert. Die Parameter können auch beim Aufruf des Skript im interaktiven Modus angegeben werden, dann werden diese Daten als Voreinstellungen bei der Abfrage verwendet.
$ sudo -u apache /usr/bin/php admin/cli/install.php --lang=cs
Wartungsmodus
Um die Moodle-Site über Kommandozeile in den Wartungsmodus zu schalten, können Sie das folgende CLI-Skript verwenden:
$ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable
Um den Wartungsmodus wieder auszuschalten, verwenden Sie denselben Aufruf, aber mit dem Parameter --disable.
Offline-Modus
In manchen Situationen möchten Sie Ihre Moodle-Site vielleicht in den Offline-Modus schalten, so dass sie nicht über das Internet erreichbar ist, können jedoch nicht den Webserver komplett abschalten (weil andere Webseiten oder Webapplikationen ebenfalls über den Webserver laufen). Wenn es im Hauptverzeichnis des Moodle-Datenverzeichnisses eine Datei climaintenance.html gibt, dann zeigt Moodle automatisch den Inhalt dieser Seite anstelle jeder anderen Moodle-Seite an.
$ cd /var/www/sites/moodle/moodledata/ $ echo '<h1>Entschuldigung, es laufen Wartungsarbeiten</h1>' > climaintenance.html
Sie können auch eine geeignete HTML-Seite erstellen, die Ihre Nutzer/innen darüber informiert, dass der Moodle-Server nicht erreichbar ist. Sie können diese Datei z.B. climaintenance.off nennen und im Hauptverzeichnis des Moodle-Datenverzeichnisses speichern. Bei Bedarf können Sie diese Datei dann einfach umbenennen in climaintenance.html.
Aktualisierung über Kommandozeile
Moodle can be upgraded from the command line. As with the installation script, there is either interactive or non-interactive mode of the upgrade. The script itself does not put the site into the maintenance mode, you have to do it on your own. Also, the script does not backup any data (if you read this page, you probably have some own scripts to backup your moodledata and the database, right?)
$ sudo -u apache /usr/bin/php admin/cli/upgrade.php --non-interactive
Upgrading via command line is a very comfortable way of Moodle upgrade if you use CVS or git checkout of the Moodle source code. See the following procedure how to upgrade your site within several seconds to the most recent version while preserving your eventual local customizations tracked in git repository:
$ cd /var/www/sites/moodle/htdocs/ $ git fetch $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --enable $ git merge origin/cvshead $ sudo -u apache /usr/bin/php admin/cli/upgrade.php $ sudo -u apache /usr/bin/php admin/cli/maintenance.php --disable
Probleme bei der Aktualisierung über Kommandozeile
if your config.php contains information about several moodle instances (distinct moodle websites and databases sharing the same codebase), then this script will silently fail
The solution is to temporarily eliminate from config.php all but the one instance you want to upgrade
If this is a problem for the other instances (production sites), then modify the cli script to point to a copy of config.php (which will be the one edited to contain only one moodle instance at a time)
Angepasste Site-Einstellungen
During the install and upgrade via CLI, Moodle sets the administration variables to the default values. You can use different defaults. See MDL-17850 for details. Shortly, all you need to do is to add a file local/defaults.php
into your Moodle installation. The format of the file is like
<?php
$defaults['pluginname']['settingname'] = 'settingvalue'; // for plugins
$defaults['moodle']['settingname'] = 'settingvalue'; // for core settings
These defaults are used during install, upgrade and are also displayed as defaults at the Site administration pages.
Nutzer-Kennwort neu setzen
If you happen to forget your admin password (or you want to set a password for any other user of your Moodle system), you can use reset_password.php script. The script sets the correctly salted password for the given user.
$ sudo -u apache /usr/bin/php admin/cli/reset_password.php
MySQL Storage Engine Konvertierung
If you run your Moodle site with MySQL database backend and use the default MyISAM as the storage engine for your tables, you may want to convert them to use some more reliable engine like InnoDB (actually, you should want to switch to PostgreSQL ;-) anyway).
$ sudo -u apache /usr/bin/php admin/cli/mysql_engine.php --engine=InnoDB
Cron von Kommandozeile ausführen
In versions 1.x, you could execute admin/cron.php either from command line or via the web. Since Moodle 2.0, only admin/cli/cron.php script can be run via command line.