Configuration MediaWiki

De EjnTricks

Hand-icon.png Votre avis

Current user rating: 68/100 (9 votes)

 You need to enable JavaScript to vote


Initialisation du répertoire d'upload

Configuration MediaWiki

Pour que l'upload de fichiers soit opérationnel, documents, images ..., il est nécessaire de créer un répertoire images sous l'instance de MediaWiki:

#sudo mkdir /var/lib/mediawiki/images
#sudo chmod 755 /var/lib/mediawiki/images
#sudo chwon www-data:www-data /var/lib/mediawiki/images

Puis il faut activer l'upload au niveau de la configuration dans le fichier LocalSettings.php, placé dans le répertoire /etc/mediawiki par remplacement de:

 $wgEnableUploads = false; # Disable uploads

Par

 $wgEnableUploads = true; # Enable uploads


Afin de stocker de la documentation, il est nécessaire d'étendre la limite de taille fixé par PHP à 2Mo. Dans le cadre de ce wiki, la limite a été monté à 20Mo. Dans un premier temps, le fichier LocalSettings.php a été modifié pour ajouter la ligne suivante, pour compléter la liste des formats en référençant le format pdf:

 $wgFileExtensions = array('png', 'gif', 'jpg', 'jpeg', 'pdf');

Configuration php

Ensuite, le fichier php.ini, sous /etc/php5/apache2 est modifié ainsi:

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 2M

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 8M

Par

; Maximum allowed size for uploaded files.
; http://php.net/upload-max-filesize
upload_max_filesize = 20M

; Maximum size of POST data that PHP will accept.
; http://php.net/post-max-size
post_max_size = 20M

Configuration mime types

Mediawiki fournit un ensemble de type mime pré configurer pour valider l'upload des fichiers. Par défaut, cela s'appuie sur l'application MimeMagic pour déterminer les types en fonction du header du fichier. De plus, deux fichiers sont permettent d'étendre les possibilité de l'outil en définissant de nouveau type, dans le répertoire includes de la distribution MediaWiki:

  • mime.types
  • mime.info

Or, il est nécessaire de les enregistrer au niveau de la configuration de MediaWiki pour que ceux ci soit pris en compte, sinon c'est le fichier /etc/mime.types qui est pris en compte.

Pour cela, il faut éditer le fichier LocalSettings.php de la façon suivante:

$wgMimeTypeFile = "includes/mime.types";
# $wgMimeInfoFile = "includes/mime.info";

Le fichier mime.info pris en compte, est celui de la distribution, il n'est donc pas nécessaire de le configurer.

Filtre des extensions pour upload

Mediawiki permet de configurer les types de fichiers qui peuvent être téléversés. Par défaut, de nombreuses restrictions sont mises en place afin de ne pas permettre de verser des contenus potentiellement porteur de virus. Cependant, il est possible de modifier ces configurations pour permettre temporairement leur utilisation. Dans le fichier LocalSettings.php, au niveau du répertoire /etc/mediawiki, il est possible de modifier les deux variables:

  • wgFileExtensions: qui va permettre de rajouter l'extension zip.
  • wgMimeTypeBlacklist: qui va permettre de spécifier les types mimes qui sont black listés.

La configuration suivante:

# Custom mimetype
$wgFileExtensions = array('png', 'zip', 'gz', 'gif', 'jpg', 'jpeg', 'pdf');
$wgMimeTypeBlacklist = array_diff ( $wgMimeTypeBlacklist, array ('application/zip') );

permet d’autoriser le versement des fichiers avec les extensions:

  • png
  • zip
  • gz
  • gif
  • jpg
  • jpeg
  • pdf

Et le mime type application/zip est enlevé de la black liste.

A noter que la black liste dépend de la version de mediawiki utilisé, comme indiqué à l'adresse suivante: http://www.mediawiki.org/wiki/Manual:$wgMimeTypeBlacklist

La configuration décrite dans ce paragraphe s'applique pour la version 1.17.

Viewer icon.png Voir aussi

Configuration de l'upload: http://www.mediawiki.org/wiki/Manual:Configuring_file_uploads


Style-sheet-icon.png CSS

Simulation console Shell

La modification de la CSS peut s'effectuer en mode administrateur en publiant la page MediaWiki:Common.css en utilisant une URL du type http://hostname/root/index.php/MediaWiki:Common.css. Un exemple dans ce WIKI permet de définir une CSS qui donnera un rendu du type console linux, fond noir et police blanche. Le contenu suivant est ajouté à cette css:

.console pre {
    background-color:black;
    border:1px dashed #2F6FAB;
    color:white;
}

Cela permet de surcharger le style standard appliqué lorsque la ligne est précédée d'un espace. Le code suivant:

<div class="console">
 ls -l
</div>

Produit

ls -l

Affichage icône pour format

Cette personnalisation est utilisée pour l'affichage des liens vers de la documentation. Le but de la personnalisation est d'afficher l'icône du format. Comme dans le cas précédent, le fichier MediaWiki:Common.css est personnalisé en ajoutant les lignes suivantes:

.file {
    background: no-repeat scroll left center transparent;
    padding-left: 18px;
}

.pdf {
    background-image: url("extensions/skins/custom/pdf-icon.png");
}

Les icônes sont ajoutés dans le répertoire extensions/skins/custom sous le répertoire d'installation de MédiaWiki.

Affichage icône pour catégorie

Cette personnalisation est utilisée pour l'affichage d'une icône devant chaque catégorie d'une page. Comme dans le cas précédent, le fichier MediaWiki:Common.css est personnalisé en ajoutant les lignes suivantes:

.catlinks span a {
    background: no-repeat scroll left center transparent url("extensions/skins/custom/tag.png");
    padding-left: 18px;
}

Le fichier icône est placé au même endroit que pour le format pdf.


Suite à la migration de version de Mediawiki, il a été constaté que cette modification n'est plus fonctionnelle sous une version 1.18. En effet, le mode d'affichage des catégories a été modifié, ne se basant plus sur des liens au sein de balises span, mais à l'aide des balises ul et li. Le fichier modifié reste le même, mais il faut placer le code CSS suivant:

.catlinks ul li a {
    background: no-repeat scroll left center transparent url("extensions/skins/custom/tag.png");
    padding-left: 18px;
}

Format des lignes d'un tableau

Il peut être utile et très lisible d'alterner la couleur de fond une ligne sur deux. Le premier réflexe serait de créer des classes CSS odd et even et de les affecter sur chacune des lignes. Cependant, cela peut introduire des oublis d'écriture dans les articles.

Or le language CSS permet de mettre en place ce type de configuration très facilement avec le mot clé nth-child.

Dans le cadre de ce Wiki, cela n'est mis en place que pour les tableaux avec la classe wikitable. Ainsi dans le fichier MediaWiki:Common.css, la directive suivante est ajouté.

.wikitable tr:nth-child(odd) {
    background-color:#D9D9D9;
}


Lock-icon.png Droits d'accès

Configuration

Afin de forcer la connexion pour consulter les pages de ce wiki, le fichier LocalSettings.php, dans le répertoire /etc/mediawiki est modifié en ajoutant les lignes suivants en fin de fichier:

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

Si le Wiki est ouvert au public, il peut être utile de restreindre l'accès en écriture aux pages. Il faut modifier le droit d'accès edit.

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

Viewer icon.png Voir aussi

Sécurisation des pages: http://www.mediawiki.org/wiki/Manual:User_rights

User-icon.png Création de comptes

Par défaut, toute personne accédant à un Wiki peut demander la création d'un compte. Ce qui est assez problématique si il est souhaité de contrôler les publications. Il est possible de ne permettre que l'authentification. Le lien de création de compte est alors rendu invisible.

Pour cela, il suffit d'éditer le fichier LocalSettings.php, dans le répertoire /etc/mediawiki dans le cadre de cette installation, pour y ajouter les lignes suivantes:

# Disable user account creation
$wgGroupPermissions['*']['createaccount'] = false;

Cette configuration a été trouvée à l'URL suivante: http://kb.siteground.com/article/How_can_I_disable_users_registration_on_my_MediaWiki_website.html


Afin de modifier le logo du Wiki, il faut modifier le fichier /etc/mediawiki/LocalSettings.php en ajoutant le paramétrage $wgLogo. Dans le cas d'un fichier internet-icon.png, placé dans le répertoire /var/lib/mediawiki/extensions/skin, la configuration est la suivante:

$wgLogo = "$wgScriptPath/extensions/skins/internet-icon.png";

A remarquer l'utilisation de $wgScriptPath permettant de mettre la racine du site.


Icon-log.png Activation log debug

Lorsqu'un dysfonctionnement ce produit, il est parfois nécessaire de pouvoir tracer les exécutions sur les actions, ce qui a permit d'analyser l'upload de fichier par exemple. Pour activer les traces en mode DEBUG, il faut modifier le fichier LocalSettings.php en spécifiant un emplacement pour la trace:

$wgDebugLogFile = "/tmp/mediawiki.log";