Ce billet s'adresse principalement à ceux ayant franchis le pas du CMS (Content Management System), c'est-à-dire ceux ayant installé (ou cliqué sur le bouton "installer" de leur hébergeur) un système de gestion de contenu comme Wordpress, Joomla ou Drupal. Il existe à partir de ce moment, une peur que nous ressentons tous; celle de la mise à jour, du nouveau plugin ou encore du nouveau template... C'est vrai que ce serait dommage de tout casser par une erreur de manipulation ou encore un problème de compatibilité. Pour palier à ces problèmes, il existe en gros 2 solutions majeures. Le serveur local à base de EasyPHP/MAMP ou le serveur local dédié tournant sous linux, chacun possédant des avantages et des inconvénients que je vais tenter de vous résumer ici simplement. 
Petit prélude très important : que ce soit Wordpress, Joomla, Drupal ou tout autre CMS de ce type, il y a trois constantes pour un serveur local. Vous utiliserez Apache comme serveur Web, Php car c'est le langage star de ces outils et MySQL pour ce qui touche aux bases de données. Le serveur local basé sur EasyPHP et MAMPLa première solution, EasyPHP est pour Windows et la seconde, Mamp, pour Mac OSX. Je vais ici me limiter à vous exposer leurs avantages et inconvénients en accompagnant cela d'une petite explication sur leur installation (notez que cela mériterait des tutos détaillés pour chaque CMS).
Téléchargez-le à l'adresse suivante : Site de EasyPHP et faites très attention à la version que vous prenez. Vérifiez que votre site est hébergé sous la branche 5.2 ou 5.3 de Php, c'est capital. Au pire demandez au service technique. En effet, certains plugins ne fonctionnent pas en 5.3.x par exemple (je pense à Community Builder 1.2.1 sous Joomla, très populaire).
Installez votre CMS ou votre site dans /www se trouvant dans le répertoire d'installation de EasyPHP
Pour le reste, suivant votre CMS, vous devrez impérativement modifier votre fichier config. Par exemple, on va imaginer que vous avez installé un nouveau Wordpress, que vous avez récupéré un backup via un plugin sur votre site en ligne et que vous l'avez restauré sur votre PC. Vous allez donc avoir cela dans wp-config:
define('DB_NAME', 'LE_BACKUP_A_RESTAURÉ_LE_NOM'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_USER', 'LE_BACKUP_A_RESTAURÉ_LE_NOM'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_PASSWORD', 'LE_BACKUP_A_RESTAURÉ_LE_PASS'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_HOST', 'LE_BACKUP_A_RESTAURÉ_LE_SERVEUR'); // METTRE localhost
Testez sur un http://127.0.0.1 Vous devriez voir soit des messages d'erreur (et dans ce cas, plongez-vous dans votre configuration), soit votre site.
téléchargez-le à l'adresse suivante : Site de MAMP.
Ensuite vous n'avez plusqu'à faire un "drag and drop" vers la racine du dossier application et maintenant cliquez sur MAMP.app. Si tout est vert, ça fonctionne. Rendez-vous sur Safari et tapez http://localhost:8888/MAMP ou http://127.0.0.1:8888/MAMP.
Installez votre CMS ou votre site dans le répertoire /htdocs de MAMP.
Les différents dossiers de configuration sont dans le /conf de MAMP.
Pour le reste, suivant votre CMS, vous devrez impérativement modifier votre fichier config. Par exemple, on va imaginer que vous avez installé un nouveau Wordpress, que vous avez récupéré un backup via un plugin sur votre site en ligne et que vous l'avez restauré sur votre PC. Vous allez donc avoir cela dans wp-config:
define('DB_NAME', 'LE_BACKUP_A_RESTAURÉ_LE_NOM'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_USER', 'LE_BACKUP_A_RESTAURÉ_LE_NOM'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_PASSWORD', 'LE_BACKUP_A_RESTAURÉ_LE_PASS'); // NE PAS TOUCHER OU VÉRIFIER QUE C'EST BIEN LA MÊME CHOSE EN LIVE define('DB_HOST', 'LE_BACKUP_A_RESTAURÉ_LE_SERVEUR'); // METTRE localhost:8889 (port par défaut de SQL sous MAMP)
- Avantages et inconvénients
Avantages -C'est extrêmement simple à mettre en place ;
-Pour les plugins de base, les tests sont rapides à effectuer ;
-Ça vous donne une vue d'ensemble rapide des fonctionnalités de votre site en local ;
-On apprend en douceur.
Inconvénients -Les versions serveur de Apache, Mysql et Php ne sont pas forcément celles de votre serveur ;
-Vous êtes limité à ce qui vous est proposé ;
-Des logiciels sur votre système peuvent parasiter votre serveur local et parfois, créer des bugs qui ne sont là pas en live ;
-Les scanners de faille fonctionnent très mal avec ces installations ;
-certaines configurations htaccess, php.ini sont complexes à mettre en œuvre où donnent des résultats inattendus ;
-Les versions SQL, Apache, PhP ont des bugs différents de leurs homologues linux (surtout sous Windows) ;
-Certains plugins fonctionnent très mal (par exemple ce qui touche à la réécriture d'URL, les firewalls, certains anti-spams.) ;
-L'utilisation de CGI, perl, java, ajax pose parfois des problèmes propres à EasyPHP ou MAMP (bug d'affichage, script qui ne se lance pas, etc.) ;
-Parfois, beaucoup de modifications de fichiers config de notre site à faire (en général sous MAMP car sous EasyPHP c'est du conventionnel). Le serveur local sous LinuxIci, tout est plus compliqué mais également plus "juste". Je veux dire que dans le cas de figure d'un serveur local Debian par exemple, votre installation sera plus proche de la réalité et bien plus paramétrable. Pour cela, je développerai ultérieurement un tutoriel complet sur l'installation de son petit serveur privé, car si je le faisais maintenant, ce billet deviendrait bien trop long et le sujet de cet article se perdrait dans les dédales de la technique pure.
La principale chose que vous devez savoir, c'est que le serveur dédié local sous Linux va vous permettre d'avoir un accès complet à la configuration globale du serveur et si vous comptez investir dans un petit serveur de type kimsufi, ce sera un passage OBLIGÉ puisque vous devrez maîtriser de nombreux paramètres. Les configurations htaccess sont également plus simples à utiliser et à créer puisque, que ce soit EasyPHP ou MAMP, la stabilité n'est pas exceptionnelle.
- Avantages et inconvénients.
Avantages -Vous pouvez créer un véritable mirroir de votre site live ;
-Tous les plugins fonctionnent sans exception, y compris les firewall php, les antispams, etc. ;
-Vous pouvez tester votre site avec tous les scanners anti-faille sans problème ;
-Vous pouvez utiliser exactement les mêmes versions logiciels que votre hébergeur (qui vous les donnera en général si vous les lui demandez par email) ;
-Vos configurations htaccess pourront être testées à fond avant d'être déployées ;
-Vous apprendrez à maîtriser SSH, outil indispensable lorsque l'on prévoit se monter un serveur ;
-Vos protections anti-spams/anti-hacks seront sous votre contrôle et vous pourrez faire tous les tests imaginables ;
-Vous pouvez anticiper de grosses modifications technologiques comme le html 5 (et au passage tester des bêta de vos CMS qui utilisent ces technologies).
Inconvénients
- La complexité du système au premier abord ;
- Vous devrez tripatouiller les différents fichiers de configuration de base (php.ini et httpd.conf par exemple) ;
- Apprendre les bases de Linux (je le mets dans les inconvénients mais entre nous, c'est un plus pour l'enrichissement personnel...) ;
- Il faut créer un dual boot (donc 2 systèmes d'exploitations sur la même machine), un vmware (virtualisation) ou avoir un petit PC dédié. Pour ma part, la troisième solution est ma préférée.
ConclusionVous l'aurez compris, tout est question de besoins. Ce n'est pas le nombre d'avantages ou d'inconvénients qui compte mais ce que vous voulez faire de votre site et votre ambition à son sujet. Si vous avez un blog Wordpress/Joomla/etc et que vous ne voulez absolument pas tripatouiller votre code et juste vérifier des plugins classiques, EasyPHP et MAMP suffiront pour la plupart d'entre vous.
Par contre, si vous avez un serveur dédié pour votre blog ou que le code, les modules et plugins de sécurité avancés ainsi que les configurations complexes vous intéressent, vous serez trop limités pour reproduire fidèlement votre structure avec EasyPHP ou MAMP et le serveur dédié sous linux risque de s'imposer de lui-même. De plus c'est principalement dans ces cas que les sites lâchent en général.
|
Commentaires
Après je suis pas forcément le mieux placé pour parler sachant que c'est mon pain quotidien VMware.
Après, je n'ai plus utilisé de virtualisation principalement à cause de ma mauvaise habitude à installer une interface graphique parce que je suis une grosse flemme (je l'avoue) et que comme ça je clique au lieu de taper ce qui, quand on a un serveur dédié n'est franchement pas une bonne solution même si perso, je travaille tout de même énormément en ssh
D'un autre côté c'est une installation plus onéreuse à tout point de vue puisque 1 autre PC et de l'électricité supplémentaire.
Je me souviens également avec VMWare avoir eu de gros problèmes pour tester des scripts IPTable qui ne répondaient pas correctement en virtualisation mais parfaitement en live, ça m'avait un peu rebuté car j'avais passé des heures sur des forums pour trouver des solutions à mes problèmes.
S’abonner au flux RSS pour les commentaires de cet article.