Installations multiblogs

Note :

Les méthodes présentées ici ont été transmises par des utilisateurs et ne constituent pas une documentation « officielle ». Leur numérotation ne reflète que l'ordre de publication.

FIXME À revoir

Méthode 1 : un répertoire par blog

Objectif : une seule installation distribuant deux blogs :

Il existe différentes méthodes pour créer plusieurs blogs sur la même installation. Celle qui va suivre est très largement inspirée de ce post de Pasteur sur le forum. Elle offre l'avantage d'être facilement compréhensible et d'isoler les répertoires themes et public propres à chaque blog.

Attention :

L'identifiant du blog doit être strictement identique au nom du répertoire. C'est lui qu'on retrouvera également à la fin de l'url vers le blog. Il est impératif de respecter ces trois points : identifiant du blog = nom du répertoire du blog = fin de l'url du blog.

La procédure décrite ici concerne une installation acceptant le path_info. Si vous êtes en query_string il vous suffira de suivre le même tuto mais de remplacer le slash final de l'URL vers le blog par un point d'interrogation.</note>

Pour ne pas tout compliquer je n'ai pas cherché ici à enlever le index.php des adresses.

Etape 1 : installer Dotclear

On suit scrupuleusement les indications données dans la documentation et on installe Dotclear dans son espace web. Pour la suite de l'explication nous conviendrons que le nom du répertoire de dotclear est dc2.

Etape 2 : créer un répertoire par blog

Création à la racine de l'espace web (à côté de dc2 donc) de deux répertoires (blog1 et blog2 avec leurs sous-répertoires (public et themes) et un fichier index.php pour chacun d'entre eux.

Contenu du fichier index.php pour Joli blog Un

<?php
define('DC_BLOG_ID','blog1'); # identifiant du blog
require dirname(__FILE__).'/../dc2/inc/public/prepend.php';
?>

Contenu du fichier index.php pour le blog Joli blog Deux

<?php
define('DC_BLOG_ID','blog2'); # identifiant du blog
require dirname(__FILE__).'/../dc2/inc/public/prepend.php';
?>

N'oubliez pas de placer une copie intégrale du thème par défaut dans le répertoire themes de chaque blog.

Etape 3 : créer les blogs

(Exemple pour le blog Joli blog Un, La procédure sera sur le même principe pour chaque blog en remplaçant « blog1 » par l'identifiant correct.)

Création

Dans le menu latéral d'administration, cliquer sur Blogs puis sur Créer un nouveau blog et remplir ainsi les champs :

Réglages

Pour chacun de ces blogs nouvellement créés, rendez-vous (après l'avoir sélectionné comme blog actif 1) ), dans le menu latéral d'administration about:config. Vous aurez quatre champs à modifier :

Etape 4 : aiguiller chaque blog

Les trois premières étapes remplies il vous reste la dernière opération à faire : dans le répertoire de l'application (dc2), renommez le fichier index.php d'origine en orig-index.php 2) puis placez le fichier index.php suivant :

<?php
# ***** BEGIN LICENSE BLOCK *****
# This file is part of DotClear.
# Copyright (c) 2005 Olivier Meunier and contributors. All rights
# reserved.
#
# DotClear is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# 
# DotClear is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# 
# You should have received a copy of the GNU General Public License
# along with DotClear; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# ***** END LICENSE BLOCK *****
 
if (isset($_SERVER['DC_BLOG_ID'])) {
	define('DC_BLOG_ID',$_SERVER['DC_BLOG_ID']);
} elseif (isset($_SERVER['REDIRECT_DC_BLOG_ID'])) {
	define('DC_BLOG_ID',$_SERVER['REDIRECT_DC_BLOG_ID']);
} elseif (isset($_SERVER['REDIRECT_REDIRECT_DC_BLOG_ID'])) {
	define('DC_BLOG_ID',$_SERVER['REDIRECT_REDIRECT_DC_BLOG_ID']);
}else {
	# Define your blog here
	define('DC_BLOG_ID','default');
}
require dirname(__FILE__).'/inc/public/prepend.php';
?>

C'est fini. Chaque blog est créé, avec chacun son URL et ses fichiers en propre.

(Transmis par Kozlika - kozlika at free.fr - 13/01/2007)

1) On sélectionne le blog actif dans le petit menu déroulant tout en haut de la page.
2) Ce renommage est destiné à conserver une copie intacte du fichier d'origine pour pouvoir revenir en arrière en cas d'erreur.