Installer un blog Dotclear sur Debian
Dotclear est un système de gestion de blog écrit en PHP / MySQL. C'est un concurrent de WordPress. Ayant testé WordPress, mais ayant été peu convaincu par sa mécanique interne, mon choix s'est porté vers Dotclear. J'en suis d'ailleurs très heureux, car Dotclear respire le professionnalisme : l'essayer, c'est l'adopter :). Ce guide vous permet d'installer rapidement DotClear sur une Debian.
Versions de Debian supportées
Ce guide a été testé sur :- Debian 5.0 Lenny
Pré-requis
En premier lieu, vous devez installer un serveur HTTP avec le support du PHP. Pour ce faire, vous pouvez suivre mon guide Installer Lighttpd et PHP 5 sur Debian 4.0 Etch et 5.0 Lenny.
Vous devez ensuite installer les extensions PHP et autres logiciels nécessaires:
/usr/bin/apt-get install php5-mysql apg
N'oubliez pas de rechargez la configuration de PHP, par exemple :
/etc/init.d/lighttpd force-reload
Installation
Téléchargez la dernière version de Dotclear:
/usr/bin/wget http://download.dotclear.net/latest-2.0.tar.gz \
--output-document=/tmp/latest-2.0.tar.gz
Décompressez l'archive ainsi obtenue:
/bin/tar --directory=/opt -xzf /tmp/latest-2.0.tar.gz
Supprimez certains fichiers inutiles:
rm /opt/dotclear/CHANGELOG
Configuration de la base de données
Vous devez ensuite créer une base de donnée DOTCLEAR pour votre installation. Pour ce faire, vous pouvez suivre mon guide Installer et configurer MySQL sur Debian 4.0 Etch et 5.0 Lenny.
Attention : Si vous avez suivi mon guide, vous pouvez passer ces lignes de commandes, sinon, remplacer les informations en gras par celles correspondant à votre base de données MySQL :
MYSQL_HOST=localhost
MYSQL_DB=DOTCLEAR
MYSQL_USERNAME=dotclear
MYSQL_USERPWD=dotclear_password
Une fois la base de donnée créée, nous reprenons le court normal des choses. En premier lieu, nous plaçons une valeur par défaut pour le nom d'hôte du serveur de la base de données:
if [ -z "$MYSQL_HOST" ]; then
MYSQL_HOST=localhost
fi
Configuration de Dotclear
Nous créons le fichier de configuration à partir du modèle fourni :
/bin/cp /opt/dotclear/inc/config.php.in /opt/dotclear/inc/config.php
Afin de protéger notre blog des attaques par injection SQL, nous générons des préfixes de tables aléatoires :
MYSQL_PREFIX=$(/usr/bin/apg -q -a 0 -n 1 -M NCL)
Nous générons une clef de chiffrement des mots de passe :
DC_MASTER_KEY=$(/usr/bin/apg -q -a 0 -n 1 -M NCL)
Afin de configurer l'URL d'administration de Dotclear, veuillez saisir l'URL de la racine de votre blog :
DOTCLEAR_URL=http://www.domaine.com/dotclear/
Nous renseignons le dossier de l'interface d'administration :
DOTCLEAR_ADMIN_FOLDER="admin"
Remarque : Par défaut, le dossier de l'interface d'administration est "admin". C'est une cible de choix pour les "script kiddies". Afin de sécuriser votre installation de Dotclear, vous avez la possibilité de modifier la configuration de votre serveur HTTP afin de protéger l'accès de ce dossier par un mot de passe, ou de le limiter à votre adresse IP. Une autre solution est de renommer ce dossier. C'est ce que font les 2 lignes de commandes suivantes :
DOTCLEAR_ADMIN_FOLDER=$(/usr/bin/apg -q -a 0 -n 1 -M NCL)
/bin/mv /opt/dotclear/admin /opt/dotclear/${DOTCLEAR_ADMIN_FOLDER}
Nous créons les dossiers destinés à contenir les données modifiables par le code PHP (cache, plugins, images, etc...).
/bin/mkdir /var/lib/dotclear
/bin/mv /opt/dotclear/plugins /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/plugins /opt/dotclear/plugins
/bin/mv /opt/dotclear/public /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/public /opt/dotclear/public
/bin/mv /opt/dotclear/themes /var/lib/dotclear/
/bin/ln -s /var/lib/dotclear/themes /opt/dotclear/themes
/bin/mv /opt/dotclear/cache /var/cache/dotclear
/bin/ln -s /var/cache/dotclear /opt/dotclear/cache
/bin/chown -R www-data:www-data /var/lib/dotclear
/bin/chown -R www-data:www-data /var/cache/dotclear
Nous appliquons la configuration de la base de données :
/bin/sed -i \
-e "s/\(define('DC_DBDRIVER',\).*/\1'mysql');/" \
-e "s/\(define('DC_DBHOST',\).*/\1'${MYSQL_HOST}');/" \
-e "s/\(define('DC_DBNAME',\).*/\1'${MYSQL_DB}');/" \
-e "s/\(define('DC_DBUSER',\).*/\1'${MYSQL_USERNAME}');/" \
-e "s/\(define('DC_DBPASSWORD',\).*/\1'${MYSQL_USERPWD}');/" \
-e "s/\(define('DC_DBPREFIX',\).*/\1'${MYSQL_PREFIX}_');/" \
-e "s/\(define('DC_MASTER_KEY',\).*/\1'${DC_MASTER_KEY}');/" \
-e "s|\(define('DC_ADMIN_URL',\).*|\1'${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/');|" \
/opt/dotclear/inc/config.php
Une fois la configuration de Dotclear terminée, il faut initialiser la base de donnée. Pour ce faire, connectez-vous à l'URL fournie par cette commande :
/bin/echo "${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/install"
L'URL d'administration de votre blog est fournie par la commande :
/bin/echo "${DOTCLEAR_URL}${DOTCLEAR_ADMIN_FOLDER}/"
Sauvegardes
Pour sauvegarder votre installation Dotclear, je vous conseille d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:
Installer et configurer Backup Manager sur Debian 4.0 Etch et 5.0 Lenny
Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de Dotclear avec la commande suivante:
/usr/bin/update-bm-folders add /var/lib/dotclear
/usr/bin/update-bm-folders add /opt/dotclear
Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article Installer et configurer MySQL sur Debian 4.0 Etch et 5.0 Lenny.
Pour aller plus loin
Réécriture d'URL
Si vous souhaitez améliorer l'aspect des URLs de votre blog, il est possible d'activer la réécriture d'URL.
Pour Apache, la configuration resemble à ceci :
RewriteEngine on
RewriteBase /dotclear/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1
Je vous laisse le soin de l'adapter à votre besoin.
Pour Lighttpd, voici un exemple de la configuration que j'utilise :
server.modules += ( "mod_simple_vhost", "mod_rewrite" )
$HTTP ["host"] == "blog.domain.com" {
server.document-root = "/opt/dotclear/"
server.indexfiles = ( "index.php", "index.html")
#server.error-handler-404 = "/index.php/"
url.rewrite-once = (
"^/(admin)/(.*)$" => "/$0",
"^/(xmlrpc|category|post)/(.*)$" => "/index.php/$0",
"^/(sitemap.xml|urllist.txt)$" => "/index.php/$1",
"^/([^\?]*)\.(.*)" => "/$0",
"^/(.*)$" => "/index.php/$1"
)
}
Source : Merci à Ludovic Toinel ( Geeek ) pour son article Dotclear 2 en mode PATH_INFO et Lighttpd 1.5.
Une fois ceci-fait, rendez-vous dans l'administration de votre blog, dans la page "Configuration du blog", et :
- retirez la partie "index.php?" du champ "URL du blog".
- Changez la "méthode de lecture de l'URL" vers "PATH_INFO".
- Vous pouvez aussi changer l'aspect des URLs de votre blog à l'aide du champ "Format d'URL des nouveaux billets".
Source : Merci à i_love_dc pour sa réponse au post URL rewriting / Réécriture d'URL dans le forum de Dotclear.
Une fois cette configuration effectuée, vous pouvez compléter cette configuration en installant l'extension My URL Handlers (page de téléchargement du plugin My URL Handlers).
Source : Merci à Sacha ( Les bricoles du web ) pour son article Nouvelle extension My URL Handlers.
Mise à jour
Téléchargez la dernière version de Dotclear:
/usr/bin/wget http://download.dotclear.net/latest-2.0.tar.gz \
--output-document=/tmp/latest-2.0.tar.gz
Décompressez l'archive ainsi obtenue:
/bin/tar --directory=/tmp -xzf /tmp/latest-2.0.tar.gz
Supprimez certains fichiers inutiles:
/bin/rm /tmp/dotclear/CHANGELOG
Copiez les nouveaux fichiers dans votre installation de DotClear (ignorez les erreurs de copie):
/bin/cp -r /tmp/dotclear/* /opt/dotclear/
/bin/chown -R www-data:www-data /var/cache/dotclear
/bin/chown -R www-data:www-data /var/lib/dotclear
Remerciements
- Merci aux développeurs de Dotclear.
réécriture d'url
Néanmoins, j'ai un (petit) problème avec la réécriture d'url et Dotclear.
Selon tes conseils j'ai changé le répertoire d'administration, seulement avec les règles de réécriture, lorsque je me rend sur blog.mondomaine.com/mondossieradmin il m'affiche la page 404 de Dotclear. Il faut que je me rende sur blog.mondomaine.com/mondossieradmin/index.php pour accéder au tableau de bord.
C'est vraiment rien de grave mais j'aimerais comprendre pourquoi… As-tu une idée?
Merci en tout cas pour tes super documents, on oublie souvent l'importance de la doc dans le logiciel libre et tu en produis des vraiment bien foutues. Merci encore donc!
what does vitamin b 12 do for weight loss
https://sites.google.com/site/weightlossluxury/weight-loss-diet-plans---mayo-clinic
Food for Google:
boxers weight loss plan
la weight loss plan 1
sagging breasts after weight loss surgery
weight loss that terrifies doctors
best weight loss diet dogs
kettlebell and bodyweight workout fat loss
loss new pill supplement weight
alternative weight loss blog
best way to lose weight from legs and hips
Serveur dédié Netissime
nous souhaiterions utiliser une partie de votre source pour la documentation de nos clients sur l'installation de Doteclear sur les serveur dédié Netissime est ce possible ?
Votre doc est bien faite
Cordialement
Emeline