IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

créer un VirtualHost


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut créer un VirtualHost
    Bonsoir,

    je souhaite créer un VirtualHost pour exécuter du code par un serveur local. Il y en a déjà plusieurs sur ma machine mais jamais créé par moi. J'ai pensé m'inspirer de l'existant, mais ça ne suffit pas. Je vous décris ce que j'ai fait et merci de me corriger pour que ça ne finisse pas par adresse introuvable...

    1- dans
    c:\web\Apache2453\conf\extra\httpd-vhost.conf, j'ai rajouté :
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <VirtualHost *:80>
        DocumentRoot "C:/projets/dvp/grunk/public"
        ServerName dev.grunk.fr
        ErrorLog "logs/dvp_errors.log"
        CustomLog "logs/dvp_access.log" common
    	#RewriteEngine on
    	#RewriteCond %{REQUEST_URI} /(index)|(home)(\..{3,4})?$ [NC]
    	#RewriteRule ^.* http://dev.dvp.fr [R=301,L]
    	#RewriteRule . /index.php [QSA,L]
    	<Directory "C:/projets/dvp/grunk/public">
    		Options Indexes Includes FollowSymLinks MultiViews
    		AllowOverride None
    		Require all granted
    	</Directory>
    </VirtualHost>

    2- dans C:\Windows\System32\drivers\etc\hosts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #
    127.0.0.1 localhost
    ::1 localhost
     
    127.0.0.1 dev.dvp.fr
     
    127.0.0.1 dev.tickets.fr
     
    127.0.0.1 dev.grunk.fr
    3- Dans C:\projets\dvp\grunk, j'ai mis le projet de grunk décrit ici : https://www.developpez.net/forums/d2...te-projet-php/
    Mais ça ne suffit pas car l'URL http://dev.grunk.fr/index.php se solde par adresse introuvable.

    Qu'est-ce qui manque ou qu'est-ce qui est faux SVP ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    Bonjour,

    essaye

    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    AllowOverride All

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    j'ai remplacé la ligne 12 de httpd-vhost.conf, comme tu le conseilles ; puis j'ai redémarré Apache (Win+R ; service.msc ; Apache/2.4.53 (Win64) PHP/8.1.4 ; redémarrer le service) mais pareil...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  4. #4
    Membre émérite Avatar de darkstar123456
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 1 896
    Points : 2 835
    Points
    2 835
    Par défaut
    Salut Laurent !

    C'est étrange... j'ai moi-même testé de mon côté en créant plusieurs Vhost et tout semble fonctionner correctement

    Voici ce que j'ai utilisé (basé sur ton post)

    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <VirtualHost *:80>
        ServerAdmin webmaster@my-localhost.com
        DocumentRoot "D:\htdocs"
        ServerName my-localhost.com
        ServerAlias www.my-localhost.com
        ErrorLog "logs/my-localhost.com-error.log"
        CustomLog "logs/my-localhost.com-access.log" common
    	<Directory "D:\htdocs">
    		Options Indexes Includes FollowSymLinks MultiViews
    		AllowOverride None
    		Require all granted
    	</Directory>
    </VirtualHost>

    Avec ceci dans mon fichier hosts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    127.0.0.1		my-localhost.com
    127.0.0.1		www.my-localhost.com
    T'es-tu assuré que accédais bien à l'URL via http et non https ?

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Merci pour ta réponse darkstar,

    j'ai bien mis dans la barre d'adresse http://dev.grunk.fr/index.php...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Laurent , voici la configuration minimal qui fonctionne chez moi sur windows :

    Vhost :
    Code apache : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <VirtualHost *:80>
        DocumentRoot "D:/www/_divers/php-skeleton/public"
        ServerName dev.skeleton
    	DirectoryIndex index.php
    	<Directory "D:/www/_divers/php-skeleton/public/">
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    Evidemment il faut adapter les chemins

    Et dans le fichier host de windows :
    Ca doit afficher un Hello world si c'est ok en appelant http://dev.skeleton .

    Note qu'il vaut mieux ne pas placer le projet dans un sous dossier de ton vhost actuel. Je ne sait pas comment se comporte apache dans ce cas là.

    Ais tu certains que le fichier httpd-vhosts.conf est bien inclus par ta configuration apache ? par défaut il ne l'ai pas et il faut ajouter ou décommenter dans httpd.conf la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut Docker simplifie tout ça
    Bonjour à tous

    Je suis un grand fan de Docker que j'utilise avec passion depuis un an. Docker vient totalement gommé ces "tracas".

    @Laurent : si tu peux installer Docker, voici un petit mode d'emploi

    Sur ton disque dur, crée un fichier un nouveau dossier p.ex. c:\jouons_avec_docker et rends-toi dans ce dossier.

    Crée un fichier index.php avec ce contenu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?php
    echo "Bonjour à tous";
    Démarre une session MS-DOS (càd clique sur le bouton Démarrer de Windows et exécute cmd.exe), rends-toi dans ton dossier càd cd c:\jouons_avec_docker.

    Et là, la magie est de taper docker run --rm --detach -p 85:80 -v %CD%:/var/www/html php:apache (remplacer %CD% par $(pwd) pour ceux qui sont sous Linux).

    Tu verras apparaître un long GUID. A ce moment-là démarre un navigateur et rends-toi sur la page http://127.0.0.1:85 et ... magie.

    Au lieu du fichier index.php bidon que j'ai donné, copie/colle le code de ton projet. Rafraîchis. Cela devrait fonctionner.

    Docker est juste un truc de ouf!
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  8. #8
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 222
    Points
    20 222
    Par défaut
    Je pense clairement qu'on va trop loin pour Laurent avec Docker.

    C'est effectivement un super outil que j'utilise tous les jours dans nos workflow Ci/CD mais je pense qu'il faut maitriser correctement ce qu'il abstrait avant de vouloir l'utiliser.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  9. #9
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Citation Envoyé par grunk Voir le message
    Je pense clairement qu'on va trop loin pour Laurent avec Docker.
    Oui, j'ai déjà plusieurs fois hésité à en parler (sachant les difficultés que Laurent a mémoriser les choses).

    J'ai abordé le sujet cette fois-ci parce qu'il est encore fait mention de complexités qui n'existent juste plus avec Docker (configurer un virtual host, changer de versions de PHP (un précédent post de Laurent), ...).

    Avant de répondre, j'ai testé mon petit scénario et il est fonctionnel. Avec quelques copier/coller c'est donc jouable ... pour autant que Docker est installé sur la machine.

    Mais oui, la prise en main pour des trucs plus hard est complexe mais ici, avec l'exemple que j'ai donné, cela reste la base.

    Bonne journée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    j'ai d'abord essayé de me passer de Docker. J'ai mis le projet à l'adresse C:/projets/grunk/, ai repris la config minimale de grunk, post #6, mais pas mieux. Donc j'ai essayé de faire avec Docker. D'abord, je l'ai installé puis ai voulu suivre les indications de cavo789 au post #7. Mais chez moi, au lieu de la magie
    Tu verras apparaître un long GUID
    ça donne
    C:\docker>docker run --rm --detach -p 85:80 -v %CD%:/var/www/html php:apache
    docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/create": open //./pipe/docker_engine: The system cannot find the file specified.
    See 'docker run --help'.
    Comment puis-je m'en sortir ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  11. #11
    Membre émérite
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 756
    Points : 2 990
    Points
    2 990
    Par défaut
    Docker daemon is not running qu'il dit. En français : et si tu lançais d'abord le programme Docker ? Il doit être exécuté et en tâche de fond
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    J'ai double-cliqué sur l'icône de Docker ; ça l'ouvre dans une fenêtre et affiche Docker Desktop stopping... et si je vais dans la fenêtre troubleshooting, la commande restart n'est pas active...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 496
    Points : 12 596
    Points
    12 596
    Par défaut
    @LaurentSc , mes élèves utilisent en Windows Laragon.
    Celui-ci offre une palette d'outil complet (faut un peu chipoter pour mettre PHP 8.1, mais c'est facile).
    L'avantage de cet outil de développement (a n'utiliser qu'en cas de dev hein ) est qu'il est automatique et notamment vas créer des VirtualHost, une fois créer, tu pourrais comparer pour voir comment lui réalise le truc.

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Windows Laragon.
    2 soucis pour avoir essayé cet outil (avant, j'ai essayé de m'en sortir sans lui, puis j'y suis venu (ce matin) comme rien ne fonctionnait)

    1- Même ayant installé Laragon et ayant créé avec une appli (vide), j'ai pas trouvé de virtual host créé (pas trouvé de httpd-vhost.conf)

    2- N'ayant pas pensé que ça allait créer un serveur local, je l'ai installé. Avant, y avait déjà un serveur local (pas installé par moi), et bien sûr, il ne fonctionne plus. Je ne sais pas revenir en arrière . J'ai désinstallé Laragon, mais le mal est fait. Puis-je m'en sortir ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 381
    Points : 5 732
    Points
    5 732
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    j'ai repris contact avec rawsrc (modo DVP jusqu'en avril 2020, et très fort, notamment en PHP orienté objet) ; c'est lui l'auteur de mes 2 premiers virtual host et de l'installation chez moi d'un serveur local (PHP8.1/MySQL/APACHE). Il a tout réparé ; le 3e virtual host est désormais opérationnel et je ne sais pas ce qui boguait avant car je ne vois aucune différence dans http-vhost.conf et dans hosts...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Centos - Créer un virtualhost pour test local
    Par Sof34 dans le forum Autres
    Réponses: 3
    Dernier message: 04/07/2010, 17h31
  2. Créer un interpréteur de langage inspiré du Basic
    Par Picasso dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 11/05/2002, 17h10
  3. Comment faire pour créer un bitmap
    Par GliGli dans le forum C++Builder
    Réponses: 2
    Dernier message: 24/04/2002, 15h41
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo