Installer et configurer son propre serveur de blog avec Ubuntu et Dotclear
Par NiKo le vendredi 29 avril 2005, 21:09 - Ubuntu
- Lien permanent -
15 commentaires -
Tags :
L'objectif est ambitieux, mais réaliste : Ubuntu linux est suffisament robuste, stable et performant pour assurer l'hébergement d'un blog personnel. En plus, linux étant par défaut beaucoup plus secure que Windows, et avec la démocratisation des abonnements internet proposants IP fixes et débit en upload supérieur ou égal à 128kbps à des tarifs dérisoires, pourquoi diable résister à la tentation de devenir son propre hébergeur ?
Dotclear, gestionnaire de blog - ou BlogMS - très simple d'utilisation et performant sera utilisé dans cet exemple.
Pour installer Dotclear sur Ubuntu Hoary, il nous faut :
- Activer les dépôts universe
- Un serveur web (Apache 2),
- Un serveur de base de données (MySQL) et son frontend web, phpMyAdmin,
- PHP, le langage web dynamique par excellence
Installation des paquets nécessaires
Installons les paquets nécessaires directement par le biais de la ligne de commande :
$ sudo -s
Password:
# apt-get update
# apt-get install apache2 apache2-common apache2-mpm-prefork \
libapache2-mod-php4 libapache2-mod-auth-mysql php4-gd \
php4-mysql php4 php4-dowxml php4-common php4-cli php4-cgi \
mysql-server-4.1 mysql-client-4.1 mysql-common-4.1 \
libmysqlclient14 phpmyadmin
Si le système vous pose des questions, répondez par oui (apache2, mysql, phpmyadmin).
Configuration de MySQL 4.1
Maintenant, on va affecter un mot de passe à l'utilisateur root de MySQL, qui n'a bien evidemment rien à voir avec l'utilisateur root du système :
# mysqladmin -u root password ici_votre_mot_de_passe
Vous pouvez d'ores et déjà accéder à phpMyAdmin, en tappant dans firefox l'adresse http://localhost/phpmyadmin/ et en entrant le login root et le mot de passe défini à l'étape précédente
Profitez-en pour créer la base de données que nous utiliserons pour notre blog Dotclear : nommez-là...suspense... dotclear ![]()
Si toutefois vous êtes allergiques à phpMyAdmin, vous avez la possibilité d'utiliser des frontends graphiques à MySQL :
# apt-get install mysql-navigator et mysql-query-browser
Configuration du serveur web Apache et installation de Dotclear
On va maintenant créer un répertoire www dans notre répertoire /home, en ayant pris soin de quitter le mode superutilisateur :
# exit exit $ mkdir ~/www
On en profite pour installer Dotclear directement en ligne de commande (vous pourrez par la suite épater vos amis) 
$ wget http://www.dotclear.net/download/dotclear-1.2.1.tar.gz $ tar -zxvf dotclear-1.2.1.tar.gz -C ~/www/
On va rendre accessibles en écriture certains dossiers et fichiers de dotclear :
$ sudo -s Password: # chmod 755 ~/www/dotclear/conf/ # chown www-data:www-data ~/www/dotclear/conf/ # chmod 644 ~/www/dotclear/conf/dotclear.ini # chown www-data:www-data # chmod 644 ~/www/dotclear/conf/UPDATE # chown www-data:www-data ~/www/dotclear/conf/UPDATE # chmod 755 ~/www/dotclear/images/ # chown www-data:www-data ~/www/dotclear/images/ # chmod 755 ~/www/dotclear/themes/ # chown www-data:www-data ~/www/dotclear/themes/ # chmod 755 ~/www/dotclear/ecrire/tools # chown www-data:www-data ~/www/dotclear/ecrire/tools # chmod 755 ~/www/dotclear/share/ # chown www-data:www-data ~/www/dotclear/share/
Il nous reste à paramétrer un vhost apache afin que vous puissiez stocker et installer votre répertoire dotclear dans votre répertoire home, ce qui facilitera la maintenance des fichiers (droits nécessaires).
# gedit /etc/apache2/sites-available/default
Juste avant la ligne </VirtualHost> (la dernière du fichier), ajoutez le bloc suivant :
Alias /blog/ "/home/votre-login/www/dotclear/"
<Directory "/home/votre-login/www/dotclear/">
Options Indexes MultiViews FollowSymLinks
</Directory>
Voila, on va redémarrer apache :
# /etc/init.d/apache2 restart
Si tout s'est bien passé, on peut lancer l'installation de Dotclear dans notre navigateur préféré en pointant vers l'URL http://localhost/blog/install/
Répondez aux questions de dotclear; pour le paramétrage de la base de données MySQL, indiquez localhost comme serveur et dotclear comme nom de base de données.
Voilà, Dotclear est installé : il ne reste plus qu'à rédiger votre premier billet 
Rendre votre blog accessible au monde
Blogguer en local, c'est rigolo 2 minutes, mais ça lasse vite
Nous allons voir quelles sont les solutions qui s'offrent à nous pour rendre notre blog accessible au monde entier (tous en choeur : Waaaaaaah) :
- Si vous disposez d'une adresse IP fixe, il suffit de vous tourner vers un registrar comme Gandi ou OVH, afin d'y enregistrer un domaine et de le faire pointer vers votre adresse IP. Il faudra déclarer ce dernier dans votre fichier
/etc/hostsafin que le pont se fasse correctement. - Si vous ne disposez pas d'une IP fixe, il faudra alors vous tourner vers un système de redirection dynamique comme DynDNS.
Enfin, n'oubliez pas, si vous utilisez un routeur et/ou un firewall, de le(s) configurer pour accepter les connexions entrantes sur le port 80.
ENJOY 
15 commentaires (Ajouter un commentaire)
Nikel ta doc , merci beaucoup de nous en faire profiter. Bonne continuation
Salut,
merci pour ce guide d'installation, en faisant du copier-coller j'ai repéré une coquille:
- le nom du paquet Ubuntu pour la gestion du XML par PHP4 n'est pas php4-dowxml mais bien php4-domxml comme tout le monde avait corrigé de soi-même.
@+
Merci pour ce guide, DotClear tourne super bien sur ma Ubuntu maintenant, ainsi que sur celle d'un pote
Pour répondre à la question de Solo : oui, il est possible de faire héberger un nom de domaine avec une adresse IP dynamique. Le service est payant et s'appelle "Custom" chez DynDNS : www.dyndns.org/services/d...
Très bon guide, merci beaucoup !
ok,mais je fesait surtout allusion à la sécurité, histoire de donner le - de détails possible sur son installation, (version ... )
@ Solo : Je crois (si je dit pas de betises) que sur Webmaster-Hub, il y a un post sur la chose.
Yeps! ubuntu marche aussi en server web ^^ Bon je ne sais pas si il tiendra des milliers de visites/jours. Mais pour usage personnel, c'est d'enfer.
Ca fait un bout de temps que j'utilise ma machine comme server apache/php/Mysql et tout le reste. Sous ubuntu ca marche d'ailleurs très bien depuis ce temps là.
Et pour ma part je passe par dyndns. Et comem ils ont un client de mise à jour de l'ip sous linux...Que du bonheur.
Ben merci bien en tout cas pour cette info.

Est-ce que le registrar entre en compte? Chez certain il est possible de faire des redirections alors que chez le mien on ne peut que déclarer les adresses des serveurs DNS.
ps: merci de me dire si je peux continuer à "polluer" ton billet
solo: je confirme, on peut. Mon pote UltimateClem gère son domaine et ses sous-domaines avec sa propre machine, en utilisant DynDns pour faire pointer le tout correctement :
ultimateclem.net
Hyun > J'ai volontairement voulu faire super simple pour montrer la réelle simplicité de faire ce genre de trucs. Après pour tweaker apache faudrait un post dédié
solo > Les puristes te diront d'installer et configurer bind9 - mais bon, si on commence à n'écouter que les puristes
Je suis sous sarge.
J'héberge pas mal de sites en dev et un forums pour une pitite association. Ton histoire de fichier host m'intéresse. Je ne pensais pas qu'on pouvait héberger un vrai nom de domaine sans un serveur DNS. Jvais tester.
Sympa, mais on peut pousser un peu plus, genre parler du mod_deflate (compression), mettre un peu les mains dans le httpd.conf et php.ini et en mettant :
)
- ServerSignature Off
- ServerToken Prod
- php_expose Off
- ...
Rempli la partie "disable function" avec php_uname,system ... (et beaucoup d'autre
Et pour bien faire chrooter le tout, c'est facile, contrairement à ce que l'on pourrait croire....
kNo' > Bon j'ai pris en compte ta remarque et attribué les fichiers critiques à www-data. Vos remarques et suggestions sont attendues (mais pas les trolls, donc).
kNo' > Je suis super d'accord sur le chmod; cependant, je ne connais pas d'autres moyens pour qu'apache ET l'utilisateur aient accès tous les deux en lecture/ecriture aux fichiers/repertoires en question. Ou alors avec un groupe spécial possédant ces droits auxquels les deux users appartiendraient.
Si quelqu'un a une solution...
Je te le dis de suite : annoncer qu'une Ubuntu peut servir à faire un serveur web va attirer tous les trolls de la terre et les autres... Bref.
Très bon article, quand même, sauf pour un point MAJEUR à mon goût :
$ chmod 777 ...
Très mauvaise idée, si tu veux mon avis. DotClear exige en effet qu'un certain nombre de fichiers / dossiers soient ouverts en écriture. Mais de là à donner ces droits à TOUS les utilisateurs... C'est un trou de sécurité majeur, il me semble.
peut-être qu'on peut faire :
$ chown apache:apache [répertoire]
$ chmod 755 [répertoire]
Peut-être que je me trompe, après tout, je suis assez peu éprouvé dans l'art du sysadmin, mais un chmod 777 ça m'a toujours fait une drôle de musique dans la tête... (si je compte bien, il y a 12,5 ans, je faisais mes premiers pas sur un système Unix, depuis, j'ai gardé des sortes d'automatismes qui se sont réveillés quand j'ai basculé à Linux)
Pour les utilisateurs de DynDNS, je ne saurais que trop leur recommander l'usage du paquet ddclient, qui, une fois correctement configuré (là, c'est délicat, on dirait que la doc est très mal faite) permet de faire les mises à jour DNS automatiquement.
Petite explication : comme ton IP peut changer après déconnexion - reconnexion, imaginons que ton nom de domaine pointe sur 123.4.56.78 (ton IP avant coupure), et que lors de ta reconnexion ton fournisseur d'accès te refile la 32.125.125.136, patatras ! Si j'essaie d'aller sur ton domaine, je tombe... nulle part.
ddclient fait le boulot en faisant remonter l'info à dyndns.org, qui actualise le lien entre le nom de domaine et l'IP.
Mââââgic!