Je suis un développeur Web et ma plate-forme de développement est Mac. J'ai installé une copie de Windows XP dans VMWare Fusion à des fins de test et d'utilisation de IE pour afficher mes sites Web. Apache tourne sur mon Mac avec plusieurs sous-domaines, comme test.localhost etc.
Comment puis-je accéder au serveur Web sur le système d'exploitation hôte à partir du système d'exploitation invité?
Merci d'avance.
VMWare Fusion enregistre une adresse IP sur votre Mac et vous pouvez l'utiliser pour pointer sur l'hôte à partir de la machine virtuelle. Vous pouvez le trouver avec ifconfig vmnet8
. Le mien 192.168.36.1 , le vôtre pourrait être le même.
Si vous utilisez des hôtes virtuels Apache et que vous essayez d’obtenir http à partir de cette adresse sur votre machine virtuelle, la page Apache par défaut sera probablement affichée. Vous aurez besoin de mapper les domaines sur votre hôte Windows:
Ouvrez C:\WINDOWS\system32\drivers\etc\hosts
dans le Bloc-notes et ajoutez vos noms d’hôte, 1 par ligne:
192.168.36.1 test.localhost
Ensuite, lorsque vous insérez http://test.localhost/
dans IE, il sera acheminé vers l'hôte virtuel Apache de votre Mac.
Utilisation de Fusion 6.0.2 sur OS X 10.9 Mavericks
éteindre votre machine virtuelle
ouvrez le menu "Machine virtuelle | Adaptateur réseau | Paramètres de l'adaptateur réseau ..."
dans la section "Bridget Networking", choisissez "Autodetect":
lorsque Win7 demande: "Voulez-vous autoriser le programme suivant à modifier cet ordinateur?" cliquez sur le bouton "Oui"
accédez à: "Ordinateur | Disque local (C :) | Windows | System32 | drivers | etc"
sélectionnez "Tous les fichiers" dans le menu déroulant à droite du champ "nom de fichier:"
double-cliquez sur le fichier "hôtes"
192.168.1.106 dans l'exemple
dans l'exemple, j'ai configuré deux sites: localhost et caeb.leo
J'espère que ça aide!
Andrew répond , bien que correct, il en manque une partie importante, à savoir que vmnet8
n'est utilisé que lorsque le système d'exploitation invité est configuré pour utiliser l'option de réseau ponté.
Si votre système d'exploitation invité utilise l'option réseau NAT, comme illustré dans cet exemple d'hôte Windows, vous devrez utiliser vmnet1
à la place.
Dans ce cas, l'adresse IP de vmnet1
192.168.119.1 permet d'accéder au serveur Web de l'hôte, alors que l'adresse IP de vmnet8
ne mène nulle part.
remarque, je donne cette réponse à ceux qui, comme moi, ont la même question que le titre mais pas exactement les mêmes spécificités de l'exécution d'Apache en tant qu'installation brute locale
double note, cette réponse est un mélange de la réponse de Andrew et Camaleo puisque ni l'un ni l'autre n'a fonctionné dans ma configuration (ne pointant pas sur l'IP de Mac et "Autodetect" de Bridged Networking ne fonctionnait pas pour une raison quelconque?), je ne sais pas si l'inclusion de Docker Machine provoque le hoquet
Si vous êtes configuré, c'est comme ça:
Dans Windows 10 VM, ouvrez le Bloc-notes en tant qu'administrateur (cliquez avec le bouton droit sur le bloc-notes pour l'option). Accédez à C:\Windows\System32\drivers\etc
et au lieu de Text Documents(*.txt)
, sélectionnez All Files
. Ouvrez le fichier hosts
et ajoutez une entrée d'hôtes pour l'adresse IP de votre ordinateur Docker (via docker-machine ls
). Selon notre exemple de configuration ci-dessus, la ligne ressemblerait à ceci:
192.168.99.102 myapp.test # or some other fitting name
Sauvegarder les modifications.
Remarque: Il n'est pas nécessaire d'arrêter ou de redémarrer votre machine virtuelle dans VMware Fusion 10 lors de modifications du réseau.
Dans les menus de VMware Fusion, sélectionnez Virtual Machine
/Network Adapter
/Network Adapter Settings
. Choisissez Share with my Mac
.
Si "Partager avec mon Mac" est déjà sélectionné, sélectionnez une autre option d'adaptateur réseau (telle que Bridged Network Automatic), puis re-sélectionnez "Partager avec mon Mac" pour vous assurer que les modifications apportées au fichier de l'hôte sont prises en compte
Les modifications de test sont en place à partir de Windows VM en envoyant une requête ping à l'adresse souhaitée (par exemple, "myapp.test" comme indiqué ci-dessus) ou en ouvrant Edge/Chrome en vérifiant si la page Web est chargée.
Notez que l'utilisation d'un nom de domaine se terminant par .test
est recommandée ou que Chrome peut toujours rencontrer des problèmes avec les erreurs HSTS