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 77% 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/showSiteStats.php

Oder:

$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\showSiteStats.php
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 Zeige die Hilfenachricht an
--conf <path> Ort der LocalSettings.php falls nicht Standard (Das Elternverzeichnis des Skriptes)
--dbuser <username> Database account to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
--dbpass <password> Database password to use instead of the one specified in LocalSettings.php, not used for scripts that don't require a database connection or when SQLite database backend is used
--globals Output globals at the end of processing for debugging
--memory-limit <value> Set memory limit for the script. Accepts ordinary numbers, standard php.ini abbreviations (1024K, 20M, 1G), max for no limit (will be used by default if omitted) and default for no change. (eingeführt in 1.17)
--quiet Suppress non-error output
--wiki Wiki ID for wiki farms. This may be of the form dbname or dbname-prefix. LocalSettings.php will be run with the MW_DB and MW_PREFIX constants defined accordingly.
--profiler Profiler output format (usually "text"). (eingeführt in 1.22)
--mwdebug Enable built-in MediaWiki development settings. (eingeführt in 1.31)

MediaWiki installs that use symlinks

In cases where the MediaWiki PHP files are symlinked to a central installation, you will need to specify to the maintenance script the path of the LocalSettings.php file. For example:

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

MediaWiki installs that use shared settings (family type)

Sometimes MediaWiki is installed as a family for many languages and settings (LocalSettings.php) are split to common part and language parts (see Wiki family#Shared Settings ) where common part is located outside of /w directory and accessed using relative link (require_once "../ExtensionSettings.php";). In this case maintenance scripts will not work when running them in /w/maintenance directory. Run them from /w directory instead.

No shell access

On many shared hosts, you won't have shell access. The following extensions may be useful to run maintenance scripts via the web.