Ich bin ein Webentwickler und meine Entwicklungsplattform ist Mac. Ich habe zu Testzwecken eine Kopie von Windows XP in VMWare Fusion installiert und mit IE meine Websites vorgezogen. Auf meinem Mac läuft Apache mit mehreren Subdomains wie test.localhost usw.
Wie kann ich vom Gast-Betriebssystem aus auf dem Host-Betriebssystem auf den Webserver zugreifen?
Danke im Voraus.
VMWare Fusion registriert eine IP-Adresse auf Ihrem Mac, und Sie können diese verwenden, um von der virtuellen Maschine auf den Host zu verweisen. Sie finden es mit ifconfig vmnet8
. Meines 192.168.36.1 , Ihr könnte dasselbe sein.
Wenn Sie virtuelle Apache-Hosts verwenden und versuchen, http von dieser Adresse auf Ihrer virtuellen Maschine abzurufen, wird wahrscheinlich die Standard-Apache-Seite angezeigt. Sie müssen die Domänen auf Ihrem Windows-Host zuordnen:
Öffnen Sie C:\WINDOWS\system32\drivers\etc\hosts
im Editor und fügen Sie Ihre Hostnamen (1 pro Zeile) hinzu:
192.168.36.1 test.localhost
Wenn Sie dann http://test.localhost/
in den IE eingeben, wird er an den virtuellen Apache-Host Ihres Mac weitergeleitet.
Verwenden von Fusion 6.0.2 unter OS X 10.9 Mavericks
schalten Sie Ihre virtuelle Maschine aus
Öffnen Sie das Menü "Virtual Machine | Network Adapter | Network Adapter Settings ..."
wählen Sie im Abschnitt "Bridget-Netzwerk" die Option "Autodetect":
wenn Win7 fragt: "Möchten Sie, dass das folgende Programm Änderungen an diesem Computer vornimmt?" klicken Sie auf die Schaltfläche "Ja"
navigieren Sie zu: "Computer | Lokale Festplatte (C :) | Windows | System32 | Treiber | etc"
wählen Sie "Alle Dateien" im Dropdown-Menü rechts neben dem Feld "Dateiname:"
doppelklicken Sie auf die Datei "hosts"
192.168.1.106 im Beispiel
im Beispiel habe ich zwei Standorte konfiguriert: localhost und caeb.leo
Ich hoffe es hilft!
Andrews Antwort ist zwar korrekt, jedoch fehlt ein erheblicher Teil, nämlich dass vmnet8
nur verwendet wird, wenn das Gastbetriebssystem auf die Option Bridged network eingestellt ist.
Wenn Ihr Gastbetriebssystem die Netzwerkoption NAT verwendet, wie in diesem Windows-Host-Beispiel gezeigt, müssen Sie stattdessen vmnet1
verwenden.
In diesem Fall ermöglicht die IP von vmnet1
192.168.119.1 den Zugriff auf den Host-Webserver, während die IP von vmnet8
nirgendwo hinführt.
Beachten Sie, ich gebe diese Antwort für diejenigen, die wie ich die gleiche Frage wie der Titel haben, aber nicht genau dieselben Besonderheiten beim Ausführen von Apache als rohe lokale Installation haben
doppelte Anmerkung, diese Antwort ist eine Mischung aus Andrews und Camaleos Antwort, da beide in meinem Setup nicht funktionierten (nicht auf Macs IP verweisen und Bridged Networkings "Autodetect" aus irgendeinem Grund nicht funktioniert hat?), nicht sicher, ob die Aufnahme dabei ist von Docker Machine verursacht den Schluckauf
Wenn Sie sich wie folgt einrichten:
Öffnen Sie in Windows 10 VM den Editor als Administrator (rechte Maustaste für die Option). Navigieren Sie zu C:\Windows\System32\drivers\etc
und wählen Sie anstelle von Text Documents(*.txt)
All Files
aus. Öffnen Sie die Datei hosts
und fügen Sie einen Host-Eintrag für die IP-Adresse Ihrer Docker Machine hinzu (über docker-machine ls
). In unserem obigen Beispielsetup würde die Zeile so aussehen:
192.168.99.102 myapp.test # or some other fitting name
Änderungen speichern.
Hinweis: Sie müssen Ihre virtuelle Maschine in VMware Fusion 10 nicht anhalten oder neu starten, wenn Sie Netzwerkänderungen vornehmen.
Wählen Sie in den VMware Fusion-Menüs Virtual Machine
/Network Adapter
/Network Adapter Settings
aus. Wählen Sie Share with my Mac
.
Wenn "Mit meinem Mac freigeben" bereits ausgewählt ist, wählen Sie eine andere Netzwerkadapteroption (wie Bridged Network Automatic) aus, und wählen Sie dann "Mit meinem Mac freigeben" erneut aus, um sicherzustellen, dass Änderungen an der Hostdatei vorgenommen werden.
In Windows VM werden Teständerungen vorgenommen, indem Sie die gewünschte Adresse (z. B. "myapp.test" wie oben gezeigt) anpingen oder indem Sie Edge/Chrome öffnen, um zu prüfen, ob die Webseite geladen wird
Beachten Sie, dass die Verwendung eines Domainnamens, der mit .test
endet, empfohlen wird oder Chrome möglicherweise weiterhin Probleme mit HSTS-Fehlern hat