User:Serpicozaure/MAJ brouillon tuto Ubuntu

Introduction

edit

Cette page décrit, de la façon la plus détaillée possible, la procédure à mettre en oeuvre pour installer sur votre ordinateur personnel une version locale d'un site de la fondation wikimedia, ce qui permet de consulter le-dit site sans être connecter à Internet.

Pour ouvrir un terminal

edit

Méthode console

edit

Méthode graphique

edit

Préambule

edit

Pour les besoins de l'exemple certains paramètres se verront attribué une valeur, cependant il est évident que ces mêmes paramètres doivent et/ou peuvent avoir une valeur différente sur votre propre ordinateur, dans un soucis de clarté et de compréhension, ces paramètres sont repris ici :

  • wikidb est nom de la base de données MySQL utilisé pour l'exemple
  • user est le nom d'utilisateur MySQL utilisé pour l'exemple
  • userpasswrd est le mot de passe, défini pour l'exemple, de l'utilisateur user
  • admin est le nom de l'administrateur MySQL utilisé pour l'exemple
  • adminpasswrd est le mot de passe, défini pour l'exemple, de l'administrateur admin
  • http://adresse_IP_du_serveur/wiki l'expression adresse_IP_du_serveur remplace l'adresse IP de l'ordinateur sur lequel vous effectuez l'installation, pour connaître cette valeur, ouvrez un terminal et tappez la commande suivante :
ifconfig

la valeur de l'IP est renvoyée.

Tout au long de cette page à chaque fois que l'on fera référence à adresse_IP_du_serveur il faudra donc saisir la valeur de l'IP renvoyée par la commande ifconfig


  • VOTRE wiki local

Etape par Etape

edit

Installer le serveur LAMP

edit

Pour installer le serveur LAMP il est possible de se reporter à l'excellent tutoriel disponible ici , après avoir suivi ce tutoriel les différents composants nécessaires seront installés notamment :

  • Apache2 (2.0.55-4ubuntu2) ;
  • Mysql-5.0 (5.0.21-3ubuntu1) ;
  • PHP5 (5.1.2-1ubuntu3) ;
  • PhpMyAdmin (4:2.8.0.3-1) ;
  • et divers modules pour PHP 5.

Étant précisé que la version des dits logiciels peut évoluer.

Créer la base de donnée pour le Wiki

edit

dans cet exemple le nom de la base de donnée sera wikidb

Ouvrir un terminal en root puis tapper la commande suivante  :

mysql -u root -p

afin d'obtenir l'invite de commande mysql>


on vous demande l'un des mots de passe,que vous avez définis à l'étape 2.6 Configurer Mediawiki tapper donc soit userpaswrd si vous vous connectez en tant que user ou tapper adminpasswrd si vous vous connectez en tant qu' admin

puis tapper :


create database wikidb;

cette commande créera la base de donnée wikidb

grant create,select,insert,update,delete,lock tables on wikidb.* to user@localhost identified by 'userpasswd';

cette commande accordera un certain nombre de droits de modification de la base de données à l'utilisateur user indentifié par le mot de passe userpasswrd.

grant all on wikidb.* to admin@localhost identified by 'adminpasswd';

cette commande accordera tous les droits de modification de la base de données à l'utilisateur admin indentifié par le mot de passe adminpasswrd.


pour quitter l'inferface MySQL tappez la commande suivante

quit;

Obtenir la plus récente version de MediaWiki

edit

Pour obtenir la plus récente version du logiciel MediaWiki depuis MediaWiki la page internet de SourceForge :

Dans un terminal, siasir la commande suivante :

cd /var/www

la commande ci-dessus permet de placer l'archive téléchargée directement dans le bon répertoire du serveur Apache

sudo wgetdownload:mediawiki/1.9/mediawiki-1.9.1.tar.gz

Une fois télécharger, il faut extraire les fichiers, pour cela, ouvrir un terminal et tapper les commandes suivantes :

sudo tar vxfz mediawiki-1.9.1.tar.gz

Renommer le répertoire extrait, le nouveau nom sera dans cet exemple wiki, en ouvrant un terminal et en tappant la commande suivante :

sudo mv mediawiki-1.9.1 wiki

Pour configurer le wiki il faut autoriser l'écriture du sous-répertoire config par le serveur,en tappant dans un terminal la commande suivante :

cd /var/www/wiki
sudo chmod a+w config

Configurer Mediawiki

edit

Dans la barre d'adresse de votre navigateur internet tapper l'adresse suivante http://localhost/wiki ou cette adresse http://adresse_IP_du_serveur/wiki[1] et appuyez sur entrée , une page apparaît avec le logo MediaWiki ( une fleur de tournesol , au dessous la version du logiciel MediaWiki téléchargé , dans notre cas, 1.9.1, puis un lien set up the wiki , cliquez sur le lien et suivez le processus d'installation :

    • donner un nom à votre wiki, dans le champ Wiki name dans notre cas Wiktionnaire
    • le champ contact e-mail est à laisser tel quel
    • le champ language dans notre exemple fr - Français
    • définir une licence ;
    • le champ Admin username dans notre exemple tappez Admin ;
    • le champ Admin password dans notre exemple tappez adminpasswd
    • le champ Password confirm dans notre exemple tappez adminpasswd
    • verifiez que dans le champ Database name soit bien inscrit wikidb
    • le champ DB username dans notre exemple tappez root
    • le champ DB password dans notre exemple tappez mdp
    • le champ DB password confirm dans notre exemple tappez mdp
    • il n'est pas nécessaire de remplir les autres cases.
  • Lancez l'installation en cliquant sur Install.

Déplacez le fichier /var/www/wiki /config/LocalSetting.php dans /var/www/wiki/LocalSettings.php, en saisissant la commande suivante dans un terminal :

cd /var/www/wiki/config/
sudo mv LocalSettings.php ..

Puis pour supprimer le répertoire /www/var/wiki/config qui ne sert plus à rien, tappez dans le même terminal les commandes suivantes :

cd ..
sudo rm -rf config  

Fermer ensuite le terminal


Ensuite retourner à votre navigateur internet, à la page de configuration de MediaWiki et, en bas de cette page, cliquez sur le lien (this link)

Voila votre Wiki!!!

Téléchargement et installation du Dump d'une base de données de la fondation Wikimedia

edit

Une des utilisations de votre nouveau wiki est d'avoir accès à une version sauvegardée de n'importe quel site de la fondation Wikimédia, donc de pouvoir consulter ce site sans être connecté à internet.

Pour télécharger et installer ce Dump procédez comme suit :

Configuration MySQL

edit

Configurez le serveur en ouvrant le fichier /etc/mysql/my.cnf dans un éditeur de texte, comme suit :

dans un terminal tappez la commande suivante :

sudo gedit /etc/mysql/my.cnf

NB : en fonction de la version d'Ubuntu, et donc de l'éditeur de texte que vous utilisez, la commande peut changer exemple :

Pour Ubuntu tappez :

sudo gedit /etc/mysql/my.cnf

Pour Kubuntu tappez :

sudo kate /etc/mysql/my.cnf

Pour Xubuntu tappez :

sudo mousepad /etc/mysql/my.cnf


Une fois le fichier ouvert dans l'éditeur de texte, recherchez la variable suivante ( elle apparaît deux fois dans le fichier ) :

max_allowed_packet = 16M

changez sa valeur pour obtenir :

max_allowed_packet = 128M

Modifiez également la partie suivante du fichier :

[mysqldump]
quick
quote-names
max_allowed_packet	= 16M
[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition

Pour obtenir ceci :

[mysqldump]
quick
quote-names
max_allowed_packet	 = 128M
innodb_log_file_size    = 100M
[mysql]
#no-auto-rehash	# faster start of mysql but no tab completition
  • Enregistrez le fichier et quitter l'éditeur.
  • Redémarrez le serveur en ouvrant un terminal et en tappant la commande suivante :
sudo /etc/init.d/mysql restart

  • Effacer certaines des tables de la base de données, établies par défaut lors de l'installation en tappant dans un terminal les commandes suivantes :
  • La commande ci-dessous permet d'obtenir le prompt MySQL et indique que l'on travaillera sur la base de données wikidb si le nom de votre base de données est différent, remplacez wikidb par le nom qui correspond
mysql -u root -p wikidb
  • Le mot de passe demandé est celui de la base de données, défini plus haut, dans notre cas le mot de passe est :

mdp

  • Le prompt MySQL ( mysql> ) apparaît :
  • Saisissez alors les commandes suivantes :


set sql_log_bin=0;

Puis

delete from page;

Puis

delete from revision;

Puis

delete from text;

Les trois dernières commandes ci-dessus, permettent de supprimer les tables par défaut crées à l'initialisation de la base de données.


pour quitter l'inferface MySQL tappez la commande suivante

quit;

Téléchargement du Dump principal

edit

il comporte les tables blabla, blabla et bla.

Ouvrez la page https://dumps.wikimedia.org/ dans votre navigateur internet, choisir ensuite Database backup dumps, apparait alors une page ou l'on trouve des liens menants aux dumps de chacun des projets de la fondation Wikimedia, pour notre exemple on choisira celui du Wiktionnaire en français datant du 11 Février 2007.

Pour télécharger cette archive tappez les commandes suivantes dans un terminal :

cd /home
sudo wget download:frwiktionary/20070211/frwiktionary-20070211-pages-meta-current.xml.bz2

Cette archive comprend uniquement la version actuelle de chaque page, sans l'historique, sans page de discussion, ni page utilisateur.

La taille du fichier compressé est d'environ 25 Mo.

Téléchargement et installation de MWDumper

edit

Ceci nécessite d'installer Java runtime environment, pour ça, ouvrez un terminal et tappez la commande suivante:

sudo gedit /etc/apt/sources.list

NB : en fonction de la version d'Ubuntu, et donc de l'éditeur de texte que vous utilisez, la commande peut changer exemple :

Pour Ubuntu tappez :

sudo gedit /etc/apt/sources.list

Pour Kubuntu tappez :

sudo kate /etc/apt/sources.list

Pour Xubuntu tappez :

sudo mousepad /etc/apt/sources.list

Trouver les lignes suivantes :

#deb http://fr.archive.ubuntu.com/ubuntu/ edgy universe
#deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy universe

Ajoutez "multiverse" à la fin des deux lignes et supprimer le # situé en début de ligne, vous devez obtenir ceci  :

deb http://fr.archive.ubuntu.com/ubuntu/ edgy universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ edgy universe multiverse

Enregistrer le fichier et quitter l'éditeur de texte

Pour télécharger et installer Java Run Time Envirronement, ouvrez un terminal, et tapper les commandes suivantes :


cd /home
sudo apt-get update
sudo apt-get install sun-java5-bin

Un message s'affiche dans le terminal par vous demander si vous acceptez le téléchargement des paquets nécessaires , tappez O , puis sur la touche Entrée du clavier pour valider votre choix.

Une fenêtre s'ouvre ensuite, présentant la license de java , à l'aide des flêches directionnelles du clavier descendez en bas de la fenêtre puis, avec la flêche de droite, selectionnez Ok et appuyez sur entrée.

dans le même terminal , tappez :

sudo wgetdownload:tools/mwdumper.jar

La dernière ligne permet de télécharger l'outil MWDumper que l'on utilise pour envoyer le Dump dans MySQL.

Importation du Dump principal dans la base de données MySQL

edit

Une fois le téléchargement du Dump principal terminé , ouvrez un terminal et tappez la commande suivante :

java -Xmx200M -server -jar mwdumper.jar --format=sql:1.5 /chemin_complet_de_l'archive/frwiktionary-20070211-pages-meta-current.xml.bz2 | mysql -u root -p wikidb

on vous demande un mot de passe, il s'agit du mot de passe de l'utilisateur root de la base de données MySQL, soit dans notre cas mdp.

!!! Attention assurez-vous de bien copier la totalité de la ligne de commande ci-dessus ( jusqu'à wikidb ) et vérifier particulèrement l'exactitude du chemin d'accès au dump que vous avez téléchargé à l'étape 3.2 Téléchargement du Dump principal ( voir plus haut) !!!.

Ceci lancera l'import, dans la base de données MySQL wikidb, des tables contenues dans l'archive téléchargée. La durée de l'import est variable en fonction de la puissance de votre ordinateur et de la taille des tables à importer.

Tant que le prompt ne réapparait pas au bas du terminal c'est que l'import n'est pas terminé, veillez bien à attendre le retour du prompt afin de réaliser totalement l'import.


Pour plus d'informations concernant la syntaxe des commandes de l'outils MwDumper voir MWDumper

Téléchargement des autres tables SQL

edit

Il faut également télécharger les fichiers compressés suivants :

Puis décompresser les fichiers

Importation des autres tables SQL dans la base de données

edit

dans un terminal tapper la commande suivante :

mysql -u root -p;

pour obtenir l'invite de commande mysql>, on vous demandera un mot de passe, il s'agit du mot de passe de l'utilisateur root de la base de données MySQL, soit dans notre cas mdp.


pour selectionner la base de donnée adéquate, dans notre exemple wikidb, tapper la commande suivante :

USE wikidb;

puis tapper :

SOURCE nom_du_fichier_wikimedia.sql;

pour importer la table

Vérification de l'intégrité des tables importées

edit

Une fois les tables importées, il est bon de vérifier qu'elles ne comportent pas d'erreurs pour ce faire, tappez la commande suivante :

mysqlcheck -u root -p wikidb

On vous demandera un mot de passe, il s'agit du mot de passe de l'utilisateur root de la base de données MySQL, soit dans notre cas mdp.

Si certaines tables comportent des erreurs tappez les commandes suivantes dans un terminal :

sudo /etc/init.d/mysql stop 

puis

sudo myisamchk -r -q /var/lib/mysql/wikidb/pagelinks.MYI

en remplaçant pagelinks.MYI par le nom de la table qui comporte des erreurs

puis

sudo /etc/init.d/mysql start

Rajout dans LocalSettings.php

edit
#pour désactiver la capitale automatique de la première lettre mettre à faux 
$wgCapitalLinks = false;

Modèles et catégories manquants

edit

après que toute les tables aient été importées dans la base de données certaines pages, essentiellement des modèles et des catégories apparaissent en lien rouge lorsque l'on consulte le wiki, ces pages n'existent pas et comme leur contenu à une incidence sur le fonctionnement du wiki.

Pour restaurer ces pages, modèles ou catégories, il existe deux méthodes:

Utiliser les pages Special:Export et Special:Import du logiciel MediaWiki, c'est la méthode la plus rapide mais pour une raison inconnue il semble que, parfois, seul le titre de la page est exporté et pas son contenu, la page apparait alors en bleu, mais comme son contenu est vide , cela ne résout pas le problème. Dans ce cas il faut effectuer un copier/coller du code wiki de ces pages.

Pour ceci, il faut afficher le contenu de la page disponible via internet , copié le code wiki de la page dans un fichier texte puis, collé le code wiki dans la page du même nom mais cette fois dans VOTRE wiki local.

Modèles manquants

edit

Pour obtenir une liste complète des modèles manquants dans VOTRE wiki local il faut se rendre à http://adresse_IP_du_serveur/wiki/Special:specialpages puis à http://adresse_IP_du_serveur/wiki/Special:Wantedpages, en affichant les pages par groupe de 500, la liste de toute les pages manquantes apparait, dans notre exemple 102 pages apparaissent en liens rouges.

Catégories manquantes

edit

Pour obtenir une liste complète des catégories manquantes de VOTRE wiki local il faut se rendre à http://adresse_IP_du_serveur/wiki/Special:specialpages puis à http://adresse_IP_du_serveur/wiki/Special:Wantedcategories, en affichant les pages par groupe de 500, la liste de toutes les catégories manquantes apparait, dans notre exemple 227 catégories apparaissent en liens rouges.

Dans notre cas les 20 premières pages manquantes de la liste sont :

  • Modèle:!
  • Modèle:Show1
  • Annexe:Mots nouveaux en russe en Д
  • Hébreu ancien
  • Р
  • Ы
  • Annexe:Mots nouveaux en russe en Р
  • Modèle:Fr-accord-mixte/Aide
  • Annexe:Mots nouveaux en russe en Ю
  • Ж
  • Annexe:Mots nouveaux en russe en Е
  • С
  • Ь
  • Annexe:Mots nouveaux en russe en С
  • Wikipédia:Modèles
  • Modèle:Pron/Aide
  • Annexe:Mots nouveaux en russe en Я
  • З
  • Annexe:Mots nouveaux en russe en Ж
  • Mure

Méthode 1: Utilisation de Special:Export et Special:Import

edit

allez à wikt:fr:Special:Export c'est la page d'export du site internet du wiktionnaire, dans la fenêtre qui apparaît copiez la liste des 20 premières pages qui manquent à VOTRE wiki local , après les avoir " nettoyées " pour qu'elles correspondent au format requis.

Soi par exemple :

  • Modèle:! ‎(5 liens)

doit devenir

  • Modèle:!


exportez, vous obtenez une page de code XML correspondant aux contenu des pages demandées, enregistrez cette page de code XML grâce à la commande Enregistrer sous... de votre navigateur internet.

puis depuis VOTRE wiki local aller à la page http://adresse_IP_du_serveur/wiki/Special:Import et importer le fichier XML contenant les 20 pages que vous venez d'exporter,

Une fois l'import effectué, ouvrez les pages que vous venez d'importé une à une pour vérifier que le contenu est bien présent, dans le cas ou à la suite de l'export le contenu de la page de votre wiki est vide il faut utilisé là deuxième méthode.

Voir aussi

edit

m:Aide:Import

m:Aide:Export

Méthode 2: Copier/Coller du code brut des pages manquantes et/ou vides

edit

Allez à la page d'accueil du site wikimedia source soit dans notre exemple le Wiktionnaire, dans la fenêtre de recherche tapper le nom de la première page qui apparaît dans votre liste de Pages les plus demandées, dans notre cas c'est

  • Modèle:!


appuyez sur le bouton rechercher , vous ètes redirigé sur la page désiré, appuyer sur le bouton modifier, le code wiki de la page apparait, sélectionnez tout le contenu de la page ( tout le code wiki ), copier la sélection et coller cette sélection dans un fichier texte, procéder de la même manière pour toute vos pages manquantes, vous pouvez coller les texte brut de code les uns à la suite des autres dans le meme fichier texte,

Une fois copier une certaine quantité de contenu brut de pages, par exemple votre groupe de 20 pages, réouvrez votre wiki et afficher la page Modèle:! , copier le code wiki correspondant à cette page depuis le fichier texte et coller le dans la page Modèle:! de votre wiki qui jusqu'à présent était vide, sauvegardez,

voilà c'est fait !! le Modèle ou la Catégorie devrait désormais apparaitre et surtout fonctionner

Note : pour un groupe de 20 pages le processus complet, export/import, vérification des exports manqués, copier/coller des du contenu des pages , prends environ,,,,,

Bon courage,

fichier texte contenant le code brut des modèles manquants

edit

Extensions

edit

Il existe quelques extensions importantes nécessaires à MediaWiki pour assurer un bon fonctionnement de votre copie locale d'un site de la fondation Wikimedia.

Vous pouvez voir toutes les extensions utilisées par le site internet Wikimedia qui vous interresse et dont vous souhaitez installez une copie locale sur votre ordinateur en allant à l'adresse suivante , dans notre exemple, il nous faut la liste des extensions utilisées par le Wiktionnaire français, l'adresse sera donc : http://fr.wiktionnary.org/wiki/Special:Version

Sur cette page,les extensions importantes comme par exemple ParserFunctions et CategoryTree possède des liens qui vous redirigent vers une page ou l'on trouve une description de l'extension ainsi qu'une procédure d'installation de l'extension et de là vers d'autres liens qui vous permette de télécharger les composants nécessaires à l'installation de l'extension.

There are several important extensions to mediawiki that Wikipedia depends on. You can view all of them by going to w:en:Special:Version, which shows everything Wikipedia is currently using. You can get the latest versions of all the extensions with:

$ svn co http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions extensions

svn is the client command for http://subversion.tigris.org/. It’s a revision control system that eliminates most of the issues people had with CVS (and rcs before that). The command above will check out all the extensions code into a new directory on your system named extensions.

The important extensions are the parser functions, citation functions, CategoryTree and WikiHero. Here’s how you install these from the extensions directory that svn created.

Parser functions:

$ cd extensions $ mkdir /var/www/extensions/ParserFunctions $ cp Expr.php ParserFunctions.php /var/www/extensions/ParserFunctions $ cat >> /var/www/LocalSettings.php require_once("$IP/extensions/ParserFunctions/ParserFunctions.php"); $wgUseTidy=true; ^d

(the last four lines just add those PHP commands to the LocalSettings.php file. It’s probably easier to just use a text editor.

Citation functions:

$ cp Cite.php Cite.i18n.php /var/www/extensions/ $ cat >> /var/www/LocalSettings.php require_once("$IP/extensions/Cite.php"); ^d

CategoryTree:

$ tar cf - CategoryTree/ | (cd /var/www/extensions/; tar xvf -) $ cat >> /var/www/LocalSettings.php $wgUseAjax = true; require_once("$IP/extensions/CategoryTree/CategoryTree.php"); ^d

WikiHero:

$ tar cf - wikihiero | (cd /var/www/extensions/; tar xvf -) $ cat >> /var/www/LocalSettings.php require_once("$IP/extensions/wikihiero/wikihiero.php"); ^d

If you want the math to show up properly, you’ll need to have LaTeX, dvips, convert (from the ImageMagick suite), GhostScript, and an OCaml setup to build the code. Here’s how to do it:

$ cd /var/www/math $ make $ mkdir ../images/tmp $ mkdir ../images/math $ sudo chown -R www-data ../images/

My web server runs as user www-data. If yours uses a different account, that’s what you’d change the images directories to be owned by. Alternatively, you could use chmod -R 777 ../images to make them writeable by anyone.

Change the $wgUseTeX variable in LocalSettings.php to true. If your Wikimirror is at the root of your web server (as it is in the examples above), you need to make sure that your apache configuration doesn’t have an Alias section for images If any of the programs mentioned aren’t in the system PATH (like if you installed them in /usr/local/bin or /sw/bin on a Mac) you’ll need to put them in /usr/bin or someplace the script can find them.

MediaWiki comes with a variety of maintenance scripts in the maintenance directory. To allow these to function, you need to put the admin user’s username and password into AdminSettings.php:

$ mv /var/www/AdminSettings.sample /var/www/AdminSettings.php

and change the values of $wgDBadminuser to admin (or what you really set it to when you created the database and initialized your mediawiki) and $wgDBadminpassword to adminpasswd.

Problèmes rencontrés

edit

il manque des modèles dans la base de données après import.

il manque des catégories dans la base de données après import.

impossible d'installer les extensions.

Reference

edit
  1. si vous ne connaissez pas l'adresse IP du serveur , utiliser la cpmmande ifconfig comme décrit dans le Préambule