Installer MediaWiki rapidement

De Wiki Amis SH
Aller à la navigation Aller à la recherche



Le wiki : Accueil - Administrateur - Bureautique - Développeur - Intégrateur - Marketing - Multimédia - Objets numériques - Jeux - We make Hack


Installer MediaWiki rapidement

Télécharger MediaWiki

Site officiel en française : https://www.mediawiki.org/wiki/MediaWiki/fr
Site officiel en anglais : https://www.mediawiki.org/wiki/MediaWiki
Version actuelle de Mediawiki lors de la dernière édition de cette page : 1.33.1 stable.
Télécharger la dernière version de Mediawiki : https://www.mediawiki.org/wiki/Download/fr
Télécharger la dernière version de Mediawiki 1.33.1 stable : https://releases.wikimedia.org/mediawiki/1.33/mediawiki-1.33.1.tar.gz
sudo wget https://releases.wikimedia.org/mediawiki/1.33/mediawiki-1.33.1.tar.gz
sudo tar xzvf mediawiki-1.33.1.tar.gz

Installer MediaWiki

Déposer la dernière archive décompressée de MediaWiki sur le serveur dédié ou mutualisé.
Un fichier INSTALL accompagne à l'installation de Media Wiki : https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_27/INSTALL
Accéder à la page d'accueil du wiki : www.domaine.ext/wiki/index.php?Accueil
L'installation n'ayant pas encore été faite, je suis redirigé automatiquement vers la page d'installation : www.domaine.ext/wiki/mw-config/index.php

Installation simple et rapide

Déplacer le dossier Mediawiki sur son serveur

Que ce soit un serveur mutualisé ou dédié, ajouter le dossier Mediawiki dans votre espace web.

Créer la base de données MariaDB pour Mediawiki

su
mysql -u root -p
CREATE DATABASE wikidb;
CREATE USER 'wikiuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'localhost' WITH GRANT OPTION;

# Si la base de données ne fonctionne pas sur le même serveur que votre serveur Web, indiquer le nom d'hôte du serveur Web approprié :
GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'mediawiki.example.com' IDENTIFIED BY 'password';

FLUSH PRIVILEGES;
EXIT;
 Source : https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki/fr
 Source : https://www.mediawiki.org/wiki/Manual:Installing_MediaWiki#Create_a_database

Lancer l'installation

Bienvenue sur MediaWiki !
Vérifications liées à l’environnement
Des vérifications de base vont maintenant être effectuées pour voir si cet environnement est adapté à l’installation de MediaWiki. Rappelez-vous d’inclure ces informations si vous recherchez de l’aide sur la manière de terminer l’installation.
PHP 5.6.21 est installé.
Attention : Impossible de trouver APC, XCache ou WinCache.
La mise en cache d'objets n'est pas activée.
GNU diff3 introuvable.
La bibliothèque graphique GD intégrée a été trouvée.
La miniaturisation d'images sera activée si vous activez le téléversement de fichiers.
Logiciel de contrôle de version Git non trouvé.
Utilisation du nom de serveur " Votre Domaine ".
Utilisation de l'URL de serveur " Votre Domaine/wiki ".
Attention: Votre répertoire par défaut pour les téléchargements, /htdocs/wiki/images/, est vulnérable, car il peut exécuter n'importe quel script.
Bien que MediaWiki vérifie tous les fichiers téléchargés, il est fortement recommandé de fermer cette vulnérabilité de sécurité (texte en anglais) avant d'activer les téléchargements.
Utilisation de l'extension PECL intl pour la normalisation Unicode.
L’environnement a été vérifié. Vous pouvez installer MediaWiki.
Sélection de la base de données.
Ajouter le préfixe de la base de données : xyz_uvw_
Félicitations! Vous avez réussi à installer MediaWiki.
Le programme d'installation a généré un fichier LocalSettings.php. Il contient tous les paramètres de votre configuration.
Vous devrez le télécharger et le mettre à la racine de votre installation wiki (dans le même répertoire que index.php).

Depuis un terminal GNU/Linux

Vérifier les propriétaires groupes et droits

Rendre www-data propriétaire du wiki.
www-data devient propriétaire du dossier wiki de façon récursive.
chown www-data:www-data wiki/ -R
On sécurise le fichier LocalSettings.
chmod 600 LocalSettings.php

Mise à jour de Mediawiki

Mise à jour de Mediawiki.

Vérifier la version de Mediawiki

# Vérifier la version de Mediawiki et des extensions depuis la page Spécial:Version.

Sauvegarder les dossiers de votre installation Mediawiki existante

# Sauvegarder les dossiers et fichiers ainsi que la base de données du site Mediawiki avant de lancer une mise à jour.
# Certains dossiers et fichiers de votre sauvegarde seront à déplacer vers la nouvelle installation de Mediawiki.
# Conserver le fichier LocalSettings.php
# Comparer votre fichier LocalSettings.php avec celui de la nouvelle installation.
# Faire les modifications du nouveau fichier LocalSettings.php généré en ajoutant votre configuration précédente.
# Tester l'ajout de votre configuration pour un seul plugin à la fois, pour bien s'assurer du bon fonctionnement du plugin.
# Conserver le répertoire de téléchargement personnalisé.
# C'est le dossier images qui est concerné dans mon cas.
# Valeur par défaut renseignée dans LocalSettings.php :
$wgUploadDirectory ="{$IP}/images";
# Conserver les répertoires "resources/assets/".
# Conserver les répertoires "extensions".
# Conserver les archives des fichiers supprimés et toutes les enveloppes personnalisées.
# Je n'ai pas trouvé comment faire. Depuis, j'ai effectué une dizaine de mises à jour.
# Ça ne semble pas indispensable à la bonne maintenance de Mediawiki.

Procédure pour la mise à jour de MediaWiki

Le fichier .htaccess

# Désactiver le .htaccess si nécessaire pour permettre le bon fonctionnement de la mise à jour.

Copier les fichiers dans la nouvelle installation

# Changer le nom du dossier du wiki à mettre à jour en oldwiki.
# Télécharger et extraire la nouvelle version de Mediawiki dans le dossier mediawiki.
# Ajouter les dossiers et fichiers sauvegardés dans la nouvelle version de Mediawiki à mettre à jour.
# Se positionner dans la sauvegarde de la version de Mediawiki en production et copier vos extensions vers la nouvelle version de Mediawiki :
# Au premier niveau :
sudo cp pubkey.txt ../mediawiki/
sudo cp 403-forbidden.php ../mediawiki/
sudo cp 403-forbidden-alerte.log ../mediawiki/
# Vérifier son contenu du fichier LocalSettings.php pour ne pas charger une éventuelle extension obsolète.
sudo cp LocalSettings.php ../mediawiki/LocalSettings.php.or
sudo cp favicon.ico ../mediawiki/
sudo cp robots.txt ../mediawiki/
# Le deuxième fichier robots pour le domaine secondaire configuré depuis le VirtualHost et qui ne doit pas être référencé :
sudo cp robots-miroir.txt ../mediawiki/
# Les images et le répertoire tmp de Mediawiki :
sudo cp -r tmp_mediawiki/ ../mediawiki/
sudo cp -r images/ ../mediawiki/
# Les extensions personnalisées :
cd /extensions
sudo cp -r DeletePagesForGood/ ../../mediawiki/extensions/
sudo cp -r EmbedVideo/ ../../mediawiki/extensions/
sudo cp -r OpenGraphMeta/ ../../mediawiki/extensions/
sudo cp -r PrivatePageProtection/ ../../mediawiki/extensions/
sudo cp -r RSS/ ../../mediawiki/extensions/
sudo cp -r UserMerge/ ../../mediawiki/extensions/
sudo cp -r yUML/ ../../mediawiki/extensions/
# Le répertoire assets :
cd resources/
sudo cp -r assets/ ../../mediawiki/resources/

Mise à jour de la base de données depuis le navigateur durant les étapes d'une nouvelle installation

# Préférer une nouvelle installation, ce qui est une bonne façon d'obtenir un Mediawiki sain.
# Cette installation met à jour les fichiers de Mediawiki et sa base de données avec les derniers correctifs.
# Télécharger l'archive de la dernière version de Mediawiki dans un dossier nommé mediawiki sur votre serveur.
# Ajouter les dossiers, les fichiers et les extensions qui ont été archivés suite à la sauvegarde de votre wiki.
# Durant la mise à jour, Mediawiki informera qu'une base de données existe déjà et qu'elle doit être mise à jour.
# Lancer la mise à jour de la base de données en effectuant une installation standard de Mediawiki.
# Depuis le navigateur, lancer la nouvelle installation.
# Vérifications liées à l'environnement. Continuer. Normalement, rien n'est à faire ici puisque l'environnement n'a pas changé.
# Configurer l'accès à la base de données de production, les informations de connexion se trouvent dans la sauvegarde de votre wiki.
# Si vous n'avez pas fait de sauvegarde de la base de données, il est fortement conseillé de faire une sauvegarde avant l'étape à venir.
# Il y a des tables MediaWiki dans cette base de données. Pour les mettre au niveau de MediaWiki x.xx.x, cliquez sur Continuer. Lancer l'installation sur la base existante de production.
# Mise à jour terminée. Régénérer votre fichier LocalSettings.php.
# Utiliser le même compte que pour l'installation. Moteur de stockage : InnoDB.
# Le nom du wiki et l'espace de noms du projet peut être retrouvés également depuis votre ancien fichier LocalSettings.php en cherchant les deux variables suivantes : $wgSitename et $wgMetaNamespace.
# Ajouter le même utilisateur root que pour votre ancien wiki, ou alors, créer un nouveau profil root.
# Sauvegarder le fichier LocalSettings.php qui est généré à neuf a la fin de cette installation.
# Le fichier "LocalSettings.php" de production doit avoir été sauvegardé en "LocalSettings.php.or".
# Aucun fichier LocalSettings.php ne doit être présent à la racine durant la mise à jour.
# Un nouveau fichier LocalSettings.php sera généré lors de l'installation.
# Enregistrer ce nouveau fichier, au cas ou.
# Ajouter le fichier LocalSettings.php par celui utilisé sur le site de production.
# Si le site ne fonctionne pas, utiliser le fichier LocalSettings.php qui a été généré.
# Ajouter dans ce nouveau fichier LocalSettings.php les éléments supplémentaires qui se trouvent dans la version en production de votre fichier "LocalSettings.php.or".
# Le wiki devrait être à jour et fonctionnel.

Tester la mise à jour

Vérifier que les vues de page et les modifications fonctionnent normalement et que les pages spéciales continuent de fonctionner.
Tester toutes les extensions et les mettre à niveau si nécessaire.
Gérer et installer des extensions avec MediaWiki : https://www.visionduweb.eu/wiki/index.php?title=Gerer_et_installer_des_extensions_avec_MediaWiki

Suivi des versions installées de Mediawiki

Télécharger les dernières versions de Mediawiki : https://www.mediawiki.org/wiki/Download
Télécharger la dernière version 1.33.3 stable : https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.2.tar.gz
Décompresser la dernière archive : sudo tar xzvf mediawiki-1.34.2.tar.gz
Renommer le répertoire : sudo mv mediawiki-1.34.2/ mediawiki/
Supprimer l'archive : sudo rm mediawiki-1.34.2.tar.gz
Version actuelle sur wiki.visionduweb.fr : MediaWiki 1.34.2 - Stable.
Version actuelle sur mediawiki.visionduweb.fr : MediaWiki 1.33.3 - Stable.
Version actuelle pour NORML France : MediaWiki 1.33.1 - Stable.

Suivi de maintenance suite aux différentes mises à jour

Version 1.34.2

# Installer un nouveau Mediawiki en version 1.34.2. Importer les pages qui ont été exportées depuis Mediawiki 1.33.3.
# Copier les fichiers de l'ancien vers le nouveau Mediawiki, les pages 403, le fichier favicon.ico, les extensions...
# Noter que le thème Vector, dans le répertoire skins, peut lui aussi évoluer entre les versions.
# Lors du passage de la version 1.33.3 de Mediawiki vers la versions 1.34.2, il me manquait des images dans le dossier du thème Vector/images/.
# Il est donc indispensable de conserver une version complète de sauvegarde de la précédente instance de Mediawiki qui était utilisée en production.
# Récupérer les modèles de page.
# Récupérer les modèles de transclusion.
# Ajouter __HIDDENCAT__ dans la catégorie Transclusion.
# Fonctionne :
- yUML.
- Le player de vidéos fonctionne.
- DeletePagesForGood fonctionne.
- Le captcha fonctionne.
- Opengraph fonctionne.
# Ne fonctionnait plus mais a été corrigé :
- L'extension RSS n'affiche plus les flux RSS.
La dernière mise à jour fonctionne. La modification du modèle de page a résolu le problème.
# Ne fonctionnait plus mais a été corrigé :
- L'extension PrivatePageProtection faisait planter le wiki.
L'extension a été archivée par Mediawiki.
Une alternative non maintenue mais fonctionnelle a été mise en place avec Restrict access.

Version 1.33.3

Aucun problème rencontré.

Version 1.33.1

Réduire le poids de la table _text

Depuis la mise à jour vers la versions 1.33.1 ou depuis l'ajout de paramètres dans la configuration de MariaDB la table _text prend du volume qui ne semble plus se réduire.
Une issue est ouverte, suite à l'augmentation anormale du volume stocké, qui n'est plus effacé avec les scripts de maintenance : https://phabricator.wikimedia.org/T239104
Une réinstallation de Mediawiki 1.33.1 et relancer les commandes de maintenance de la base de données ne change rien.
J'en arrive à réinstaller totalement Mediawiki dans une nouvelle version dans laquelle je réimporte les articles.
A première vue, le résultat est intéressant en ce qui concerne le poids général de la base de données, et, il devrait y avoir moins d'erreurs dans la base qui datait de la version 1.27.1 de Mediawiki.
D'une table _text qui faisait 55.5 Mo sur l'ancien wiki, la table _text est passée à 6.5Mo avec l'intégralité du contenu des articles.
La table semble être passée à 9.5Mo après la réimportation des images, ce qui voudrait dire que la table _text ajoute des informations complémentaires liées au images ?
L'encodage avec les 4 options dont barracuda, pour UTF-8mb4, depuis MariaDB, mais également, la façon de créer la base de donner initiale de Mediawiki, pourrait encore poser des problèmes.
Il faudra vérifier à l'usage si le Wiki fonctionne correctement, et, si la base de données prend du volume anormalement.
Si c'est le cas il faudra à nouveau créer une nouvelle installation pour utiliser une version stable et optimisée.

Problème de journalisation des utilisateurs qui ne sont plus affichés dans la base de données

La journalisation des utilisateurs ne semble toujours pas afficher le nom d'utilisateur dans la table _logging, et, le champ log_user, lors de la création d'un nouvel article.
Si je tente d'ajouter manuellement le 0 par défaut par mon nom d'utilisateur, le message d'erreur suivant est affiché :
UPDATE `prefixe_logging` SET `log_user` = 'USER_WIKI' WHERE ... MySQL a répondu : #1366 - Incorrect integer value: 'USER_WIKI' for column `MY_TABLE`.`prefixe_logging`.`log_user` at row 1
On obtient cette erreur lorsque votre script PHP fournit une chaîne de caractère alors que MySQL attend un entier.
Je change la structure de la colonne log_user depuis la table prefixe_logging :
Le champ log_user est défini pour le Type INT de taille 10, Valeur par défaut Tel que défini : 0, Interclassement aucun, Attributs UNSIGNED, Null est coché.
Le champ log_user est redéfini pour le Type VARCHAR de taille 10, Valeur par défaut Aucune, Interclassement utf8mb4_unicode_ci, Attributs aucun, Null est décoché.
Une nouvelle création de page devrait à nouveau afficher le nom d'utilisateur ? Non, cela ne fonctionne pas, plus aucune valeur n'est stockée.
Je remet la configuration précédente, même si elle ne fonctionne pas non plus :
Le champ log_user est défini pour le Type INT de taille 10, Valeur par défaut Tel que défini : 0, Interclassement aucun, Attributs UNSIGNED, Null est coché.
La page vers le manuel de cette table affiche également la structure de cette table en fonction des différentes versions de Mediawiki : https://www.mediawiki.org/wiki/Manual:Logging_table

Une autre proposition vue sur un forum serait de commenter la configuration de MariaDB pour le paramètre sql-mode="" et son contenu et le remplacer par sql-mode="".
Je ne suis pas convaincu qu'il faille en passer par la et se priver de cette configuration. Le but n'est pas de ne pas voir le message d'erreur mais de faire fonctionner la journalisation de Mediawiki.
Voir sinon à enlever les valeurs ajoutées dans la configuration de MariaDB et à redémarrer MariaDB, pour tester sans la valeur Barracuda notamment.
Ne change rien, le pseudo de l'utilisateur qui crée une nouvelle page n'est plus inscrit dans la table _logging et la valeur par défaut 0 est appliquée.
En dernier recours, réinstaller Mediawiki sur un serveur MariaDB par défaut et vérifier si la table _logging intègre ou non le nom des utilisateurs ayant effectué une création de page dans le champ log_user.
Si ce n'est pas le cas, c'est que la dernière version de Mediawiki 1.33.1 a soir retiré cette fonctionnalité, soit rencontre un bogue.

Résolu - Préférer l'utilisation d'un nouveau fichier LocalSettings.php

Lors de la mise à jour vers Mediawiki, préférer une mise à jour avec la création d'un nouveau fichier LocalSettings.php
Si je tente de conserver mon ancien fichier LocalSettings.php j'ai une erreur à chaque fois avec le script DeletePagesForGood, malgré que le fichier ait été mis à jour.
Si je réinstalle un nouveau fichier LocalSettings.php et compare avec celui de la version précédente, les différences ne sont pas nombreuses.
Utiliser un nouveau fichier LocalSettings.php permet de suivre l'évolution de son paramétrage avec la précédente version de Mediawiki.

Résolu - DeletePagesForGood

Depuis Mediawiki 1.31.0 l'extension deletepageforgood doit être mise à jour pour empêcher la mise en erreur du wiki.
Dans le dossier extensions/deletepageforgood modifier le fichier ActionDeletePagePermanently.php par le code suivant : 
https://gerrit.wikimedia.org/r/plugins/gitiles/mediawiki/extensions/DeletePagesForGood/+/dc43aa69c3901784fdd440e39277db27b382854a/ActionDeletePagePermanently.php
Depuis Mediawiki 1.29.0 / 1.29.1, DeletePagesForGood ne semble plus arriver à détruire les pages créées en version 1.28.0.
Astuce pour contourner ce problème et arriver à supprimer une page et son historique :
Supprimer la page normalement. Recréer la page. Détruire la page avec DeletePagesForGood.
Les nouvelles pages créées semblent bien pouvoir être détruites.
Un ticket de maintenance a été ouvert.

Résolu - Nuke

Depuis Mediawiki 1.31.0 il faut désactiver l'extension Nuke qui n'est plus présente par défaut.

Résolu - Captcha

Avec la version Mediawiki 1.30, le captcha QuestyCaptcha affiche une page blanche dans certaines conditions.
Relancer la page principale permet de revenir sur le wiki. La modification est prise en compte malgré tout.
QuestyCaptcha est fonctionnel depuis que l'extension de bannedips.php est désactivée.
Le captcha avec l'image fonctionne également.

Résolu - Banneips

Depuis Mediawiki 1.30, l'extension banneips fait boguer la page de connexion qui affiche une page blanche.
Pour corriger ce problème le tableau des ips doit être convertit en tableau indexé.
Je supprime cette extension qui ne semble pas fonctionner correctement pour le moment.
Un ticket de maintenance a été ouvert.

Warning sur Yuml

De nombreux warning sont affichés sur Xampp en local.

RSS

Depuis l'installation de Mediawiki 1.33.1 des erreurs sont affichés empêchant le rendu de la page dans laquelle a été ajouté le lien de requête pour le flux RSS.
Télécharger la nouvelle version : https://extdist.wmflabs.org/dist/extensions/RSS-REL1_33-e4dc10f.tar.gz
cd /wiki/extensions/
sudo rm -R RSS
sudo tar xzvf RSS-REL1_33-e4dc10f.tar.gz
sudo chown www-data:www-data -R RSS/
Résolu.

Bibliographie

Informations en anglais dans le fichier UPGRADE : https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_27/UPGRADE
Mettre à jour version officielle en anglais : https://www.mediawiki.org/wiki/Manual:Upgrading
How to Install MediaWiki on Ubuntu 16.04/17.04 with Apache or Nginx : https://www.linuxbabe.com/ubuntu/how-to-install-mediawiki-ubuntu-16-04-apache-nginx

NAVIGATION

PARTICIPER ET PARTAGER

Bienvenue sur le wiki de Amis SH.
De nombreuses pages sont partagées sur ce wiki.
Créer un compte utilisateur pour participer sur le wiki.
Les pages présentées sur le wiki évoluent tous les jours.
Certaines recherches sont peu abouties et incluent des erreurs.
Utiliser la recherche interne du wiki pour trouver votre contenu.
La page de discussion de Amis SH vous permet de poser vos questions.
Consulter le site amis-sh.fr pour installer votre propre serveur web.
Améliorer le contenu des pages avec vos retours depuis l'onglet discussion.
Ce contenu ne doit pas servir à nuire à autrui ou à un système informatique.
Protéger votre système Linux ou Windows avec cette page dédiée à la sécurité.

SOUTENIR CE WIKI

Soutenir le wiki avec un don en monnaie numérique :
AEON - Bitcoins - Bitcoins Cash - Bitcoins Gold - Bitcore - Blackcoins - Basic Attention Token - Bytecoins - Clams - Dash - Monero - Dogecoins - Ğ1 - Ethereum - Ethereum Classique - Litecoins - Potcoins - Solarcoins - Zcash

OBTENIR DE LA MONNAIE NUMERIQUE

Obtenir gratuitement de la monnaie numérique :
Miner de la cryptomonnaie.