Et si je racontais ma vie avec lighttpd
Par hr le mercredi 7 novembre 2007, 00:37 - système - Lien permanent
La France serait un des pays comptant le plus de blogueurs, il n'y avait donc aucune raison que je fasse exception. Le problème étant que je souhaite séparer mes publications techniques de mes publications "3615 MyLife". Comment donc faire fonctionner 2 blogs avec une seule version du code de dotclear 2.0 et lighty ?
J'ai déjà expliqué, dans un post précédent, comment installer un dotclear 2.0 correctement avec lighty. En repartant de cette configuration, on va faire en sorte de créer un second blog sous l'url http://www.bonz.org/tech/ en utilisant le code placé dans le répertoire /blog/. Sur mon serveur, ce code se trouve dans le répertoire /usr/local/www/data/www.bonz.org/blog/.
L'intérêt d'un tel montage se trouve dans le partage du code du blog, la mise à jour de ce code se fait donc à la fois pour tous les blogs en un seul emplacement. Le partage de la zone publique dans laquelle se trouve les fichiers multimedia et le partage des thèmes. Dans l'ensemble on évite la duplication d'information.
On va commencer par créer un nouveau blog via l'interface d'administration de dc2. Le lien "Blogs" dans la colonne de gauche, permet d'obtenir la liste des blogs gérés par le site. La création d'un nouveau blog se fait par le lien "Créer un nouveau blog", les informations importantes sont l'identifiant et l'adresse du blog, respectivement tech et http://www.bonz.org/tech/.
Après avoir sélectionné le nouveau blog dans la liste déroulante du haut, utiliser le lien "about:config" dans les extensions pour obtenir l'accès à certaines variables de configuration. La variable public_url doit avoir la valeur /tech/public et la variable themes_url la valeur /tech/themes. Maintenant que le blog est correctement configuré, on peut passer à la configuration de lighty.
La méthode consiste à créer un alias de lien en premier lieu et de réécrire les adresses ensuite. Pour créer un alias de lien, rien de plus facile.
alias.url += (
"/tech" => "/usr/local/www/data/www.bonz.org/blog"
)
Je crée un alias entre l'url http://www.bonz.org/tech et le chemin système correspondant au code de mon blog. Je dois maintenant indiquer à dotclear 2 que je veux utiliser le blog dont l'identifiant est "tech".
# Dotclear2 env variable to get the right blog id
$HTTP["url"] =~ "^/tech/" {
setenv.add-environment = (
"DC_BLOG_ID" => "tech"
)
}
Le code de dotclear embarque un système permettant de passer cette information par une variable d'environnement. Les réécritures se font sur le même principe que celui exposé dans mon billet précédent sur le sujet.
url.rewrite-once += (
"^/tech/(archive.*)" => "/tech/index.php/$1",
"^/tech/(category.*)" => "/tech/index.php/$1",
"^/tech/(feed.*)" => "/tech/index.php/$1",
"^/tech/(page.*)" => "/tech/index.php/$1",
"^/tech/(post.*)" => "/tech/index.php/$1",
"^/tech/(tag.*)" => "/tech/index.php/$1",
"^/tech/(trackback.*)" => "/tech/index.php/$1"
)
Il faut penser à mettre en place les quelques protections d'accès déjà abordées sur les répertoires sensibles.
La configuration est terminée, après un redémarrage de lighty tout devrait se passer sans encombres!