Cela fait maintenant quelques jours que nous avons migré le site depuis un hébergement mutualisé vers un serveur dédié. Enfin plus précisément vers un RPS (qui reste un serveur dédié avec son architecture propre mais utilise un disque dur réseau partagé).
Le but principal était surtout d’augmenter les performances du site au vu de l’augmentation de visites. On manquait de puissance de traitement, de traffic mensuel et d’espace disque (aussi bien pour les fichiers que notre base de données). Pour limiter les inconvénients, on a préféré rester chez notre hébergeur actuel (OVH) et leurs offres de RPS est assez intéressantes pour acquérir un serveur dédié à petit budget (à partir de 10€/mois). Certes les performances sont assez loin d’un bon vrai serveur dédié pro mais reste largement suffisante pour un hébergement perso qui demande quand même un peu de réactivité. Par contre, il faut savoir qu’il faut avoir une (bonne) base de connaissance d’administration réseau/système pour s’en servir correctement. En effet, même si OVH propose de fournir leurs serveur dédié avec une distribution prête à l’emploi pour le web (apache/mysql/qmail/etc…), il est indispensable de connaitre la gestion d’un serveur pour maintenir et/ou faire évoluer son serveur.
Après la livraison du serveur et les ajustements nécessaires (configuration et installation d’applications), la migration s’est effectuée en plusieurs étapes :
- Une première phase de test avec les fichiers et la base de données de l’ancien hébergement. On en a profité pour mettre à jour Dotclear (ça fait pas de mal !). Là premier soucis avec la base de données a été un problème d’encodage de caractères (classique) : les données en UTF-8 étaient réimportées en ISO Latin1. Pour régler ça, il suffisait en fait juste d’indiquer dans la configuration myqsl le format de traitement des données par défaut (SET NAMES utf8).
- Le jour J, les commentaires sur l’ancien hébergement sont fermés (pour éviter de nouvelles insertions en base) et l’import de la dernière version de la base de données est effectuée. Dans le manager OVH, on demande le changement des DNS du nom de domaine pour pointer vers l’IP du serveur dédié (en prenant soin d’indiquer l’IP Fail-Over) et on oublie pas d’indiquer en DNS secondaire sdns1.ovh.net (fourni par OVH). On oublie pas non plus d’enregistrer son nom de domaine dans le gestionnaire de DNS secondaire d’OVH (onglet Services du manager). La modification des DNS prend 24 à 48h le temps de la propagation des informations sur internet (de notre côté l’AFNIC a effectuée les modifications en quelques minutes et en moins de 24h le nom de domaine pointait vers notre nouvelle IP).
- No input file specified ! Ahah, celle-là je l’avais pas vu venir LOL Cette erreur s’affichait dès qu’on essayait d’accéder à une page autre que la page d’accueil (pratique !). Après investigation, il s’est avéré que cette erreur se produisait pour la raison suivante : notre serveur est configuré avec PHP en CGI et que pour une raison qui m’échappe encore la variable PATH_INFO était vide… Finalement, la première solution à été de basculer du mode PATH_INFO au mode QUERY_STRING sur Dotclear mais il restait encore des problèmes avec des liens assez particuliers (relatif aux plugins de Dotclear). La solution miracle, pour l’instant, à été celle-là : rester en mode PATH_INFO dans Dotclear et indiquer quelques règles de réécriture dans le fichier .htaccess pour intercepter la bonne variable dans la configuration de Dotclear.
Les lignes du fichier .htaccess qui font bien :
Options -MultiViews -Indexes +FollowSymLinks
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/?q123654=/$1 [L,QSA]
Il suffit ensuite d’ajouter dans le fichier de configuration de Dotclear quelque chose comme :
if (empty($_SERVER[‘PATH_INFO’]) && isset($_REQUEST[‘q123654’])) {
$_SERVER[‘PATH_INFO’] = $_REQUEST[‘q123654’];
}
Avec la mise à jour, on en a aussi profité pour faire quelques petits ajustements. Graphique déjà avec une petite retouche de style dans les commentaires et l’ajout du favicon à côté du lien des commentateurs. Mais aussi fonctionnelle en supprimant des plugins inutiles ou un peu trop gourmands (il reste encore le gestionnaire de galeries photo à changer).
Et enfin l’utilisation de FeedBurner pour la syndication de nos flux RSS (billets et commentaires). Cette étape a été un peu plus délicate a mettre en place car on voulait garder nos anciennes URL de flux RSS tout en utilisant le service FeedBurner (en clair rediriger les internautes vers FeedBurner mais ne pas rediriger FeedBurner). Là encore, une petite astuce de réécriture d’URL dans le fichier .htaccess le permet (à placer après RewriteEngine on et avant les réécriture propres aux billets) :
# Redirection du flux RSS des billets vers Feedburner
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^feed/rss2$ http://feeds.feedburner.com/VieDeGeek [R=301,L]
# Redirection du flux RSS des commentaires vers Feedburner
RewriteCond %{HTTP_USER_AGENT} !FeedBurner
RewriteRule ^feed/rss2/comments$ http://feeds.feedburner.com/VieDeGeek-Commentaires [R=301,L]
2 réponses à “Déménagement du site : compte rendu”
J’ai tout lu °_° (non sérieux faut tout lire là ? LOL )
Je suis déjà abonné au blog des geeks avec une vie socilale :p sur mon netvibes/blogs:
http://www.netvibes.com/cripo#Cripo
Coll pour le déménagement, j’espère que ce serveur est plus performant , car avant ça ramer parfois…