MediaWiki - Quelques astuces et personalisations

MediaWiki - Quelques astuces et personalisations

Quelques astuces pour personnaliser votre installation avec MediaWiki

Le fichier Local “Settings.php”

Toutes les modifications suivantes sont à effectuer dans le fichier “LocalSettings.php

Restreindre la lecture des articles aux personnes anonymes:

$wgGroupPermissions['*']['read'] = false;

Restreindre l’edition par des utilisateurs anonymes:

$wgGroupPermissions['*']['edit'] = false;

Empêcher la création de comptes par des personnes anonymes:

$wgGroupPermissions['*']['createaccount'] = false;

Personnalisation

Pour modifier le menu de gauche “Navigation”, pointez sur l’URL suivante:

http://wiki.votredomaine.com/index.php?title=MediaWiki:Sidebar&action=edit

Backup / Restore

Backup et restore manuel

Sauvegardez la base de données à l’aide de la commande suivante:

http://wiki.votredomaine.com/index.php?title=MediaWiki:Sidebar&action=edit

Pour restaurer la base de données:

mysql -u utilisateur -p madatabase < monbackup.sql

Backup automatique

Vous pouvez utiliser le script AutoMySQLBackup pour effectuer de manière automatique le backup de vos bases de données. Éditez les paramètres suivants afin qu’ils correspondent à votre installation:

USETNAME
PASSWORD
DBNAMES

Rendez ensuite ce fichier exécutable à l’aide de la commande suivante:

chmod 755 automysqlbackup-2.5.1-01.sh

Créé les répertoires suivants:

mkdir /srv/backup
mkdir /srv/baclup/db

Testez manuellement le script en lançant la commande:

./automysqlbackup-2.5.1-01.sh

On programme ensuite l’execution automatique du scrip tous les jours a 00h15 à l’aide de la commande:

crontab -e

Et on ajoute cette ligne:

15 0 * * * /root/automysqlbackup-2.5.1-01.sh >/dev/null 2>&1

Exporter automatiquement ses backup sur un serveur FTP externe

Sauvegarder ses bases de données est une très bonne chose, faut-il encore pouvoir réutiliser ces fichier en cas de problème. Si les fichiers de backup se trouvent sur le même disque que les bases de données elles même et que ce disque vient à tomber en panne, c’est la catastrophe ! Nous allons donc faire un miroir de nos sauvegardes sur un serveur FTP distant. Dans cet exemple nous utiliserons lftp. Installons lftp:

apt-get install lftp

Nous créons ensuite un petit fichier texte avec les instructions nécessaires de lftp

nano /root/backup.txt

Ce fichier contient les informations suivantes:

open ftp.serveurdistant.com
user login password
lcd /srv/backup/
cd /backup/databes/
mirror -R -e -v
bye

Explications:

  • open (vous entrez ici le serveur de destination, par ex. “open ftp.mondomaine.com”)
  • user (précède votre login et votre mot de passe, par ex. “user fred Pa$$w0rd”)
  • lcd (c’est le répertoire local des fichier sources à copier, par ex. “lcd /srv/backup/”, c’est là que nous sauvegardons nos bases de données dans l’exemple précédent.
  • cd (c’est la commande qui vous place dans le bon répertoire de destination du serveur distant, par ex. “cd /backup/databases/”. ATTENTION tous les fichiers déjà présents dans le répertoire seront supprimés sans autre avertissement, c’est le principe du miroir, la destination est la copie conforme de la source.
  • mirror (c’est la commande qui comme son non l’indique effe3ctue la copie miroir.

- Le paramètre “-R” (en majuscule) Inverse le miroir, copie les fichiers locaux sur le site distant. - Le paramètre “-e” Supprime les fichiers distant qui ne sont plus présent en local. - Le paramètre “-v” mode bavard qui permet de voir ce qui se passe lors de l’exécution.

On crée ensuite un fichier “ftpmysqlbackup.sh

nano /root/ftpmysqlbackup.sh

Ce fichier contient ceci:

#!/bin/bash
lftp -f /root/backup.txt

On rend ensuite le fichier exécutable avec la commande:

chmod 755 /root/ftpmysqlbackup.sh

Vous pouvez tester le bon fonctionnement de votre script en le lançant manuellement:

./ftpmysqlbackup.sh

On programme le script pour être utilisé tous les jour à 00h30 à l’aide de la commande:

crontab -e

Et on ajoute cette ligne:

30 0 * * * /root/ftpmysqlbackup.sh >/dev/null 2>&1

Configuration d’EXIM4 pour recevoir les mails de notifications

Par défaut, EXIM4 n’est pas configuré pour envoyer des emails externes, nous allons donc y remédier pour recevoir les notifications de notre script de backup, ainsi nous serons si tout c’est bien passé sans devoir aller directement sur le serveur en question. On lance l’outil de configuration:

dpkg-reconfigure exim4-config

L’assistant de configuration va vous poser quelques questions, on choisit les options suivantes:

  • General type of mail configuration: Internet site; mail is sent and received directly using SMTP
  • System mail name: mondomaine.com
  • IP-address to listen on for incomming SMTP connections: 127.0.0.1
  • Other destinations for which mail is accepted: laisser vide!
  • Domains to relay mail for: laisser vide!
  • Keep number of DNS-queries minimal (Dial-on-Demand): no
  • Delivery method for local mail: Maildir format in home directory
  • Split configuration into small files: no

Mise à jour

La mise à jour d’un serveur Mediawiki peut être simple, comme très compliquée. Si Mediawiki n’a pas d’extension, l’opération devrait se dérouler sans problèmes. Respectez l’ordre des opérations suivantes :

  • 1. Faites un backup de votre base de donnée, reportez-vous au début de ce document pour y parvenir.
  • 2. Faites une copie des fichiers de Mediawiki.
cp -a wikidir wikidir.bak
  • 3. Effacer les fichier de Mediawiki, sauf :
Le répertoire "extensions"
Le répertoire "images"
Le fichier ".htaccess"
Le fichier "AdminSettings.php"
Le fichier "LocalSettings.php"
  • 4. Uplodez les nouveaux fichiers de Mediawiki et mettez à jour les permissions:
chmod -R u=rwX,g=-,o=rX wikidir/
  • 5. Mettez les tables de la base de données à jour:
php upgrade.php
  • 6. Mettez à jour les liens internes:
php refreshLinks.php
  • 7. Effacez le répertoire config/

 

Modifier le mot de passe d’un utilisateur

Pour modifier le mot de passe d’un utilisateur, il faut aller dans le répertoire ou est intallé Mediawiki est ensuite entrer cette commande :

php maintenance/changePassword.php --user=username --password=newpassword

Références