Installer Dotclear

On franchi encore un cap dans l’installation d’un serveur web avec le mise en place de Dotclear.

Comme certains le savent, je suis fan de Dotclear depuis un bon moment maintenant et blablabla… (Je ne suis pas écrivain.) Donc c’est partie pour une installation d’un multiblogs Dotclear. On pourrait faire comme d’habitude en installant un paquetage car oui il en existe un de Dotclear pour Debian, mais on n’est pas comme ça, c’est plus drôle de le faire à la main !

Base de données

On va préparer MySQL pour accueillir la base de donnée de Dotclear, on peut le faire soit depuis la console SSH soit en passant par phpMyAdmin configuré précédemment.
Soyons fou, on va le faire depuis la console de notre VPS Sql. Une fois connecté on lance mysql :

mysql -u root -p

On créé notre table dotclear puis l’utilisateur dotclear qui aura les droits dessus, on n’oublie pas de remplacer IP_DU_VPS_WEB et MOT_DE_PASSE :

CREATE DATABASE `dotclear` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER ‘dotclear’@’IP_DU_VPS_WEB’ IDENTIFIED BY ‘MOT_DE_PASSE’;
GRANT ALL PRIVILEGES ON dotclear.* TO ‘dotclear’@’IP_DU_VPS_WEB’ WITH GRANT OPTION;

Fichiers

Le serveur SQL est prêt, maintenant on retourne sur notre VPS web, il faut télécharger la dernière version stable de Dotclear ( à l’heure ou j’écris ces lignes la dernière version est la 2.5) et la décompresser dans le répertoire qu’on à choisi lors de notre réflexion sur la structure des dossiers :

cd /var
wgets http://donwload.dotclear.org/latest-2.0.tar.gz
tar xzf latest-2.0.tar.gz
rm lastest-2.0.tar.gz
chown -R www-data:www-data /var/dotclear

Notre Dotclear est désormais dans /var/dotclear avec le bon propriétaire.

Sous-domaines

On va créer un premier hôte virtuel pour accéder à l’interface d’administration (et au setup) de Dotclear :

nano /etc/apache2/sites-available/admin.scribox.org

Avec pour contenu :

<VirtualHost *:80>
ServerAdmin contact@.fr
ServerName admin.scribox.org
ServerAlias www.admin.scribox.org
DocumentRoot /var/dotclear/admin/
<Directory /var/dotclear/admin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

On active le vhost et on recharge la configuration :

a2ensite admin.scribox.org
service apache2 reload

On fait les mêmes manipulations pour créer l’hôte virtuel de themes.scribox.org qui pointe sur /var/dotclear/themes/ .

Dotclear

Si on a bien configuré les champs CNAME des sous-domaines chez notre regisrar, l’interface d’administration de Dotclear est accessible depuis notre navigateur web :
test_dc_admin.png
On configure Dotclear via le wizard avec comme paramètres :

  • Database Type : MySQL
  • Database Host Name : IP_DU_VPS_SQL:PORT_SQL
  • Database Name : dotclear
  • Database User Name : dotclear
  • Database Password : MOT_DE_PASSE
  • Database Prefix : dc_

Ne pas oublier qu’on a changé le port de connexion au serveur MySQL lorsqu’on l’a installé, il faut donc le préciser dans le nom d’hôte de la base. (Database Host Name)
Depuis l’interface d’administration de Dotclear on créé un blog correspondant à notre compte et on utilisera les sous-domaines de scribox.net pour les blogs :
dc_first_blog.png

Blog

Pour l’instant la partie public du blog n’est pas accessible car il faut qu’on créé le vhost correspondant, on commence à avoir l’habitude :

nano /etc/apache2/sites-available/jcdenis.scribox.net

<VirtualHost *:80>
ServerAdmin contact@.fr
ServerName jcdenis.scribox.net
ServerAlias www.jcdenis.scribox.net
DocumentRoot /home/jcdenis/www/
<Directory /home/jcdenis/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

a2ensite jcdenis.scribox.net
service apache2 reload

Si on vérifie dans notre navigateur web on se rend compte qu’il manque encore quelque chose !
dc_blog_noindex.png
Il faut ajouter un index avec la configuration du blog :

nano /home/jcdenis/www/index.php

<?php
define(‘DC_BLOG_ID’,’jcdenis’);
require ‘/var/dotclear/inc/public/prepend.php’;
?>

Thèmes

Si on vérifie dans note navigateur web on se rend compte qu’il manque encore quelque chose !!
dc_blog_notheme.png
Il n’y a pas de thème. Il faut modifier les paramètres de notre multi-blogs pour utiliser notre adresse de thèmes, pour cela on va dans le plugin aboutConfig et on modifie theme_path et theme_url comme suit :
dc_aboutconfig_theme.png
On vérifie une nouvelle fois dans notre navigateur web et la, miracle, ça fonctionne !
dc_blog_withtheme.png

URL

Il ne reste qu’une chose à faire: Avoir de belles URLs pour notre blog, en effet pour l’instant on a des …net/index.php?plop… et il serait plus joli d’avoir …net/plop…, pour cela on va utiliser la réécriture d’URL qu’on a activé lors de l’installation d’Apache en ajoutant un fichier .htaccess à la racine de notre blog et en modifiant les réglage du blog :

nano /home/jcdenis/www/.htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1

Et depuis l’interface d’administration de Dotclear dans les paramètres du blog on supprime ”index.php?’ de la fin de l’URL du blog et on passe en QUERY_STRING.
dc_blog_url.png
On ne tient pas compte de l’avertissement et on vérifie dans notre navigateur web avec par exemple l’adresse
http://jcdenis.scribox.net/archive
C’est quand même plus joli comme URL !
Si jamais on a une erreur 500, soit le mod_rewrite d’apache n’est pas activé (il faut alors faire les commandes a2enmod rewrite suivi de service apache2 restart ) soit on s’est trompé dans note vhost (on n’a pas mis AllowOverride All ).

Notre premier blog est en ligne !

Sécurisation

Pour être un peu plus tranquille, on va faire une revue des permissions et propriétaires de Dotclear.
On vérifie que notre Dotclear appartient bien à Apache puis on lui donne toutes les permissions ce qui permettra les mises à jour automatique, et pour les autres on laisse seulement les permissions de lire et exécuter :

chown -R www-data:www-data /var/dotclear/
chmod -R 755 /var/dotclear

On vérifie également la présence d’un fichier .htaccess contenant Deny from all dans les répertoires /var/dotclear/inc/ et /var/dotclear/plugins. On force la partie administration de Dotclear à utiliser SSL (protocole https), pour cela on génère un certificat SSL sur notre machine :

openssl req $@ -new -x509 -days 365 -nodes -out /etc/apache2/apache.pem -keyout /etc/apache2/apache.pem
chmod 600 /etc/apache2/apache.pem

On modifie le virtual host correspondant au sous-domaine de la partie administration de Dotclear:

nano /etc/apache2/sites-availabe/admin.scribox.org

<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/apache.pem

ServerAdmin ma.vrai@.mail
ServerName admin.scribox.org
ServerAlias www.admin.scribox.org
DocumentRoot /var/dotclear/admin/
<Directory /var/dotclear/admin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>

Ici on a ajouté l’écoute du vhost sur le port 443 (dédié à SSL) et on a dit d’utiliser le certificat créé un peu plus tôt.
On vérifie que le module SSL d’apache est chargé :

ap2enmod ssl

On modifie notre fichier de configuration de Dotclear pour lui dire d’utilise le mode https en ajoutant la directive à la fin avec la commande :

echo "define('DC_ADMIN_SSL',true);" >> /var/dotclear/inc/config.php

On redémarrage apache :

service apache restart

A partir de maintenant il sera obligatoire d’utiliser https:// pour accèder à la partie admin, sinon on sera redirigé vers la partie public du premier blog.

Optimisation

On ajoute à notre Dotclear deux plugins de gestion de cache pour cela dans l’interface d’administration de Dotclear, dans le menu SYSTEME=> Installateur DotAddict.org => Rechercher : on recherche le mot cache et on installe les plugins memCache et staticCache.
Puis dans la console SSH on modifie le fichier de configuration de Dotclear :

sed -i "/?>/i define('DC_SC_CACHE_ENABLE',true);" /var/dotclear/inc/config.php
sed -i "/?>/i define('DC_SC_CACHE_DIR',dirname(__FILE__).'/../cache/static');\n" /var/dotclear/inc/config.php

Résumé

Pour résumer, que faut-il pour accueillir un nouveau blog sur notre plateforme ? Un nouvel utilisateur système, son arborescence de répertoires, son compte FTP, son sous-domaine, son vhost, son blog. On pourra dans quelques temps essayer de faire un script de création de blog qui fera tout d’un coup…

Au suivant

Notre serveur prend vie, sa configuration se complète petit à petit, mais encore faut il le maintenir à jour.

Pour aller plus loin

Atbildēt

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti kā *