Installation optimisée (et multiblog) [Evelf]

Isoler ses fichiers personnels permet de simplifier et améliorer la pérennité de son installation Dotclear, notamment en ce qui concerne les mise à jour. Bien séparer ses fichiers : investir un peu de temps maintenant pour en gagner des tonnes ensuite.

Cette documentation permet l’installation d’un seul blog (monoblog) ou de plusieurs blogs (multiblogs). Vous pouvez ainsi commencer par la création d’un seul blog. Puis, plus tard, créer un autre blog très facilement.

Important :

Veillez à ne pas effacer les dossiers et fichiers situés dans le répertoire de Dotclear, ils sont nécessaires lors de la mise à jour automatique.

Installation de Dotclear

On suit scrupuleusement les indications de la page dédiée et on installe Dotclear dans son espace web. Pour simplifier la compréhension de cette documentation, nous conviendrons que le nom du répertoire de Dotclear est dotclear. Toutefois ce nom peut avoir été personnalisé lors de l'étape précédente. Cela ne modifie en rien le fonctionnement de Dotclear.

Votre URL d’admin est et restera toujours http://mondomaine.tld/dotclear/admin. En cas d’installation multiblog avec des blogs sur des noms de domaines différents, référez à la section dédiée en fin de page.

Avant de passer aux étapes suivantes, vérifiez que tout répond normalement : le blog créé par défaut, les différentes pages de l’administration, etc. Tout va bien ? Alors on continue !

Isoler les plugins

Dans tous les cas, les plugins seront toujours communs. La plupart d’entre eux permettent via leur réglages une activation individuelle.

Au même niveau que dotclear, créez un répertoire nommé all-blogs. Placez-y un sous-répertoire nommé plugins.

Ouvrez le fichier dotclear/inc/config.php. Repérez les lignes suivantes :

//Plugins root
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins');

et remplacez-les par :

// Plugins root - les plugins de base restent en place, les nouveaux vont dans /all-blogs/plugins
define('DC_PLUGINS_ROOT',dirname(__FILE__).'/../plugins'.PATH_SEPARATOR.dirname(__FILE__).'/../../all-blogs/plugins');

Les plugins que vous installerez seront désormais logés dans le répertoire all-blogs/plugins. En cas d’installation manuelle d’un plugin, n’oubliez pas de le placer dans ce répertoire uniquement.

Créer les bases du blog

Note :

Pour un multiblog, cette manoeuvre est à répéter pour chaque blog en modifiant l’identifiant unique, ici appelé blog. Utilisez, par simplicité, le même nom de répertoire que d’identifiant.

Etape 1 : Le répertoire de référence

Créez au même niveau que dotclear et all-blogs un répertoire. Son nom ne doit comporter ni accents ni espaces (une règle à suivre pour les fichiers et dossiers sur internet en général) et correspondra à l’URL de votre blog. Par exemple, pour un blog qui s’affichera à l’adresse http://mondomaine.tld/blog, nommez le dossier blog.

Etape 2 : Le fichier index.php

Pour un blog qui répond à l’adresse http://mondomaine.tld/blog, placez dans le dossier blog un ficher index.php avec le contenu suivant :

<?php
   /**
   placer le blog sur urldudomaine/blog :
   l'identifiant unique du blog est "blog"
   les fichiers de dotclear sont dans /dotclear
   */
   define('DC_BLOG_ID','blog'); # identifiant unique du blog
   require dirname(__FILE__).'/../dotclear/inc/public/prepend.php'; # chemin vers prepend.php
?>

Pour un blog qui répond à l’adresse http://mondomaine.tld/, placez le fichier index.php suivant à la racine, c’est-à-dire au même niveau que les répertoires blog, dotclear et all-blogs :

<?php
   /**
   placer le blog a la racine :
   l'identifiant unique du blog est "blog"
   les fichiers de dotclear sont dans /dotclear
   */
   define('DC_BLOG_ID','blog'); # identifiant du blog
   require dirname(__FILE__).'/dotclear/inc/public/prepend.php'; # chemin vers prepend.php
?>

Créer le blog

Connectez-vous à votre interface d’administration puis rendez-vous sur Système –> Blogs. Il existe déjà un blog « Mon premier blog », dont nous ne tiendrons pas compte. Nous le supprimerons plus tard. Créez un nouveau blog. Renseignez les différents champs de la manière suivante :

  • Identifiant du blog : blog (le même nom que vous avez choisi précédemment comme répertoire et répété dans index.php)
  • Nom du blog : Mon blog à moi (par exemple. Ce sera le nom affiché publiquement)
  • URL du blog : voir ci-dessous
  • Description : A votre convenance

L’URL du blog

1. répondant à http://mondomaine.tld/blog

L’URL du blog dépend de la Méthode de lecture de l’URL choisie :

  • en query_string, l’URL du blog doit être :
    http://mondomaine.tld/blog/index.php? ou http://mondomaine.tld/?
  • en path_info, l’URL du blog doit être :
    http://mondomaine.tld/blog/index.php/

2. répondant à http://mondomaine.tld/

L’URL du blog dépend de la Méthode de lecture de l’URL choisie :

  • en query_string, l’URL du blog doit être :
    http://mondomaine.tld/index.php? ou http://mondomaine.tld/?
  • en path_info, l’URL du blog doit être :
    http://mondomaine.tld/index.php/

Les thèmes et les médias

Il nous faut maintenant mettre en place les thèmes et les médias. Plusieurs possibilités peuvent être envisagées, mais nous nous limiterons à :

  1. Les blogs auront chacun leurs thèmes et leurs médias
  2. Les blogs partageront les thèmes et les médias

Créer les répertoires public et thèmes

1. Pour les blogs ayant chacun leurs thèmes et leurs médias

Créez dans blog deux sous-répertoires nommés public et themes. Allez chercher dans dotclear/themes le dossier default, récupérez-le sur votre ordinateur et renvoyez-le dans le dossier blog/themes. Vous pouvez aussi, si vous savez le faire, créer un lien symbolique vers dotclear/themes dans blog/themes. Comme précédemment, cette opération devra être répétée à chaque création d’un nouveau blog et, pour chaque blog, à chaque mise à jour de Dotclear (sauf en cas de lien symbolique).

2. Pour les blogs partageant les thèmes et les médias

Ajoutez dans all-blogs les deux sous-répertoires public et themes, donc au même niveau que plugins. Dans themes, créez la copie de default comme expliqué ci-dessus.

Régler les chemins

Depuis l’interface d’administration, rendez-vous sur l’extension about:config, repérez les champs public_path, public_url, puis themes_path et themes_url. Il n’y a aucune différence pour un blog à la racine.

Note :

Les public_path et themes_path sont des chemins sur le serveur relatifs à votre dossier dotclear. La valeur par défaut de public_path, public, désigne le dossier public dans le dossier dotclear. La notation ../ permet de remonter d’un niveau pour atteindre un dossier à côté de dotclear.

Les public_url et themes_url, par ailleurs, sont des points d’accès par le web, donc à partir de http://mondomaine.tld

1. Pour les blogs ayant chacun leurs thèmes et leurs médias

Modifiez les champs de la façon suivante :

public_path: ../blog/public
public_url: /blog/public
themes_path: ../blog/themes
themes_url: /blog/themes

Bien sûr, blog est à adapter au nom du répertoire de chaque blog.

2. Pour les blogs partageant les thèmes et les médias

Modifiez les champs de la façon suivante :

public_path: ../all-blogs/public
public_url: /all-blogs/public
themes_path: ../all-blogs/themes
themes_url: /all-blogs/themes

Et l’administration dans tout ça ?

1. Une administration séparée

L’avantage de la mise en place du multi-blog évoquée sur cette page est que le répertoire d’administration n’est pas accessible en tant que telle dans chacun des blogs définis, le répertoire admin/ n’y figurant pas.

Afin de rendre l’administration accessible, il est possible d’utiliser le blog "all-blogs" ayant servi pour l’installation initiale, par exemple en définissant un nom de domaine pointant vers ce répertoire. L’administration sera alors accessible via http://mondomaine.tld/all-blogs/admin.

Si vous avez la possibilité (ou la volonté) de définir un sous-domaine propre pour l’administration, il suffit de le faire pointer vers le répertoire all-blogs/admin (ou vers dotclear/admin en monoblog). Si le sous-domaine défini est admin.mondomaine.tld L'adresse d'administration sera alors http://admin.mondomaine.tld, tout simplement.

Important :

Après cette mise en place, n'oubliez pas de renseigner la valeur de DC_ADMIN_URL dans le fichier inc/config.php

2. Forcer l'administration en https

Il est possible de forcer dotclear à utiliser le https pour l'administration. Il suffit pour cela de rajouter la ligne suivante au fichier inc/config.php, avant la ligne contenant ?> :

   define('DC_ADMIN_SSL',1);

Il faut bien entendu au préalable que votre hébergement supporte le https.

Dans ce cas, l'authentification en http ne fonctionnera plus.

(merci à Black Angel)

Wiki powered by Dokuwiki.