J'ai utiisé votre tuto "LE BESOIN DE VirtualHost" et aussi votre vidéo, que je trouve bien faits. Je pense avoir tout fait à l'identique. J'ai contrôlé plusieurs fois. J'ai même essayé des variantes mais j'ai toujours le même résultat. A savoir que j'utilise le lien dans le menu WampServer "Vos projet" "mon-projet.dev" ou "vos Virtualhosts" "mon-projet.dev"le navigateur affiche bien "mon-projet.dev" mais seulement une fraction de seconde pour afficher finalement : (localhost/mon-projet.dev/) Idem en passant par "Virtualhosts" "localhost"
Je n'ai donc pas le résultat attendu à savoir que le virtualhost pointe directement sur mon-projet.dev.
J'ai l'impression que la solution doit tenir à peu de chose, mais j'ai beaucoup cherché sans trouver la réponse. Pouvez-vous m'aider ?
Voici la configuration :
windows 7 64 bits Wampserver 3 64 bits Version Apache 2.4.17 Version PHP 5.6.16 Version MySQL 5.7.9 Icone WS verte
Les lignes actives dans c:\Windows\System32\drivers\etc\hosts sont celles que j'ai ajoutées comme préconisé dans votre tuto : 127.0.0.1 localhost 127.0.0.1 mon-projet.dev ::1 localhost ::1 mon-projet.dev
Accès à localhost : oui Accès à phpMyAdmin : oui
Antivirus/parefeu : Avira (que j'ai arrêtés pendant la manip dans c:\Windows\System32)
Chemin : C/wamp
Le fichier htpd-whosts.conf contient maintenant :
<VirtualHost *:80> ServerName localhost ServerAlias localhost DocumentRoot C:/wamp/www <Directory "C:/wamp/www/"> Options Indexes FollowSymLinks MultiViews AllowOverride all Require local </Directory> </VirtualHost>
<VirtualHost *:80> DocumentRoot "c:/wamp/www/mon-projet.dev" ServerName mon-projet.dev ServerAlias www.mon-projet.dev <Directory "c:/wamp/www/mon-projet.dev/"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require local </Directory> </VirtualHost>
Pour la ligne DocumentRoot j'ai essayé avec et sans les guillemets, apparemment ca ne change rien.
J'ai bien Décommenté (Supprimé le #) à la ligne #Include conf/extra/httpd-vhosts.conf dans le fichier C:/wamp64/bin/apache/apache2.4.17/conf/httpd.conf
> J'ai utiisé votre tuto "LE BESOIN DE VirtualHost" et aussi votre vidéo, D'une part, aucune video n'existe au nom de Wampserver et les VirtualHost. D'autre part, avec Wampserver 3, la création d'un VirtualHost s'effectue en trois clics.
Il serait bien d'effectuer la mise à jour en version 3.0.4
- Quel est le résultat de : Clic-Droit icône Wampmanager -> Outils -> Visualiser les VirtualHost examinés par Apache
Les VirtualHost ne se lancent pas par Vos projets.
Vous devez les lancer soit par le menu Vos VirtualHost ou directement dans la barre d'adresse du navigateur : 'http://mon-projet.dev/'
Pensez aussi à - vider le cache du navigateur - Clic-Droit icône Wampmanager -> Outils -> Redémarrage DNS
Alors, le tuto vidéo que je pensais être associé au forum est ici : [www.youtube.com]
Pour la petite histoire, j'avais déjà fait une première installation, commencer de développer mon projet prestashop, complexe puisque c'est en fait un déménagement de site (qui n'est pas actuellement en open source) avec transfert de données. Je m'étais rendu compte tardivement que j'avais omis de créer un virtualhost, et qu'il fallait le faire avant d'installer prestashop. J'ai tout désinstallé et je recommence.
Oui, la version 3 de wampserver contient un mode opératoire en 3 clics. Mais cela n'a pas fonctionné en ce sens que le virtuahost apparaissait bien sur wampmanager, mais quand je cliquais dessus, j’avais une page d'erreur. A ce moment là j'ai quand même installé prestashop mais le problème a persisté.
J'ai donc repris la mise en œuvre point par point. Maintenant je n'ai pus de page d'erreur, mais j'arrive sur localhost/mon-projet.dev. Bien sur j'avais aussi essayé de lancer directement par l'URL, mais j'ai le même résultat. Cela fonctionne comme une redirection vers localhost/mon-projet.dev
En fait j'ai l'impression que cela fonctionne à l'envers.
J'avais procédé à toutes sortes de vérification et redémarrages, les dns aussi. Je viens de recommencer sans changement. Je viens aussi de vider le cache de firefox, toujours sans changement.
J'avais aussi regardé le résultat pour : Clic-Droit icône Wampmanager -> Outils -> Visualiser les VirtualHost examinés par Apache Il ne me semblait pas qu'il y avait d'anomalie : VirtualHost configuration : Defaut server: localhost Virtual host : localhoast virtual host : mon-projet.dev
Où est-ce que pourrait se situer l'erreur ?
Je vais chercher la version 3.0.4, et voir ce que cela donne ensuite.
> J'ai quand même une inquiétude avec la mise à jour 3.0.4. On peut vraiment écraser wamp 3 avec ? C'est une « mise à jour », pas une nouvelle version. Vous ne vous posez pas les mêmes questions vis-à-vis des mises à jour Windows ?
Il n'y a rien de contradictoire dans le code et vous n'avez rien à y modifier.
> Où est-ce que pourrait se situer l'erreur ? Dans le fichier .htaccess de votre application. Si en tapant 'http://mon-projet.dev/' vous êtes dirigé vers 'http://localhost/mon-projet.dev/' c'est que cette redirection provient de votre projet lui-même.
mais cela dépend aussi des versions de Prestashop et il me semble bien que pour les versions récentes, c'est certains contenus de la table shop_url et les valeurs des enregistrements domain et domain_ssl.
Mais là, on est bien au delà du support de Wampserver et vous devriez trouver des réponses chez Prestashop pour le configurer avec un nom de domaine, en l'occurrence mon-projet.dev
D'après des informations trouvées sur Prestashop, ce fichier à l'air d'être comme tous les autres.
D'ailleurs, je n'ai pas compris pourquoi vous me parlez de réécriture d'URL.
Car ma question initiale portait et porte toujours sur le virtualhost. Puisque la procédure est prévue par Wamp et que je n'ai rien touché dans Prestashop, pourquoi cela viendrais de mon projet ?
Je rappelle que je repars entièrement à zéro et que j'ai juste réinstallé Prestashop, APRES avoir réinstallé wamp en faisant ce qu'il demande à l'installation, et après avoir utilisé la procéédure prévue par Wamp en 3 clics pour le virtualhost qui aurait déjà du fonctionner à ce stade sans que j'ai besoin de recourir à la procédure manuelle.
Donc comment est-ce possible que cela fonctionne d'habitude et pas dans ce cas, car cela ne me semble pas logique que ce soit Prestashop qui gère les virtualhosts de wamp. Vu que nous sommes en local, le problème se pose en général vis à vis du fichier setting au moment de la publication chez l'hébergeur, non ?
Est-ce que ce n'est pas prendre le problème à l'envers ?
J'ai encore fait des recherches et des essais sans succès.
Si quelqu'un à une idée pour une piste de solution afin que le virtualhost pointe bien directement sur le projet, sans passer par une procédure détournée comme la réécriture d'URL, ce serait sympa de partager.
Car si déjà en local on part sur ce type de pratique, qu'est-ce que cella va être quand il va falloir publier le site...
Êtes-vous aller voir les contenus des champs de la table shop_url (Ou équivalent) ?
Vous avez installé Prestashop avant de créer un VirtualHost alors que c'est le contraire qu'il faut faire. - Créer un VirtualHost - Installer Prestashop dans le VirtualHost en utilisant comme nom de domaine le ServerName.
"Vous avez installé Prestashop avant de créer un VirtualHost alors que c'est le contraire qu'il faut faire."
Oui, je fais un petit rappel :
C'est bien pour cela que j'avais tout désinstallé quand je m'en étais rendue compte (j'étais allée trop vite la première fois), et tout recommencé. Et j'avais alors utilisé la fonctionnalité intégrée à wamp qui permet la création du virtualhost.
Précision : A ce stade je n'avais pas encore installé prestashop.
Mais cela ne fonctionnait pas du tout. Le virtualhost apparaissait bien sur wampmanager, mais si je cliquais j'arrivais sur une page d'erreur.
J'ai installé prestashop à ce moment là.
Et j'ai repris la mise en œuvre manuelle. Depuis, je n'ai plus de message d'erreur, mais que j'utilise le lien wirtualhost "mon-projet.dev" ou le lien vos projets, ou que je saisisse "mon-projet.dev" dans le navigateur, j'arrive bien sur la page de mon projet en ligne mais avec l'url : localhost/mon-projet.dev
Le problème n'est pas que je ne puisse pas travailler avec, mais que cela signifie qu'il y a une erreur quelque part puisque vous avez vérifié les informations que je vous ai transmises ici et vous avez constaté qu'il n'y avait pas d'erreur dans ces scripts là.
Et donc ladite erreur, qu'on ne sait où elle est, peut en causer d'autres, notamment qui peuvent se révéler le jour où je publierai. C'est cela qui m'inquiète.
Je vais voir ce que je trouve avec la dernière information que vous m'avez donnée.
Merci, je reviens plus tard....
Modifie 1 fois. Derniere modification le 12/06/2016 à 11:19 par Ejo.
Je n'ai jamais installé Prestashop, mais, pour vous montrer comment on doit procéder et l'ordre dans lequel il faut procéder, je le fais « en temps réel » et sans tricher. - La première chose à faire est de regarder quels sont les prérequis pour installer Prestashop [doc.prestashop.com] et de configuirer le serveur local pour correspondre à ce qui est demandé. Pour mon cas, je passe le serveur sur les versions : - Apache 2.4.20 - MySQL 5.6.31 - PHP 5.6.22 en vérifiant que les extensions PHP ou modules Apache nécessaires sont chargés et que les paramètres demandés sont sur les bonnes valeurs.
--- Télécharger Prestashop 1.6.1.5 pour obtenir un fichier : prestashop_1.6.1.5_fr.zip
--- Créer le dossier dans lequel sera installé Prestashop j:\wamp\www\prestashop.dev\ (1)
--- Créer le VirtualHost correspondant (Je choisis le nom de domaine boutique-otomatic) - Lancer Wampserver - Lancer localhost - Lien Ajouter un VirtualHost - Dans nom du VirtualHost : boutique-otomatic (2) - Dans Chemin complet absolu : j:\wamp\www\prestashop.dev\ Le dossier créé en (1) - Bouton Démarrer la création du VirtualHost - Clic-Droit icône Wampmanager -> Outils -> Redémarrage DNS - Retour Accueil (Page localhost) Un nouveau VirtualHost "boutique-otomatic" apparaît dans la colonne Vos VirtualHost ; vu que le dossier correspondant à ce VirtualHost est vide, tout lancement de celui-ci donnerait une erreur
--- Lancez PhpMyAdmin - Cliquez Nouvelle base de données - Nom : prestashop (Mais on peut choisir un autre nom) (3) - Interclassement : utf8_general_ci - Bouton Créer - On peut quitter PhpMyAdmin
--- Dézipper le fichier prestashop_1.6.1.5_fr.zip dans un dossier temporaire On obtient : dossier prestashop fichier Install_PrestaShop.html - Ouvrir le dossier prestashop - Copier TOUS les dossiers et fichiers de ce dossier prestashop dans le dossier j:\wamp\www\prestashop.dev\ Le dossier créé en (1)
--- Depuis la page localhost, lancer le VirtualHost boutique-otomatic ServerName donné en (2) (Nota : c'est donc le fichier j:\wamp\www\prestashop.dev\index.php qui sera lancé automatiquement) On arrive sur la page de l'assistant d'installation de Prestashop. - Langue Francais puis bouton Suivant - Accepter les termes... puis bouton Suivant - Nom de la boutique : OtoBoutique (Ce que vous voulez) - Activité : Informatique et logiciels (Ce que vous voulez) - Je ne transcris pas les informations Nom, Prénom, Email et mot de passe - Bouton Suivant - Adresse du serveur de la base : 127.0.0.1 - Nom de la base : prestashop Nom donné en (3) - Identifiant et mot de passe de la base passés sous silence ! - Préfixe des tables : ps_ - Bouton Suivant Un « certain temps » (Plusieurs minutes)se passe pour la création des tables et d'autres « trucs ». Au pif, ça dure plus de cinq minutes.
--- Bien noter comment se connecter à l'administration (Back-office) Nota : Si on a oublié, regardez le nom du dossier j:\wamp\www\prestashop.dev\admin.... et, par exemple, vous pourrez vous connecter à l'administration par : 'http://boutique-otomatic/admin0975x4zkf/'
--- Supprimer manuellement le dossier j:\wamp\www\prestashop.dev\install\ - Depuis la page localhost, lancer le VirtualHost boutique-otomatic ServerName donné en (2) Et voilà, Prestashop est bien installé et fonctionnel en tant que VirtualHost.
Arrivé là, que contient le fichier j:\wamp\www\prestashop.dev\.htaccess Entre autres : #Domain: boutique-otomatic ServerName donné en (2) RewriteRule . - [E=REWRITEBASE:/]
Donc, bien le ServerName donné en (2) pour #Domain et non pas localhost. Et RewriteRule . - [E=REWRITEBASE:/] basé sur la racine du VirtualHost et non pas RewriteRule . - [E=REWRITEBASE:/mon-projet.dev/]
Et, qu'y-a-t-il dans la base de données ? Dans la base de données 'prestashop', table 'ps_configuration' :
id_shop name
PS_SHOP_DOMAIN boutique-otomatic ServerName donné en (2)
PS_SHOP_DOMAIN_SSL boutique-otomatic ServerName donné en (2)
PS_SHOP_NAME OtoBoutique
J'ai de suite 2 questions qui m'étaient venues déjà précédemment :
- est-ce que nommer : le dossier, le projet, et le virtual-host (domain) exactement du même nom tous les 3 - contrairement à votre exemple -pose un problème en créant une confusion dans les instructions ?
- la ligne "alias" dans httpd-whost.conf n'exécute-elle pas une fonction redondante par rapport à celle inhérente au wirtualhost ? Je pensais que c'était ou l'un ou l'autre, et là encore curieusement, avec ou sans rien ne change chez moi.
_ dans votre test : "Arrivé là, que contient le fichier j:\wamp\www\prestashop.dev\.htaccess Entre autres : #Domain: boutique-otomatic RewriteRule . - [E=REWRITEBASE:/]"
Le mode RewriteEngine est sur "on "ou "off" ?
J'ai à nouveau fait la modification et même configuré selon votre exemple, rien de change. Ce qui est encore plutôt surréaliste, car un tel changement devrait avoir un impact.
Et là encore la réécriture d'URL est mentionnée dans les textes comme une procédure de dernier ressort, et donc je ne vois pas pourquoi elle semble s'être mise en œuvre dans mon installation.
Je le laisse ainsi (comme sur votre exemple) pour les prochains tests. Je vais ressuivre toute la procédure. Apparemment je n'ai pas les mêmes versions que vous de tous les outils. J'ai : Version Apache 2.4.17 Version PHP 5.6.16 Version MySQL 5.7.9
Mais j'avais bien installé les paquetages microsoft Visual Stdio comme préconisé AVANT d'installer wamp.
> est-ce que nommer : le dossier, le projet, et le virtual-host (domain) exactement du même nom tous les 3 À partir du moment où ça répond aux règles syntaxiques des noms de domaine et des noms de dossier, ça ne pose aucun problème.
> a ligne "alias" dans httpd-whost.conf n'exécute-elle pas une fonction redondante par rapport C'est ServerAlias, pas alias. En principe, c'est souvent pour ajouter le préfixe www. Chez la plupart des hébergeurs, c'est soit fait par défaut, soit une option à cocher dans les paramètres du site.
Le mode RewriteEngine est sur On.
> Apparemment je n'ai pas les mêmes versions que vous de tous les outils. À partir du moement où ça correspond aux prérequis de Prestashop, ça ne pose aucun problème. Intentionnellement, je n'ai pas effectué l'installation avec PHP 7.0.x qui présente de grandes différences par rapport à PHP 5.6.x.
Vous n'êtes toujours pas allé voir le contenu des trois champs de la table ps_configuration