MonWiki : Configuration du Wiki

De Adadov.net wiki
Aller à : navigation, rechercher
Ecrit Par : adadov

Cette page regroupe tout ce qui concerne la configuration de ce Wiki, depuis la configuration du serveur Apache aux fichiers de configuration en passant par la base de données afin de tout consigner.

Configuration d'Apache

Domaine adadov.net

Voici le fichier de configuration d'Apache qui inclut le Wiki.
Les parties concernant d'autres sites ont étés retirées.

Il s'agit en fait d'un Hôte virtuel qui configure de manière rapide de nombreux sites, %1 dans la directive VirtualDocumentRoot reprend la première partie du FQDN demandé pour sélectionner le dossier, c'est ce qui fait que wiki.adadov.net pointe sur /web/adadov.net/wiki.

<VirtualHost *:80>          

    ServerName www.adadov.net
    ServerAlias *.adadov.net adadov.net
    VirtualDocumentRoot /web/adadov.net/%1

    DirectoryIndex index.htm index.html index.php

    LogFormat "%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" vcommon
    CustomLog logs/adadov.net.common.log vcommon

    ErrorLog  logs/error_log

    [...]

    <Directory /web/adadov.net>
        Options None +FollowSymLinks
        AllowOverride ALL 
        Order Deny,Allow
        Allow from all
    </Directory>

    <Directory /web/adadov.net/wiki/extensions/WikiEditor/modules/images/toolbar/>
        Options +Indexes
    </Directory>

</VirtualHost>

Domaine branlo.com

Ce nom de domaine pointe sur le même Wiki que le domaine adadov.net.
/web/branlo.com/wiki est un symlink qui pointe vers /web/adadov.net/wiki afin de n'avoir qu'un seul jeu de fichiers pour les deux emplacements tout en conservant la logique d'organisation des dossiers.

<VirtualHost *:80>

    ServerName wiki.branlo.com
    VirtualDocumentRoot /web/branlo.com/wiki

    DirectoryIndex index.htm index.html index.php

    LogFormat "%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-agent}i\"" vcommon
    CustomLog logs/branlo.com.common.log vcommon

    ErrorLog  logs/error_log

    LogLevel debug

    <Directory /web/branlo.com>
        Options None +FollowSymLinks
        AllowOverride ALL 
        Order Deny,Allow
        Allow from all
    </Directory>

    <Directory /web/branlo.com/wiki/extensions/WikiEditor/modules/images/toolbar/>
        Options +Indexes                 
    </Directory>

</VirtualHost>

Accès au wiki depuis plusieurs domaines

Configuration globale

Dans sa configuration initiale Mediawiki pose un soucis quand on souhaite utiliser plusieurs FQDN pour accéder au même wiki, la variable $wgServer doit contenir l'URL complète du wiki et est unique ...

Afin de contourner ce soucis la configuration a été déplacée. Le fichier LocalSettings.php contient un code PHP qui va sélectionner les bons fichiers à inclure en fonction du nom de domaine.

<?php

# Protect against web entry    
if ( !defined( 'MEDIAWIKI' ) ) { 
    exit;
}

require_once "LocalSettings_global.php";

switch ( $_SERVER["SERVER_NAME"] ) { 
    case "wiki.adadov.net":
        require_once "LocalSettings_adadov.net.php";
        break;

    case "wiki.branlo.com":
        require_once "LocalSettings_branlo.com.php";
        break;

    default:
        echo "Pas de wiki disponible à cette adresse";
        exit (0);
}

Ce fichier aura donc pour but d'include le fichier LocalSettings_global.php qui est en fait le fichier LocalSettings.php original.

Maintenant que la configuration est chargée, nous allons surcharger certaines variables via des fichiers spécifiques aux domaines.

wiki.adadov.net

Ce wiki est celui de base, il a été le premier installé et reste donc la référence pour la gestion des fichiers.

LocalSettings_adadov.net.php:

<?php

# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) { 
    exit;
}

$wgServer           = "http://wiki.adadov.net";


wiki.branlo.com

Ce wiki utilise la même base de donnée que wiki.adadov.net, on aura donc simplement accès au même wiki depuis un autre FQDN.

/web/branlo.com/wiki est un lien symbolique vers /web/adadov.net/wiki

LocalSettings_branlo.com.php:

<?php

# Protect against web entry
if ( !defined( 'MEDIAWIKI' ) ) { 
    exit;
}

$wgServer           = "http://wiki.branlo.com";

Une fois tout ces fichiers en place, l'accès peut se faire depuis l'un ou l'autre des noms de domaine sans être redirigé vers un autre nom de domaine quand on utilise pas celui présent dans la configuration.

adamedia.adadov.net

Ce wiki n'utilise pas la même base de données que les autres afin d'avoir un wiki totalement indépendant, la seule chose qu'il partagera avec les autres ce sont les fichiers.

/web/adadov.net/adamedia est un lien symbolique vers /web/adadov.net/wiki

LocalSettings_adamedia.adadov.net.php

<?php
if ( !defined( 'MEDIAWIKI' ) ) {
    exit;
}

$wgSitename         = "Projet Adamedia";
$wgServer           = "http://adamedia.adadov.net";

## Database settings
$wgDBtype           = "mysql";
$wgDBserver         = "localhost";
$wgDBname           = "mediawiki_am";
$wgDBuser           = "mediawiki";
$wgDBpassword       = "{{param|password}}";