Installation de la solution MediaWiki en entreprise

Nous allons voir comment installer la solution libre MediaWiki afin de gérer du contenu documentaire dans une société. On va même pousser l’idée jusqu’à implémenter du SSO automatique avec un Active Directory…

Pré-requis

Dans un premier temps disposer d’une machine Ubuntu server 12.04 LTS à jour. Dans le cas d’une VM, installer bien sur les VMtools. Je mettrai à l’occasion des docs à ce sujet.

Installer à minima les paquets apache2, php5, libapache2-mod-php5 et php5-mysql.

Télécharger la dernière version de MediaWiki depuis le site officiel vers le répertoire à créer /var/www/mediawiki.

Installation

Décompresser l’archive téléchargées précédemment:

# tar -xzvf mediawiki-1.21.3.tar.gz
# mv mediawiki-1.21.3/* ./
# rm mediawiki-1.21.3 -rf

Accéder à votre site via l’URL suivante: http://mon_serveur/mediawiki

Vous devez obtenir la page suivante:

mediawiki_first_home

Cliquer sur « set up the wiki » afin de lancer l’assistant de configuration.

Sur la première page sélectionner la langue puis cliquer sur continuer afin d’obtenir le résultat des « Vérifications liées à l’environnement »:

mediawiki_wizard_check_env

Pour ma part je vais corriger la partie miniaturisation d’images et la normalisation d’Unicode.  Je ne vais pas rajouter de composants de cache etc… pour ne pas interférer avec la partie SSO dans un premier temps:

# aptitude install php5-intl imagemagick

Une fois ces packages installés, cliquer sur continuer pour obtenir l’écran de configuration de MySQL. Pour ma part, je dispose d’un serveur de bases de données distinct avec un phpMyAdmin afin de pouvoir créer des instances de bases de données « graphiquement ». Je crée donc une nouvelle base avec un utilisateur distinct qui me permettra de remplir les champs de connexion.

Si tout est OK, l’étape suivante de paramétrage de la base de donnée doit s’afficher. Personnellement j’ai choisi de modifier le jeu de caractères en UTF8 comme spécifié lors de la création de la base:

mediawiki_database_settings

Dans l’étape suivante, saisir un nom pour le site et créer un utilisateur admin du wiki. Vous devriez arriver sur la page d’accueil de votre nouveau Wiki.

Personnalisation de l’installation

En vrac toute les modifications que j’ai pu faire.

Changement de la langue par défaut… tout le monde n’est pas à l’aise avec la langue de Shakespeare.

Modifier le fichier LocalSettings.php:

# Site language code, should be one of the list in ./languages/Names.php
$wgLanguageCode = « fr »;

Puis création d’un vHost pour rendre l’accès plus sympa que http://mon_serveur/dossier_mediawiki en quelques chose comme http://wiki.mon_domaine

Premier point enregistrement d’un CNAME dans notre DNS qui fera pointer wiki.mon_domaine vers mon_serveur.

Ajouter au fichier hosts la nouvelle entrée:

127.0.0.1       localhost
127.0.0.1       wiki    wiki.mon_domaine

Enfin créer un vichier virtual host (vi /etc/apache2/sites-available/wiki par exemple) avec les informations suivantes:

<VirtualHost *:80>
#
DocumentRoot /var/www/mediawiki
DirectoryIndex index.php index.html
#
ServerAdmin admin@mon_domain
#
ServerName wiki
ServerAlias wiki
#
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mediawiki>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory « /usr/lib/cgi-bin »>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>ErrorLog /var/log/apache2/error.logLogLevel warnCustomLog /var/log/apache2/access.log combined
#
</VirtualHost>

Ensuite activer le site et relancer apache:

# a2ensite wiki
# service apache2 reload

Enfin il faut modifier à nouveau le fichier LocalSettings.php pour refléter les changements de « chemin »:

## http://www.mediawiki.org/wiki/Manual:Short_URL
$wgScriptPath = «  »;
$wgScriptExtension = « .php »;## The protocol and server name to use in fully-qualified URLs
$wgServer = « http://wiki »;

Au passage ajouter la ligne suivante pour activer le log (attention il y a des infos privées dans celui-ci, veiller aux accès):

# Enable debug file
$wgDebugLogFile = « /var/log/mediawiki/debug-{$wgDBname}.log »;

Authentification SSO

RdV vers l’article abordant ce sujet: SSO et apache

Puis installer l’extension

Configuration des envois de mail

Il faut en premier lieu installer les paquets PHP nécessaire:

# apt-get install php-pear
# pear install mail
# pear install Net_SMTP
# pear install Auth_SASL
# pear install mail_mime

Puis redémarrer apache avec la commande: service apache2 restart

Enfin configurer le serveur smtp (pour ma part un Exchange) dans le fichier LocalSettings.php

#Configuration du serveur SMTP
$wgSMTP = array(
‘host’     => « votre serveur SMTP »,
‘IDHost’   => « votre site wiki »,
‘port’     => 25,
‘auth’     => false,
#’username’ => « my_user_name »,
#’password’ => « my_password »
);

 Amélioration de la recherche

Par défaut la recherche intégrée est peu performante… elle ne prends pas en charge par exemple les accentuations. Grosso modo il faut limite saisir le terme exacte donc compliqué.

J’ai donc choisi de mettre en place l’extension Lucene-search qui est la plus utilisée.

  • Obtention de Lucene-Search vers le répertoire /usr/local/search/ls2
# wget http://sourceforge.net/projects/lucene-search/files/latest/download?source=files
# tar -xzvf download?source=files
# apt-get install subversion (non obligatoire si vous utilisez déjà subversion)
# svn checkout https://svn.wikimedia.org/svnroot/mediawiki/trunk/lucene-search-2/
# cd lucene-search-2
# aptitude install ant openjdk-6-jdk(va nous permettre de construire le jar)
# cd lucene-search-2
#ant
  • Génération des fichiers de configuration
# ./configure <chemin vers le dossier racine d’installation mediawiki

Cette action examine l’installation de Mediawiki et génère les fichiers de configuration adéquats.

  • Si tout est OK lors des étapes précédentes, nous pouvons
Mots-clés : , , ,

kiolul