Handbuch:Wartungsskripte/Die Skripte ausführen

This page is a translated version of the page Manual:Maintenance scripts/Running the scripts and the translation is 100% complete.

Die Wartungsskripte müssen derzeitig von der Kommandozeile ausgeführt werden. Benutzer, die den Server nicht direkt von seinen Terminal aus zugreifen, werden üblicherweise eine Verbindung über SSH herstellen.

  • Für Linux/Unix-Benutzer ist dies die Verwendung des SSH-Clients in einer Shell.
  • Windows-Nutzer können das mit Windows 10 eingeführte SSH Kommandozeilentool verwenden oder alternativ ein Fremdanbietertool wie z.B. PuTTY oder das Windows Subsystem für Linux.

Am Server anmelden

Linux/MacOS Nutzer

MacOS und die meisten Linux-Systeme verfügen über einen eingebauten SSH-Client. Somit wird kein weiterer SSH-Client benötigt. Das Vorhandensein eines SSH-Client kann mit Eingabe des folgenden Befehls in die Kommandozeile überprüft werden.

Terminal

Gibt dieser Befehl eine Fehlermeldung zurück, ist die Installation eines SSH-Clients notwendig.

Debian/Ubuntu - sudo apt install openssh-client

MacOS - brew install openssh

Ist ein SSH-Client vorhanden, erfolgt die Anmeldung am Server mit folgendem Befehl:

Terminal

Der voreingestellte Port für SSH ist 22 und der Benutzer ist root. Allerdings geben die Hosting Provider ihren Kunden den Benutzer und Port vor. Die Werte sind dann entsprechend anzupassen.

Nun kann das MediaWiki Wartungsskript auf dem Server ausgeführt werden.

Windows Nutzer

Für Windows-Nutzer gibt es zwei Wege zur Server-Anmeldung.

Nativer SSH-Client

Der SSH-Client kann in den Windows-Einstellungen installiert bzw. aktiviert werden. SSH wird dann nativ unterstützt. Siehe die Offizielle Dokumentation (englisch).

Um die OpenSSH-Komponente zu installieren:

  • Erst Settings öffnen, dann Apps > Apps & Features auswählen, anschließend Optional Features wählen.
  • Die Liste überprüfen, ob OpenSSH schon installiert ist, falls nicht am Seitenanfang Add a feature auswählen:
    • Den OpenSSH Client finden, dann Install anklicken.

Der SSH-Client wird nun auf dem System installiert. Nun kann mit PowerShell eine SSH-Verbindung zum Server hergestellt werden.

PowerShell

Der voreingestellte Port für SSH ist 22 und der Benutzer ist root. Allerdings geben die Hosting Provider ihren Kunden den Benutzer und Port vor. Die Werte sind dann entsprechend anzupassen.

Nun kann das MediaWiki Wartungsskript auf dem Server ausgeführt werden.

Putty (oder ein anderer SSH-Client)

Auf einem Windows-Rechner kann PuTTY oder ein anderer SSH-Client verwendet werden:

  • Schritt 1: PuTTY, oder einen andern Terminal Emulator herunterladen und ausführen.
  • Schritt 2: In PuTTy, unter Host Name (oder IP-Addresse) die IP-Addresse der Web-Hosting Site eingeben (ggf. den Web-Hoster kontaktieren) und auf Öffnen klicken.
  • Schritt 3: Es erscheint ein Kommandozeilenfenster. In der login as: Zeile den FTP Benutzernamen eingeben.
  • Schritt 4: Eingabe des FTP-Passworts.

Nun kann das MediaWiki Wartungsskript auf dem Server ausgeführt werden.

Ein Script ausführen

Nach der Anmeldung am Server (siehe "Am Server anmelden" oben) können die folgenden Schritte ausgeführt werden.

Schritt 1: Wechsel in den MediaWiki Wurzelordner. In den meisten Fällen wird dies /var/www/html sein

Terminal

Schritt 2: Ausführung des Skriptes

Terminal

Bei Nutzung eines Windows Servers und Erhalt einer Fehlermeldung (z.B.: php.exe is no valid Win32 application) empfiehlt sich folgendes:

$ php-cgi maintenance/run.php showSiteStats

Oder:

$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\run.php showSiteStats
Ab MediaWiki 1.40 sollten Wartungsskripte nur über maintenance/run.php aufgerufen werden. Der direkte Aufruf von Wartungsskripten führt zu einer Warnung.
Wenn der Aufruf fehlschlägt und viele Fehlermeldungen ausgibegeben werden, sollte als erstes die Umgebungsvariable MW_INSTALL_PATH so gesetzt werden, dass sie auf den Wurzelordner der MediaWiki Installation zeigt. Das hilft den Skripten die notwendigen Dateien zu finden und ist besonders wichtig, wenn Wartungsskripte für Erweiterungen von Drittanbietern verwendet werden.


Standard Kommandozeilen-Optionen

Fast alle PHP-Skripte in /maintenance unterstützen die Standard-Optionen:

Option Beschreibung
--help Zeigt die Hilfeoptionen an
--conf <path> Ort der LocalSettings.php falls nicht Standard (Das Elternverzeichnis des Skriptes)
--dbuser <username> Datenbankkonto, das anstelle des in LocalSettings.php angegebenen Kontos verwendet werden soll. Wird nicht für Skripte verwendet, die keine Datenbankverbindung erfordern, oder wenn das SQLite-Datenbank-Backend verwendet wird.
--dbpass <password> Datenbankpasswort, das anstelle des in LocalSettings.php angegebenen Passworts verwendet werden soll. Wird nicht für Skripte verwendet, die keine Datenbankverbindung benötigen, oder wenn das SQLite-Datenbank-Backend verwendet wird.
--globals Ausgabe von Globals am Ende der Verarbeitung zur Fehlersuche
--memory-limit <value> Legt das Speicherlimit für das Skript fest. Akzeptiert normale Zahlen, die Standardabkürzungen php.ini (1024K, 20M, 1G), max für kein Limit (wird standardmäßig verwendet, wenn nichts angegeben wird) und default für keine Änderung. (eingeführt in 1.17)
--quiet Unterdrückt die Ausgabe von Meldungen, die keine Fehler sind
--wiki Wiki ID für Wikifarmen. Diese kann die Form dbname oder dbname-prefix haben. LocalSettings.php wird mit den entsprechend definierten Konstanten MW_DB und MW_PREFIX ausgeführt.
--profiler Profiler-Ausgabeformat (normalerweise text). (eingeführt in 1.22)
--mwdebug Aktiviert die integrierten Einstellungen für die MediaWiki-Entwicklung. (eingeführt in 1.31)

In Fällen, in denen die MediaWiki-PHP-Dateien über Symlinks mit einer zentralen Installation verbunden sind, müssen Sie dem Wartungsskript den Pfad der Datei LocalSettings.php angeben. Zum Beispiel:

php maintenance/importImages.php --conf /var/www/html/LocalSettings.php /tmp/wikiimages .jpg .png .svg

MediaWiki-Installationen, die gemeinsame Einstellungen verwenden (Familientyp)

Manchmal wird MediaWiki als Familie für viele Sprachen installiert und die Einstellungen (LocalSettings.php) werden in einen gemeinsamen Teil und einen Sprachteil aufgeteilt (siehe Wikifamilie#Gemeinsame Einstellungen ), wobei der gemeinsame Teil außerhalb des Verzeichnisses /w liegt und über einen relativen Link (require_once "../ExtensionSettings.php";) zugänglich ist. In diesem Fall werden die Wartungsskripte nicht funktionieren, wenn sie im Verzeichnis /w/maintenance ausgeführt werden. Führen Sie sie stattdessen im Verzeichnis /w aus.

Kein Zugriff auf die Shell

Auf vielen Shared-Hosts werden Sie keinen Shell-Zugang haben. Die folgenden Erweiterungen können für die Ausführung von Wartungsskripten über das Web nützlich sein.