Handbuch:Wartungsskripte/Die Skripte ausführen
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.
$ ssh -V OpenSSH_8.6p1, LibreSSL 2.8.3
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:
$ ssh -p 22 root@examplewiki.com Welcome to Ubuntu 18.04.5 LTS (GNU/Linux 4.15.0-161-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Tue Feb 15 10:32:00 UTC 2022 System load: 0.0 Processes: 106 Usage of /: 29.8% of 24.06GB Users logged in: 0 Memory usage: 51% IP address for eth0: XXX.XXX.XXX.XXX Swap usage: 0% IP address for eth1: 10.116.0.2 Last login: Tue Feb 15 10:27:28 2022 from XX.XXX.XX.XXX root@-s-1vcpu:~#
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, dannApps
>Apps & Features
auswählen, anschließendOptional 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, dannInstall
anklicken.
- Den
Der SSH-Client wird nun auf dem System installiert. Nun kann mit PowerShell eine SSH-Verbindung zum Server hergestellt werden.
$ ssh -p 22 root@examplewiki.com
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
root@-s-1vcpu:~# cd /var/www/html/
Schritt 2: Ausführung des Skriptes
root@-s-1vcpu:/var/www/html# php maintenance/run.php showSiteStats Total edits : 11 Number of articles: 3 Total pages : 6 Number of users : 2 Active users : 0 Number of images : 0
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
maintenance/run.php
aufgerufen werden. Der direkte Aufruf von Wartungsskripten führt zu einer Warnung.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) |
MediaWiki-Installationen, die Symlinks nutzen
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.