Aller à : navigation, rechercher

Installation Mediawiki

Installation sur Debian avec MySQL

Installation serveur web

Installation des dépendances, désactivation suhosin et relance apache

apt-get install apache2 apache2-mpm-prefork libapache2-mod-php5 libxml2 php5-common mysql-server php5-gd php5-mysql php5-intl
mv /etc/php5/apache2/conf.d/suhosin.ini  /root
/etc/init.d/apache2 restart

NB : configuration supplémentaire si on souhaite utiliser des URLs courtes

Récupérer le tar.gz depuis le site mediawiki

cd /root
wget http://releases.wikimedia.org/mediawiki/1.23/mediawiki-1.23.2.tar.gz
tar xzf mediawiki-*.tar.gz -C /var/www/vhost_wiki
cd /var/www/vhost_wiki
mv mediawiki-* mediawiki
cd mediawiki
chmod a+w mw-config

Création de la base de données

mysql mysql  -u root -p
   create database mediawiki ;
   grant all privileges on mediawiki.* to mediawiki@'localhost' identified by 'xxxx';
   flush privileges;
   quit

Pointer le navigateur sur l'adresse suivante et continuer l'installation en mode graphique

http://ip_serveur/mediawiki

Dans la page de configuration, modifier les valeurs suivantes :

Site Config 
  Wiki name:
  Contact e-mail:
  Language:


  Admin username:
  Password: 
  Password confirm:
Database config
  Database name:
  DB username:
  DB password:
  DB password confirm:

Puis cliquer sur le bouton "Install Mediawiki"

Une fois la configuration parti

cp config/LocalSettings.php .

Puis utiliser le navigateur et pointer à l'adresse

http://ip_serveur/mediawiki/index.php/Accueil

Configuration

Pour restreindre l'accès, modifier le fichier LocalSettings.php et rajouter à la fin :

# Disable reading by anonymous users
$wgGroupPermissions['*']['read'] = false;
 
# But allow them to access the login page or else there will be no way to log in!
# NOTE: You also need to provide access here to the .css and .js files that the
# allowed pages attempt to load; otherwise, users will get errors on the page
# when they attempt to load it (IE will complain about the errors;
# FF will show them in its error console)
# [You also might want to add access to "Main Page", "Wikipedia:Help", etc.)
$wgWhitelistRead = array ("Special:Userlogin", "MediaWiki:Common.css", 
"MediaWiki:Common.js", "MediaWiki:Monobook.css", "MediaWiki:Monobook.js", "-");
 
# Disable anonymous editing
$wgGroupPermissions['*']['edit'] = false;
 
# Prevent new user registrations except by sysops
$wgGroupPermissions['*']['createaccount'] = false;

Installation optimisation mediawiki APC et memcached

Installation de l'optimisateur apc pour améliorer les performances de php

apt-get install php-apc

Augmentation mémoire shm, rajouter la ligne suivante au fichier /etc/sysctl.conf

kernel.shmmax=268435456

Prise en compte immédiate du paramètre ci-dessu

sysctl -w kernel.shmmax=268435456

Modification conf apc /etc/php5/apache2/conf.d/apc.ini

extension=apc.so
apc.shm_size=128
apc.rfc1867 = on
apc.enabled = 1
apc.max_file_size = 2

Relance apache

/etc/init.d/apache2 restart

Installation memcached

apt-get install memcached php5-memcached

Relance memcached

/etc/init.d/memcached restart

Rajout de la configuration dans le fichier /var/www/mediawiki/LocalSettings.php

$wgMainCacheType = CACHE_MEMCACHED;
$wgParserCacheType = CACHE_MEMCACHED; # optional
$wgMessageCacheType = CACHE_MEMCACHED; # optional
$wgMemCachedServers = array( "127.0.0.1:11211" );
 
$wgSessionsInMemcached = true; # optional

Short URLs

Il s'agit de fournir des URLs du type "http://dev.tranquil.it/wiki/Accueil" au lieu de "http://dev.tranquil.it/mediawiki/index.php/Accueil", plus lisibles et esthétiques.

Pré-requis :

- mediawiki décompressé dans un sous-répertoire du docroot

 mv mediawiki /var/www/dev.tranquil.it/w/

- apache et mod_rewrite

 a2enmod rewrite

Modifier la configuration du vhost

 <VirtualHost *:80>
   
   ServerAdmin technique@tranquil-it-systems.fr
   ServerName dev.tranquil-it-systems.fr
   ServerAlias dev.tranquil.it
   ServerAlias dev.tranquilitsystems.com
   DocumentRoot /var/www/dev.tranquil.it
   <Directory />
     Options FollowSymLinks
     AllowOverride None
   </Directory>
   <Directory /var/www/vhost_wiki/>
     Options FollowSymLinks MultiViews
     AllowOverride all
     Order allow,deny
     allow from all
   </Directory>
   
   ## BEGIN SHORT URLS
   # Short URLs, cf. http://www.mediawiki.org/wiki/Manual:Short_URL/Apache
   RewriteEngine On
   RewriteLog "/var/log/apache2/dev.tranquil.it.rewrite.log"
   RewriteLogLevel 0
   # Redirect to the default page
   RewriteRule ^/*$ %{DOCUMENT_ROOT}/w/index.php [L]
   # Don't break existing URLs, provide a 301 redirect instead so
   # that we do not lose on the SEO side
   RewriteRule ^/?index.php/(.*)?$ /wiki/$1 [R=301]
   # Short, cleans URLs
   RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/w/index.php [L]
   
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
   RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2 [L,QSA,B]
   
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
   RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/w/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]
   
   RewriteRule ^/?images/(.*)$ %{DOCUMENT_ROOT}/w/images/$1 [L]
   ## END SHORT URLS
   ...
 </VirtualHost>


Ainsi que la configuration dans LocalSettings.php

 ## The URL base path to the directory containing the wiki;
 ## defaults for all runtime URL paths are based off of this.
 ## For more information on customizing the URLs
 ## (like /w/index.php/Page_title to /wiki/Page_title) please see:
 ## http://www.mediawiki.org/wiki/Manual:Short_URL
 $wgScriptPath       = "/w";
 $wgScriptExtension  = ".php";
 $wgArticlePath      = "/wiki/$1";

Upgrade Mediawiki

Backup de la base

mysqldump mediawiki -u mediawiki -p > /root/mediawiki_20110504.sql

Déplacement de l'ancienne version

cd /var/www/vhost_wiki
mv mediawiki mediawiki.old

Récupération de la nouvelle version

wget "http://download.wikimedia.org/mediawiki/1.16/mediawiki-1.16.4.tar.gz"
tar -zxvf mediawiki-1.16.4.tar.gz
mv mediawiki-1.16.4 mediawiki

Récupération des images et du fichier de configuration

rsync -aPz ./mediawiki.old/images/ ./mediawiki/images/
cp ./mediawiki.old/LocalSettings.php  ./mediawiki

Attention aux possibles modifications locales, par exemple pour les skins

Editier le fichier ./mediawiki/LocalSettings.php et rajouter les deux lignes suivantes :

$wgDBadminuser = "mediawiki";
$wgDBadminpassword = "tototo";

Lancement de la procédure d'upgrade

cd mediawiki/maintenance
php update.php

Invalidation manuelle du cache mediawiki

Lorsqu'on modifie manuellement certaines ressources (par exemple footer.php), mediawiki ne se rend pas compte qu'il doit invalider les pages mises en page. Pour cela, se connecter en SSH et vérifier la valeur du paramètre $wgFileCacheDirectory. Supprimer ensuite les fichiers présents dans ce cache, par exemple :

  rm -Rf /var/cache/mediawiki/filecache

Liens