Manuel:Déplacer un wiki

From mediawiki.org
This page is a translated version of the page Manual:Moving a wiki and the translation is 100% complete.
Si vous cherchez simplement à déplacer votre wiki, par exemple de /var/www/html/ à /var/www/html/mywiki/, les instructions sont ici.

Cette page explique comment déplacer un wiki d'un serveur vers un autre. Ceci est souvent nécessaire lors du changement d'un serveur Web ou du domaine (ou les deux à la fois).

Le moyen le plus sûr de faire cela est d'avoir la même version de MediaWiki sur les deux wikis. Cependant, il est possible d'installer une version plus récente de MediaWiki sur le nouveau serveur et d'effectuer une mise à jour directement sur le nouveau serveur. En fait, cela peut être votre seule option si vous souhaitez mettre à jour votre wiki vers une nouvelle version qui a des exigences plus élevées que celles disponibles sur votre ancien serveur (comme la version php).

Les étapes sont essentiellement expliquées dans d'autres pages :

  1. Faites une sauvegarde de votre wiki.
  2. Transférez les sauvegardes de l'ancien serveur vers le nouveau.
  3. Restaurez la sauvegarde sur le nouveau serveur.
Avant de commencer à sauvegarder votre wiki, vous voudrez peut-être le mettre en mode lecture seule afin que personne ne puisse le modifier pendant que vous le déplacez. Si vous ne le faites pas, vous risquez de perdre les modifications, les téléversements, les journaux, etc. réalisés pendant le processus de migration. Pour ce faire, utilisez $wgReadOnly dans LocalSettings.php. Par exemple :
$wgReadOnly = 'Down for maintenance: access will be restored shortly';

Mise à jour du nouveau serveur

Si vous effectuez une mise à niveau vers une version plus récente de MediaWiki sur le nouveau serveur, au lieu de copier l'ancien répertoire et les extensions MediaWiki sur le nouveau serveur, vous devez suivre la procédure de mise à jour. Vous allez télécharger une nouvelle version de MediaWiki sur le nouveau serveur et de nouvelles versions des extensions que vous utilisez, correspondant à la nouvelle version de MediaWiki. N'oubliez pas d'exécuter le script de mise à jour.

Notes

  • Si l'URL a été modifiée (par exemple avec un nouveau nom de domaine), assurez-vous de metre à jour toutes ses références dans LocalSettings.php. Si vous utilisez VisualEditor, vous devrez mettre à jour également la configuration de Parsoid.
    • Les liens vers les pages en cache peuvent encore pointer vers l'ancien domaine. Pour effacer toutes les pages mises en cache avant cet instant, vous pouvez purger $wgCacheEpoch.
  • Si vous utilisez les téléversements, vérifiez que le répertoire upload/ a les droits en écriture pour le serveur web.
  • Assurez-vous aussi que les répertoires des extensions ont les droits d'accès appropriés (par exemple sous linux : chmod -R o=rx extensions)
  • Lors du transfert manuel d'un wiki, d'une plateforme Windows vers une plateforme Linux, la meilleure méthode est :
  1. installer manuellement MediaWiki sur la plateforme Linux à partir d'une archive tar comme indiqué dans Installation manuelle du Wiki (c'est à dire n'essayez pas d'utiliser l'installation automatique à partir d'un paquet)
  2. remplacer le répertoire MediaWiki nouvellement installé (par exemple /var/www/mediawiki...) sur votre machine Linux par le répertoire de base MediaWiki de votre machine Windows
  3. mettre à jour la base de données MySQL de votre machine Linux (par exemple wikidb) avec la base de données du wiki provenant de la machine Windows (c'est à dire utiliser la sauvegarde et les fonctions de restauration de mysql comme évoqué ci-dessus)
  • Après avoir importé la base de données d'un wiki, même si celle-ci est opérationnelle, quelques problèmes mineurs peuvent apparaître :
  1. Si vous deviez réparer Searchindex : dans phpMyAdmin, entrez "REPAIR TABLE wikidb.searchindex; " pour reconstruire l'index de recherche. wikidb est le nom de votre base de données.
  2. Le classement de certaines lignes a pu être modifié. Vérifiez-le avec la base de données d'origine.

Test

À ce stade, essayez d'utiliser le wiki du nouveau serveur. Connectez-vous en tant que sysop et qu'utilisateur régulier pour vérifiez que l'affichage, la création et l'édition des pages et le téléversement des fichiers fonctionnent toujours. Corrigez tous les problèmes signalés par PHP ou MediaWiki lui-même.

Vous pouvez faire tout le processus pour tester si le déplacement fonctionnera sans problème, avant de mettre l'ancien wiki en lecture seule. Une fois que vous savez que votre wiki fonctionne comme prévu sur le nouveau serveur, vous pouvez mettre votre ancien wiki en mode lecture seule et effectuer à nouveau le déplacement.

Problèmes fréquents

Fichiers inaccessibles après avoir modifié le domaine

La colonne md_deps de la table module_deps contient les chemins absolus des fichiers; ils sont utilisés pour localiser les images et les fichiers LESS desquels dépend le CSS. Ces chemins ne sont plus actuels dès que le wiki est par exemple déplacé dans un autre répertoire ou mis sur un autre serveur. Après avoir fait le transfert, des avertissements PHP peuvent apparaître disant que certains fichiers ne sont pas accessibles. Dans les versions actuelles de MediaWiki, ceci peut être résolu en exécutant update.php qui purge les caches.

Dans les versions d'avant MediaWiki 1.25 (qui n'implémentent pas phabricator:T37472), update.php ne supprime pas le contenu de la table module_deps. Pour ces versions, le contournement consiste à corriger manuellement les entrées erronées de la table module_deps :

-- mise à jour des entrées de la table module_deps
SET @old='wiki.old-domain.org';
SET @new='wiki.new-domain.org';

UPDATE `module_deps` SET `md_deps` = REPLACE( `md_deps`, @old, @new );

Cela peut être utilisé pour actualiser les segments erronés du chemin et corriger l'erreur.

Un problème similaire peut apparaître lorsque MediaWiki essaie de lire les messages du chargeur de ressources. Dans ce cas la solution est de tronquer les tables correspondantes :

-- tronquer les caches de messages
TRUNCATE TABLE `msg_resource`;
TRUNCATE TABLE `msg_resource_links`;

Voir aussi


Liens externes


Notes