Scripts de maintenance
Les scripts de maintenance sont utilisés pour réaliser des tâches administratives variées, des importations, de la maintenance, extraire des rapports et faire les mises à jour. Les scripts sont écrits en PHP et sont rangés dans le sous-répertoire maintenance
des installations MediaWiki.
Il existe des dizaines de scripts avec différents niveaux d'utilité générale et de qualité. Vous devez lire soigneusement la document du script avant de l'utiliser; si un script n'a pas de documentation, prenez toutes vos précautions avant de l'utiliser.
Configuration
Les variables de configuration $wgDBadminuser
et $wgDBadminpassword
doivent être définies pour exécuter les scripts de maintenance qui doivent modifier la structure de la base de données (comme Manuel:Update.php ) si l'utilisateur configuré dans Manuel:$wgDBuser n'a pas assez de droits.
Par ailleurs, vous pouvez passez les paramètres --dbuser et --dbpass au script.
Les valeurs de ces variables diffèrent en fonction du moteur de base de données utilisé pour faire fonctionner votre installation MediaWiki.
Si non initialisé, va utiliser la valeur configurée de l'utilisateur dans Manuel:$wgDBuser .
MySQL
Certains des scripts de maintenance nécessitent des droits sur la base de données que, pour des raisons de sécurité, le compte principal de la base de données MediaWiki peut ne pas avoir.
Un compte séparé pour la base de données avec des privilèges de 'super-utilisateur' uniquement pour la base de données MediaWiki doit être créé (s'il n'existe pas déjà).
Si la base de données que vous utilisez pour MediaWiki s'appelle wikidb
, alors le SQL suivant va créer un tel utilisateur pouvant utiliser les privilèges de super-utilisateur sur localhost. :
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikidbadmin'@'localhost' IDENTIFIED BY 'strong-password';
Une fois que le compte existe, le nom du compte doit être initialisé dans la variable de configuration $wgDBadminuser
.
Comme les autres variables de configuration, $wgDBadminuser
doivent être initialisées dans LocalSettings.php .
Un mot de passe pour $wgDBadminuser
doit être défini dans la variable de configuration $wgDBadminpassword
.
PostgreSQL
PostgreSQL utilise un modèle différent de sécurité que MySQL et le même compte de serveur PostgreSQL utilisé pour les opérations quotidiennes sur l'installation MediaWiki doit aussi doit être utilisé pour lancer les scripts de maintenance.
Ceci est nécessaire pour s'assurer que le propriétaire des nouvelles tables créées par les scripts de maintenance est initialisé correctement.
Vous n'avez alors pas besoin de définir $wgDBadminuser
ni $wgDBadminpassword
.
Exécuter les scripts
Les scripts de maintenance doivent ensuite être lancés à parir de la ligne de commande. Les utilisateurs qui n'accèdent pas au serveur directement à partir de son terminal utiliseront habituellement une connection ssh. Pour les utilisateurs Linux/Unix cela se fait en utilisant le client ssh dans un shell. Pour les utilisateurs Windows, vous pouvez exécuter l'outil en ligne de commande SSH présent dans Windows 10 ou utiliser alternativement un outil tiers tel que PuTTY affiché ci-dessous ou encore utiliser Windows Subsystem pour Linux.
Program requis pour les utilisateurs Windows: PuTTY ou tout autre émulateur de terminal
- Etape 1: télécharger et exécuter PuTTY, un émulateur de terminal.

- Etape 2: dans PuTTy, sous Nom de l'hôte (ou adresse IP) mettre l'adresse IP de votre site web hôte (contactez votre fournisseur de site web si nécessaire) et cliquez sur Ouvrir.

- Etape 3: un écran de commande va apparaître. Sur la ligne Se connecter en tant que : entrez le nom d'utilisateur FTP.
- Etape 4: entrez le mot de passe FTP.
- Etape 5: modifiez le dossier actuel qu'il soit le sous-répertoire de maintenance. Vous pouvez entrer
pwd
pour voir où vous vous trouvez. Le répertoire de maintenance se trouve à la racine du dossier mediawiki.
$ cd maintenance
- Etape 6: exécutez le script de maintenance choisi :
$ php rebuildall.php
- Si vous obtenez une erreur (par exemple: php.exe n'est pas une apllication Win32 valide), essayez ce qui suit :
$ php-cgi rebuildall.php
- Sous Windows, la commande est :
$ C:\path\to\php\php-win.exe C:\path\to\mediawiki\maintenance\rebuildall.php
MW_INSTALL_PATH
pour qu'elle pointe à la racine de votre installation MediaWiki. Cela aidera les scripts à trouver les fichiers nécessaires, et est particulièrement important lorsque vous exécutez les scripts de maintenance fournis par les extensions tierces.
Options standards de la ligne de commande
Presque tous les scripts PHP dans /maintenance
prennent en charge plusieurs options standards :
- --help
- Affiche un message d'aide
- --conf <path>
- Emplacement de LocalSettings.php, si ce n'est pas la valeur par défaut (dans le répertoire parent du script)
- --dbuser <username>
- Compte de la base de données à utiliser à la place de celui spécifié dans LocalSettings.php, non utilisé pour les scripts qui n'ont pas besoin d'une connexion de base de données ou si vous utilisez le noyau de la base de données SQLite
- --dbpass <password>
- Mot de passe de la base de données à utiliser à la place de celui spécifié dans LocalSettings.php, non utilisé pour les scripts qui n'ont pas besoin d'une connexion de base de données ou si vous utilisez le noyau de la base de données SQLite
- --globals
- Génère les variables globales à l'issue du traitement à des fins de débogage
- --memory-limit <value>
- Définit les limies mémoire pour le script. Accepte les nombres ordinaires, les abbréviations standards de php.ini (1024K, 20M, 1G),
max
si aucune limite n'est imposée (utilisé par défaut si omis) etdefault
pour ne rien changer. (introduit dans 1.17) - --quiet
- Supprimer les sorties qui ne sont pas en faute
- --wiki <id>
- ID du wiki ID dans le cas des fermes de wikis. Peut être de la forme
dbname
oudbname-prefix
. LocalSettings.php sera exécuté avec les constantesMW_DB
etMW_PREFIX
définies en conséquence. - --profiler
- Format de sortie du profiler (habituellement « text »). (introduit dans 1.22)
- --mwdebug
- Activer les paramètres de développement MediaWiki intégrés. (introduit dans 1.31)
Installations MediaWiki utilisant les symlinks
Dans le cas où les fichiers php MediaWiki sont des liens (symlink) vers une installation centrale vous devrez préciser dans le script de maintenance le chemin du fichier LocalSettings.php. Par exemple :
php maintenance/importImages.php --conf /var/wwwdata/website.org/wiki/LocalSettings.php /tmp/wikiimages .jpg .png .svg
Sinon vous obtiendrez cette erreur :
A copy of your installation's LocalSettings.php must exist and be readable in the source directory.
Installations MediaWiki utilisant des paramètres partagés (de type famille)
Quelquefois, MediaWiki est installé comme une famille pour plusieurs langues et les paramètres (LocalSettings.php) sont partagés en une partie commune et une partie dépendant de la langue (voir Manual:Wiki family#Shared Settings ) où la partie commune est située en dehors du répertoire /w et accédée en utilisant un lien relatif (require_once "../ExtensionSettings.php";
).
Dans ce cas les scripts de maintenance ne fonctionneront pas s'ils sont lancés depuis le répertoire /w/maintenance .
Exécutez les plutôt à partir du répertoire /w :
$ php maintenance/rebuildall.php
Pas d'accès au shell
Sur beaucoup d'hôtes partagés, vous n'avez pas d'accès au shell. Les extensions suivantes peuvent être utiles pour exécuter des scripts de maintenance via le web: Maintenance and MaintenanceShell .
Liste des scripts de maintenance
A la place de cette liste probablement obsolète,
- Parcourir le dernier contenu du répertoire
maintenance
. - https://doc.wikimedia.org/mediawiki-core/master/php/ - Voir son résumé de documentation généré. (Fichiers > Liste de fichiers > maintenance dans les onglets ou la barre latérale gauche de navigation)
Voici la liste des fichiers inclus dans le sous-répertoire maintenance
situé à la racine d'une installation MediaWiki .
Vous pouvez contribuer à ce manuel en maintenant cette liste, en ajoutant une description spécifique sur l'utilisation de ces fichiers et comment un administrateur doit les utiliser (exemples de ligne de commande, etc.).
Soyez conscient que ceux-ci ont été créés et nommés sur une base adaptée et qu'ils peuvent présenter des problèmes d'utilisation . Veuillez ajouter ceux que vous relevez dans $1.
maintenance/
maintenance/archives
maintenance/benchmarks
- Benchmarker.php
- bench_HTTP_HTTPS.php
- bench_delete_truncate.php
- bench_if_switch.php
- bench_strtr_str_replace.php
- bench_utf8_title_check.php
- bench_wfBaseConvert.php
- bench_wfIsWindows.php
- benchmarkHooks.php
- benchmarkParse.php
- benchmarkPurge.php
maintenance/dev/includes
maintenance/language
- StatOutputs.php
- alltrans.php
- checkDupeMessages.php
- checkExtensions.php
- checkLanguage.inc
- checkLanguage.php
- countMessages.php
- date-formats.php
- digit2html.php
- dumpMessages.php
- generateCollationData.php
- generateNormalizerDataAr.php
- generateNormalizerDataMl.php
- langmemusage.php
- listVariants.php
- languages.inc
- transstat.php
maintenance/oracle
maintenance/storage
- checkStorage.php
- compressOld.php
- dumpRev.php
- moveToExternal.php
- orphanStats.php
- recompressTracked.php
- resolveStubs.php
- storageTypeStats.php
- testCompression.php
- trackBlobs.php