Après un petit problème de plantage récupéré, je veux déplacer WAMP du répertoire C: vers D:, pour avoir moins d'application sur le disque système, et faire plus simplement des sauvegardes.
- J'ai donc déplacé le dossier WAMP avec tout son contenu.
- J'ai repris les fichiers de configuration de chaque version Apache contenu dans 'D:\wamp\bin\apache\apache2.2.x\conf\httpd.conf', et j'ai changé toutes les occurrences 'c:/wamp/' par 'd:/wamp/' ;
- J'ai repris les fichiers php.ini de chaque version Apache contenu dans 'D:\wamp\bin\apache\apache2.2.x\bin\', et j'ai changé toutes les occurrences 'c:/wamp/' par 'd:/wamp/' ;
- J'ai repris les fichiers php.ini de chaque version Apache contenu dans 'D:\wamp\bin\php\php5.2.x\', et j'ai changé toutes les occurrences 'c:/wamp/' par 'd:/wamp/' ;
- J'ai modifié de la même manière le fichier 'wampmanager.ini' ;
- Et également pour les fichiers '.conf' du dossier 'alias/'.
Mais le serveur apache de Wamp ne veux pas démarrer !!
- 1 - Les chemins des services n'ont pas été changés.
- 2 - Déplacer le dossier complet de Wamp est une très mauvaise idée.
Arrivé à ce point, le plus simple serait de réinstaller Wampserver en procédant ensuite étape par étape.
- 01 - Quitter Wampserver - 02 - Sauvegarder le contenu du dossier wamp\www\ sauf le fichier index.php, c'est-à-dire vos sites locaux - 03 - Sauvegarder le contenu du dossier wamp\bin\mysql\mysqlx.y.z\data\ sauf les dossiers mysql et information_schema (si il existe), c'est-à-dire vos bases de données éventuelles. - 04 - Via paramètres, Panneau de configuration, Ajout/Suppression de programmes, désinstaller Wampserver - 05 - Supprimer totalement le dossier wamp (contenu inclus) - 06 - Redémarrer la machine - 07 - Vérifier, via Msconfig Onglet Services ou via Démarrer, Exécuter, services.msc que les deux services wampapache et wampmysqld n'existent plus et qu'aucun autre service apache ou mysql n'est démarré. - 08 - Verifier qu'il n'existe pas de fichier my.ini ou php.ini où que ce soit sur vos disques. Sinon, les supprimer. - 09 - En étant dans une session Administrateur, installer Wampserver 2.0, si possible à la racine d'une partition, par exemple C:\wamp ou G:\wamp ; Éviter les noms de chemin comportant des espaces ou des caractères accentués. - 10 - Sans restaurer aucun fichier, lancer Wampserver et vérifier les accès localhost et PhpMyAdmin - 11 - Via icône Wampserver, PHP, Extensions PHP, ajouter ou supprimer les extensions voulues ; bien attendre au moins 5 secondes entre chaque ajout ou suppression. - 12 - Quitter Wampserver - 13 - Relancer Wampserver et vérifier que vous avez toujours accès à localhost et PhpMyadmin - 14 - Quitter Wampserver - 15 - Modifier éventuellement le fichier wamp\bin\apache\apache2.2.xy\bin\php.ini selon la configuration souhaitée. - 16 - Relancer Wampserver et vérifier que vous avez toujours accès à localhost et PhpMyadmin - 17 - Quitter Wampserver - 18 - Modifier éventuellement wamp\bin\apache\apache2.2.xy\conf\httpd.conf et wamp\bin\apache\apache2.2.11\conf\extra\httpd-vhosts.conf en fonction de votre configuration - 19 - Restaurer vos sites (wamp\www\) - 20 - Relancer Wampserver et vérifier que vous avez toujours accès à localhost et PhpMyadmin et, selon vos souhaits, mettre ou non un mot de passe à root@localhost et gérer les utilisateurs et privilèges voulus. Si vous mettez un mot de passe à root@localhost, ne pas oublier de modifier le fichier wamp\apps\phpmyadmin3.x.y\config.inc.php - 21 - Quitter Wampserver - 22 - Restaurer vos bases de données dans wamp\bin\mysql\mysql5.1.3x\data\ - 23 - Relancer Wampserver
> Il n'y a de message d'erreur. Apache, php et MySql ne démarrent pas, tout simplement.
Les services ne PEUVENT PAS démarrer puisque vous avez changé Wamp de place après installation de Wampserver et que lesdits services font référence au dossier d'installation.
Vous pouvez essayer, mais sans aucune garantie :
- Lancer Wampserver, puis, à partir de l'icône :
- Apache, Service, Supprimer le service (Attendre quelques instants) - Apache, Service, Installer le service (Attendre quelques instants) - Apache, Service, Démarrer le service.
Il me semble quasiment indispensable, pour simplifier et faciliter les sauvegardes et ainsi les mises à jour PHP, MySQL et Apache de séparer les programmes des données. C'est pourquoi j'ai déplacé les « sites » en dehors de G:/wamp/www et les bases de données hors G:/wamp/bin/mysql/mysql5.1.x/data
A - Déplacer les sites virtuels autre part que dans G:/wamp/www B - Déplacer les bases de données autre part que dans G:/wamp/bin/mysql/mysql5.1.x/data
Nota 1 : Les procédures ci-dessous fonctionnent pour un déplacement sur un autre disque ou une autre partition locale, c'est-à-dire faisant physiquement partie du même ordinateur. Pas pu essayé pour un disque réseau. Nota 2 : Les explications qui vont suivre sont basées sur une installation de Wampserver sur G:\wamp. À adapter à votre configuration et aux numéros des versions Apache, MySQL et PHP utilisées. (Ici : Apache 2.2.11, MySQL 5.1.36 et PHP 5.2.10)
A - Déplacer les sites virtuels autre part que dans wamp/www A0 -- Quitter Wampserver A1 -- Créer un dossier où vous voulez mettre vos sites virtuels, par exemple : H:\www A2 -- Déplacer tous les dossiers et fichiers de G:\wamp\www vers H:\www (Fichier index.php compris) A3 -- Éditer le fichier G:\wamp\bin\apache\apache2.2.xy\conf\httpd.conf Remplacer les deux occurrences de G:/wamp/www/ par H:/www/ soit : DocumentRoot "H:/www/" <Directory "H:/www/"> A4 -- Éditer le fichier G:\wamp\bin\apache\apache2.2.xy\conf\extra\httpd-vhosts.conf Remplacer toutes les occurrences (Fonction du nombre de sites virtuels (Virtual Hosts)) de G:/wamp/www par H:/www soit, par exemple pour deux de mes sites virtuels : DocumentRoot H:/www/aviatechno DocumentRoot H:/www/le.pointu A5 -- Éditer le fichier G:\wamp\scripts\config.inc.php Remplacer $wwwDir = $c_installDir.'/www'; par $wwwDir = 'H:/www'; A6 -- Éditer le fichier H:\www\index.php pour remplacer deux chemins relatifs par deux chemins absolus remplacer $wampConfFile = '../wampmanager.conf'; par $wampConfFile = 'G:/wamp/wampmanager.conf'; Remplacer $aliasDir = '../alias/'; Par $aliasDir = 'G:/wamp/alias/'; A7 -- Lancer Wampserver
Lors de prochaines évolutions d'Apache ou de Wampserver, après installation, il ne faudra pas oublier d'effectuer les modifications ci-dessus pour retrouver ses sites locaux.
Nota : Procédure expliquée avec Wampserver installé sur G:\wamp Adaptez les chemins en fonction de votre installation B - Déplacer les bases de données autre part que dans wamp/bin/mysql/mysql5.1.x/data B0 -- Quitter Wampserver B1 -- Créer un dossier où vous voulez mettre vos bases de données, par exemple : H:\wwwbases B2 -- Déplacer *TOUS* les fichiers et dossiers de G:\wamp\bin\mysql\mysql5.1.36\data\ vers H:\wwwbases\ B3 -- Éditer le fichier G:\wamp\bin\mysql\mysql5.1.36\my.ini Remplacer datadir="G:/wamp/bin/mysql/mysql5.1.36/data/" Par datadir="H:/wwwbases/" B4 -- Lancer Wampserver
Lors de la prochaine évolution de version de MySQL, il ne faudra pas oublier de modifier, comme ci-dessus, le fichier G:\wamp\bin\mysql\mysql5.1.xy\my.ini pour retrouver vos bases de données, vos utilisateurs et vos mots de passe.
hum, cela me donne des idées... pour le jour où je me pencherai en détail sur la mécanique de WampServer
il me semble tout à fait envisageable d'implémenter un système pour définir des répertoires de données personnalisés à l'installation, distincts du dossier principal de Wamp
Et oui, cette procédure de séparation des programmes et des données date de six mois, mais il y avait bien plus longtemps que je l'avais appliquée.(1) Surtout pour les évolutions de versions de MySQL pour lesquelles il devenait "chiant" de devoir déplacer les bases alors qu'une modification d'une simple ligne dans my.ini résolvait le problème.
(1) En fin de compte, c'est une recopie d'une ancienne contribution qui avait été perdue lors d'un crash du serveur.
Otomatic : ------------------------------------------------------- > procédure de séparation des programmes et des données
Merci pour cette procédure, elle est très utile.
Comme précisé par Otomatic le 05 décembre 2009, il faut d'abord faire une sauvegarde au préalable, avant de suivre la procédure :
> - 02 - Sauvegarder le contenu du dossier wamp\www\ sauf le fichier index.php, c'est-à-dire vos sites locaux > - 03 - Sauvegarder le contenu du dossier wamp\bin\mysql\mysqlx.y.z\data\ sauf les dossiers mysql et information_schema (si il existe), c'est-à-dire vos bases de données éventuelles.
L'étape A4 (Éditer le fichier G:\wamp\bin\apache\apache2.2.xy\conf\extra\httpd-vhosts.conf ) est à faire en fonction du nombre de sites virtuels (Virtual Hosts) : elle n'est pas à suivre, s'il n'y en aucun site virtuel installé.
La séparation ayant recours à 2 procédures bien distinctes : A et B, du point de vue pratique, il est possible et conseillé de lancer d'abord la procédure A, de vérifier après que tout s'est bien déroulé, puis de lancer l'autre procédure B (il est plus simple de diviser une opération en 2 étapes, plutôt que d'essayer de tout faire en 1 seule fois).
Grand merci pour ce tuto, je n'aurai pas à déplacer tous mes sites, mon disque C ne sera donc pas rempli. Reste une question suite aux manipulations données par notre expert OTOMATIC que j'ai suivi pas à pas . Tout fonctionne mais lorsque je vais dans le menu à droite Wamp serveur je trouve un lien "Répertoire WWW" juste en-dessous de "Local Host" et "phpMyAdmin". Au clic sur "Répertoire WWW" le chemin me donne toujours l'ancien emplacement c:/wamp:www alors que je souhaiterais le faire pointer dans d:/www. Dans quel fichier dois-je modifier ce chemin d'accès ? En vous remerciant de votre aide