ATTENTION , cette article nécessite d’utiliser une version récente de SPIP et donc non stable
Les prérequis (au 1er janvier 2008) :
posséder un nom de domaine disponible
avoir la possibilité de modifier la configuration apache
Dans l’exemple suivant on supposera que l’on cherche à mettre la ferme sur le site GrmlEU [1]
Installation SPIP
Installer un SPIP (une version récente est recommandée). Pour la suite de l’exercice on supposera que le SPIP est installé dans le répertoire « /home/grml/public_html/ ».
Installation plugin mutualisation
Installer le plugin Mutualisation (il est plus simple de ne pas le mettre dans le répertoire plugin) . Nous avons donc « /home/grml/public_html/mutualisation »
Configuration apache
Modifier la configuration apache
Si vous êtes sur apache2 il faut créer un fichier grml.eu.
etc/apache2/sites-available# more grml.eu
<VirtualHost *>
ServerName grml.eu
ServerAlias *.grml.eu
DocumentRoot /home/grml/public_html
</VirtualHost>Ce qui veut dire que tous les sous domaines de grml.eu vont pointer vers le répertoire « /home/grml/public_html ».
Ensuite il faut faire une lien symbolique pour que le domaine soit actif
cd etc/apache2/sites-enable
ln -s /etc/apache2/sites-available/grml.eu grml.eu Enfin il faut prendre en compte ces changements
/etc/init.d/apache2 force-reload Configuration DNS
Il faut maintenant que lorsque l’on tape grml.eu, il redirige vers l’adresse ip du serveur
voici la config utilisée chez gandi

Configuration de la mutualisation
Copier le fichier /home/grml/public_html/mutualisation/mes_options.php.txt vers « /home/grml/public_html/config » et enlevez l’extension « .txt » . Ouvrez ce fichier et procédez au paramétrage.
Pour vous aider voici le fichier de config utilisé sur scriibe
- <?php
- $GLOBALS['taille_des_logs']=1000;
- #parametrage a faire
- $monTld="scriibe.net";
- require _DIR_RACINE.'mutualisation/mutualiser.php';
- $site = $_SERVER['HTTP_HOST'];
- $type_urls = 'propres2'; # par defaut, surchargeable ci-dessous
- switch($site) {
- case "www.$monTld":
- $site=$monTld;
- break;
- case 'www.spip-blog.net':
- $site='spipblog';
- break;
- case 'spip-blog.net':
- $site='spipblog';
- break;
- default :
- break ;
- }
- if ($site != "$monTld") {
- demarrer_site($site,
- 'creer_site' => true,
- 'creer_base' => true,
- 'code' => 'plouf',
- 'url_img_courtes' => true,
- 'creer_user_base' => true,
- 'mail' => 'ben.spip@gmail.com'
- )
- );
- }
- else {
- $GLOBALS['dossier_squelettes']=":mutualisation";
- }
- ?>
et celui sur GrmlEU
- <?php
- require _DIR_RACINE.'mutualisation/mutualiser.php';
- if ($site != $_SERVER['HTTP_HOST']) {
- include_spip('inc/headers');
- redirige_par_entete('http://'.$site.'/');
- }
- #define ('_INSTALL_TABLE_PREFIX', 'spip');
- demarrer_site($site,
- 'creer_site' => true,
- 'creer_base' => false,
- 'creer_user_base' => false,
- 'mail' => 'ben.spip@gmail.com',
- 'code' => 'ecureuil',
- 'table_prefix' => true,
- 'cookie_prefix' => true,
- 'repertoire' => 'sites',
- 'url_img_courtes' => true,
- 'url_creer_base' => ''
- )
- );
- ?>
On peut noter que pour scriibe, une base et un utilisateur mysql sont créés pour chaque site. Par contre sur GrmlEU, il n’y a qu’un user et qu’une seule base, avec un préfixe différent pour les tables de chaque site.
Normalement c’est tout ce qu’il faut .

