Mediawiki

De DiouxX's Wiki
Aller à : navigation, rechercher
Cette page va vous permettre de mettre en place MediaWiki, propulsé par Apache, motorisé par PHP et utilisant une base de données PostgreSQL.

Installation

Pour commencer l'installation du MediaWiki, votre base de paquets doit être a jour

Konsole.png
[root@ordi ~]# sudo apt-get update

Serveur Apache

Pour installer le serveur apache, rentré cette commande en tant que root sur la machine qui va héberger le site

Konsole.png
[root@ordi ~]# apt-get install apache2

Pour vérifier qu'apache fonctionne bien tapez

Konsole.png
[root@ordi ~]# /etc/init.d/apache2 start

Si aucun message d'erreur n'apparait et qu'en vous rendant à l'adresse localhost apparait la page "it work!" c'est que apache fonctionne correctement.

PHP 5

MediaWiki requiert PHP pour fonctionner. Pour installer PHP, utilisé la commande suivante toujours sur la machine qui va hébergé le wiki

Konsole.png
[root@ordi ~]# sudo apt-get php5

Créez une page test.php qui contient :

<?php
phpinfo();
?>

Appelez-la à travers Apache (http://...), cela devrait vous afficher les informations sur PHP.

PostgreSQL

Consulter la page PostgreSQL

MediaWiki

Maintenant que notre serveur web et notre moteur de BDD sont installé, nous pouvons passer à l'installation du MediaWiki et la configuration des différents composants

Télécharger MediaWiki

Téléchargez MediaWiki depuis la page de téléchargement officielle ou depuis subversion.

Décompressez les fichiers localement ou sur votre serveur web via la commande

Konsole.png
[user@ordi ~]$ tar xvzf mediawiki-*.tar.gz


Préparer les dossiers

MediaWiki doit être capable d'écrire dans le dossier mw-config quand le script d'installation s'exécute. Si vous ne l'avez pas encore fait, vous devez changer les permissions pour le dossier mw-config pour que le serveur web puisse écrire dedans. Pour cela, utiliser la commande suivante afin de donner les droits en écriture sur le dossier

Konsole.png
[root@ordi ~]# chmod 755 mw-config


Tsearch2

La base de données que MediaWiki va utiliser doit avoir tsearch2 installés. Vous avez besoin d'installer tsearch2 pour rechercher le texte de votre wiki. Le module tsearch se trouve dans les sources de PostgreSQL qui ont été téléchargée précedemment.


Konsole.png
[root@ordi ~]# cd /usr/local/src/postgresql-9.1.3/contrib/tsearch2
[root@ordi ~]# ./configure
[root@ordi ~]# make
[root@ordi ~]# make install

PostgreSQL

Nous allons créer une base de données nommée wikidb détenue par un utilisateur nommé wikiuser. Depuis la ligne de commande en tant qu'utilisateur postgres, suivez les étapes suivantes :

createuser -S -D -R -P -E wikiuser (entrez ensuite le mot de passe)
createdb -O wikiuser wikidb

Ajouter tsearch à notre base de données :

su postgres
psql wikidb -f /usr/local/src/postgresql-9.1.3/contrib/tsearch2/sql/tsearch2.sql

après quoi vous devez donner les droits select à wikiuser pour la table tsearch et insert à locale :

su - postgres
psql -d wikidb -c "grant select on pg_ts_config to wikiuser;"
psql -d wikidb -c "grant select on pg_ts_config_map to wikiuser;"
psql -d wikidb -c "grant select on pg_ts_dict to wikiuser;"
psql -d wikidb -c "grant select on pg_ts_parser to wikiuser;"


Configuration

Avec le navigateur web, aller à la page principale du wiki. C'est le dossier accessible via le web dans lequel MediaWiki a été installé et est généralement /wiki (http://IP/wiki). Il va être affiché un message vous disant que le wiki a été installé mais n'a pas encore été configuré et que vous "devez cliquer ici pour configurer le wiki". Cliquez sur le lien pour accéder au script de configuration. Celui-ci se trouve (au cas où vous voudriez y accéder directement) dans le dossier config du répertoire principal du wiki.

  1. Si le script détecte une erreur de configuration, il ne va pas vous autoriser à continuer.
  2. Si tous les tests sont passés avec succès, il va être affiché un formulaire à remplir avec les information nécessaires à MediaWiki. Suivez les instructions sur le formulaire et remplissez les champs.
  3. Cliquez sur le bouton "Install!". Si un paramètre est manquant ou qu'il n'est pas correct, le formulaire sera de nouveau affiché avec un message d'erreur à côté du (des) champ(s) fautif(s). Sinon MediaWiki va créer et remplir toutes les tables et champs nécessaire dans la base de données.

Après que le script a fini, un fichier nommé LocalSettings.php est créé dans le dossier config. Ce fichier contient toutes les informations nécessaires à MediaWiki pour fonctionner correctement.


  • Déplacer ce fichier dans le répertoire principal du wiki /var/www/wiki.
  • Changer les permissions pour ce fichier pour qu'elles soient plus restrictives
Konsole.png
[root@ordi ~]# chmod 744 LocalSettings.php

  • Supprimez le dossier config.

Une fois que tout ceci a été terminé, votre wiki devrait être prêt à l'emploi. Allez à l'adresse à laquelle vous l'avez installé 192.168.100.39/wiki et commencez à éditer !

Configuration Apache

Afin de pouvoir vous connecter au wiki en pointant sur une adresse du style http://wiki.admin.pass.be, éditer le fichier /etc/apache2/sites-available/default :

<VirtualHost *:80>
        ServerName wiki.domain.be
        DocumentRoot /srv/www/
        RedirectMatch ^/$ /wiki

        <Directory /srv/www/wiki/index.php/Accueil>
                Options Indexes ExecCGI FollowSymLinks
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

</VirtualHost>


Warning.png
Attention !
Le domaine "wiki.domain.be" doit être créé au préalable dans le serveur DNS


BlocNotes.png
À noter !
La clause RedirectMatch est nécessaire pour que les clients soient redirigé directement vers la page d'accueil du wiki


Extensions


LDAP

On peux utiliser un serveur LDAP afin de s'authentifier sur le wiki.

Téléchargement

Télécharger l'extension à partir de leur [subversion] et placer l'extension dans le dossier /var/www/wiki/extensions/LDAP

Konsole.png
[user@ordi ~]$ mkdir /var/www/wiki/extensions/LDAP && cd/var/www/wiki/extensions/LDAP
[user@ordi ~]# svn checkout http://svn.wikimedia.org/svnroot/mediawiki/trunk/extensions/LdapAuthentication/
[user@ordi ~]# chown wiki *
[user@ordi ~]# chgrp www-data *


Activation du plugin

Ajouter ces lignes dans le fichier LocalSettings.php :

#Parametre pour utiliser LDAP
$wgAuth = new LdapAuthenticationPlugin();
$wgLDAPDomainNames = array( "Domain" ); 
$wgLDAPServerNames = array( "Domain"=>"X.X.X.X" ); 
$wgLDAPUseLocal = false; 
$wgLDAPEncryptionType = array( "Domain"=>"clear" ); 
$wgLDAPSearchStrings = array( "Domain"=>"uid=USER-NAME,ou=Users,dc=domain,dc=be" ); 
$wgLDAPBaseDNs = array( "Domain"=>"dc=domain,dc=be" ); 
$wgLDAPGroupBaseDNs = array( "Domain"=>"ou=Groups,dc=domain,dc=be" ); 
$wgLDAPUserBaseDNs = array( "Domain"=>"ou=Users,dc=domain,dc=be" );


Vérification du compte Administrateur

Pour la suite de la configuration, il nous faut vérifier qu'il existe un compte "Administrateur". Pour cela, se connecter à la base de données du Wiki et vérifier le contenu de la table "user_groups"

SELECT * FROM mediawiki.mwuser;

Ensuite il faut ajouter l'ID de l'utilisateur à la table « user_groups » avec le nom du groupe

INSERT INTO mediaWiki.user_groups VALUES('X','bureaucrat');

INSERT INTO mediaWiki.user_groups VALUES('X','sysop');


BlocNotes.png
À noter !
Remplacer le 'X' des commandes ci-dessus par l'ID de l'utilisateur dont vous désirez qu'il soit Administrateur


PDF Export

On va activer la possibilité d'exporter les pages en PDF.

Installation de htmldoc

Konsole.png
[root@ordi ~]# apt-get install htmldoc


Création de l'extension PdfExport

Créer le répertoire de l'extension :

Konsole.png
[user@ordi ~]$ cd /var/www/wiki/extension && mkdir PdfExport


Créer les deux fichiers suivant en copiant le contenu site : [PdfExport] :

nano PdfExport.php
nano PdfExport.i18n.php
nano PdfExport_body.php
nano PdfExport.i18n.alias.php


BlocNotes.png
À noter !
Vérifier que le propriétaire des fichiers soit bien wiki et que le groupe soit www-data


Activation du module

Ajouter ce qui suit à 'LocalSettings.php' :

require_once("extensions/PdfExport/PdfExport.php");

L'extension est maintenant activée.

Troubleshooting

Problème de cookies

Si le message suivant apparait lorsque l'on désie se connecter au wiki :

Erreur de connexion
PASS utilise des cookies pour la connexion mais vous les avez désactivés. Veuillez les activer et vous reconnecter. 

Cela peut-être due à un manque de place sur la partition /var du serveur web. Regarder pour soit supprimer des fichiers de logs plus nécessaire ou augmenter la partition.

Procédure

Mise à jour


BlocNotes.png
À noter !
cette procédure a été écrite pour passer d'une version 1.20.2 à 1.25.2


  • Avant toute chose, on pense à réaliser un backup de la base de donnée.
  • On se rend dans le répertoire web du serveur et on télécharge la dernière version de MediaWiki


Konsole.png
[root@ordi ~]# cd /var/www/html && sudo wget http://releases.wikimedia.org/mediawiki/1.25/mediawiki-1.25.2.tar.gz && sudo tar zxf mediawiki-1.25.2.tar.gz


  • On copie les fichiers de config,les images,extensions ... vers la nouvelle version


Konsole.png
[root@ordi ~]# sudo cp wiki/LocalSettings.php mediawiki-1.25.2/ && sudo cp -R wiki/images/ mediawiki-1.25.2/ && sudo cp -r wiki/extensions/ mediawiki-1.25.2/ && sudo cp -r wiki/skins/common/images/* mediawiki-1.25.2/images/


  • On renomme l'ancienne version


Konsole.png
[root@ordi ~]# sudo mv wiki/ wiki-1.20.2/ && sudo mv mediawiki-1.25.2/ wiki/ && sudo chown -R www-data:www-data wiki/


  • On lance le script de maintenance fourni par la nouvelle version


Konsole.png
[root@ordi ~]# cd wiki/ && sudo php maintenance/update.php


Si tout s'est bien passé, on peut se rendre sur la page web
Il est possible que certaines extensions font apparaitre une page blanche lorsque l'on désire se rendre sur la page du wiki.

  • On insère un code PHP dans le fichier LocalSettings.php pour afficher les messages d'erreurs au lieu d'une page blanche


Konsole.png
[root@ordi ~]# sudo nano LocalSettings.php


<?php
# This file was automatically generated by the MediaWiki 1.18.1
# installer. If you make manual changes, please keep track in case you
# need to recreate them later.
#
# See includes/DefaultSettings.php for all configurable settings
# and their default values, but don't forget to make changes in _this_
# file, not there.
#
# Further documentation for configuration settings may be found at:
# http://www.mediawiki.org/wiki/Manual:Configuration_settings

########################################################
###################DEBUG################################
########################################################
error_reporting( E_ALL );
ini_set( 'display_errors', 1 );
  • On met à jour les extensions qui génèrent les erreurs. La marche à suivre est pareil pour tous. Ici, l'exemple est avec Category Tree.

On va chercher la dernière version de l'extension en tapant sur Internet mediawiki Nom Extension

Konsole.png
[root@ordi ~]# cd extensions/ && sudo rm -Rf CategoryTree/
[root@ordi ~]# sudo wget https://extdist.wmflabs.org/dist/extensions/CategoryTree-REL1_25-d107bc6.tar.gz && sudo tar xf CategoryTree-REL1_25-d107bc6.tar.gz
[root@ordi ~]# sudo rm CategoryTree-REL1_25-d107bc6.tar.gz
[root@ordi ~]# sudo chown -R www-data:www-data CategoryTree/


  • Répéter l'étape précédente à chaque erreur d'extensions