How do I access the host machine from the guest machine?

Viewed 125725

I've just created a new Windows XP VM on my Mac using VMware Fusion. The VM is using NAT to share the host's internet connection.

How do I access a Rails application, which is accessible on the Mac itself using http://localhost:3000?

7 Answers

On the XP machine, find your IP address by going to the command prompt and typing ipconfig. Try replacing the last number with 1 or 2. For example, if your IP address is 192.168.78.128, use http://192.168.78.1:3000.

You can use your host Mac's (or any other Mac on the network) 'local' name:

http://macname.local:3000/

where macname is the network name of your host (or other desired) Mac.

For future visitors: once you've got the IP address figured out, you can add an entry to the Windows hosts file, which is located at C:\Windows\system32\drivers\etc\hosts, to map the IP address to a (virtual) server name. Add a line like this:

192.168.78.1   myrubyapp

Now you can access the site in IE at the address http://myrubyapp:3000

If you use virtual hosts under Apache you'll need this to provide the correct server name.

  1. On the XP machine, Start -> Connect To -> Show all connections.
  2. Double click Local Area Connection.
  3. Click the Support tab.
  4. Take the Default Gateway IP <gateway-ip> and hit http://<gateway-ip>:3000 in your browser.

Gotcha: You must have http:// in the address or IE will give you "The webpage cannot be displayed".

I just spent an hour trying to get this to work following the steps on SO but mine ended up being a bit different.

VMWare settings

1.) Set VMWare connection to NAT
2.) run > cmd > ipconfig > copy Default Gateway value
3.) edit hosts file (c:/Windows/System32/drivers/etc/hosts)

  • add this to your hosts file:

<gateway-ip> yourserver.local

OS X settings

1.) edit Apache config (e.g., sudo vim /etc/apache2/httpd.conf)

  • add this vhost entry to your httpd.conf file:
NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    DocumentRoot "/path/to/your/project"
    ServerName yourserver.local

    <Directory "/path/to/your/project">
        AllowOverride All
        Options All
    </Directory>
</VirtualHost>
  • save & quit (:wq)

2.) Edit your hosts file (sudo vim /etc/hosts)

  • add this line to your hosts file

127.0.0.1 yourserver.local

3.) Restart Apache (sudo apachectl restart)

I found that I had to switch the connection setting on VMWare in order to restart the connection before these settings worked for me. I hope this helps.

Related