Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

On my Ubuntu host I have my local webserver. I installed VirtualBox and Debian as a guest.

I would like the Debian guest to be able to hit my webserver running on my Ubuntu host (for example, I just type http://localhost:8080/ in the browser under Debian).

How can this be done?

share|improve this question

migrated from stackoverflow.com May 23 '10 at 19:04

This question came from our site for professional and enthusiast programmers.

6 Answers 6

up vote 74 down vote accepted

Enable ONE network adapter. Set it to NAT and start your machine. Don't need to configure anything.

On guest machine's browser type http://10.0.2.2 which will show you the same content as "localhost" in the host OS.

10.0.2.2 is the "default gateway" for NAT connections and your guest OS' IP is 10.0.2.15

Of course you can set a "HOST-ONLY" or an "Internal Network" which will allow you another advanced configurations. I recommend to stay with NAT.

Enjoy

M.

share|improve this answer
4  
Ok, thanks! It's worked!.. Thanks a lot! That was the easiest way for me as I am newbie and can't effectively grasp more advanced solutions. –  Maxim May 25 '10 at 9:11
3  
Thank you for this answer. It has gotten me out a similar bind. –  kingkool68 Feb 4 '13 at 19:08
    
"Enable ONE network adapter". Where is this done? –  jshen May 8 '14 at 16:39
1  
Note: If you have name-based virtual hosts configured in apache on your host machine, then you can access them by simply creating a mapping in the guest's machines hosts file for 10.0.2.2 yourvirtualhostname.local (or whatever) –  User Aug 22 '14 at 1:12
1  
@ТомицаКораћ it does work. For example see: askubuntu.com/questions/36183/… however, you probably should open a separate question to get this solved. –  User Jan 6 at 17:11

The easiest way of allow uninterrupted access to your VirtualBox Guest machine is to set the network device as a 'bridge' to your eth0 on to your LAN.

The Guest machine will grab a LAN IP via DHCP from your router.

share|improve this answer

Also a point to make when using the ip address of 10.0.2.2 is if you're using MAMP for instance add the port number :8888 so the full address reads http://10.0.2.2:8888

share|improve this answer

What I found fixed the issue for me was making sure that the windows VirtualHost-Only adapter was set to the .1 address for the ip range so my virtual box host only adapter was 192.168.58.20 but the ip for the Windows adapter is 192.168.58.1

share|improve this answer

Well you can get Debian to hit your webserver, but not using localhost. You'll have to use the IP address of the Ubuntu host.

Assuming the guest OS is connected to the network, to grab the IP open up a terminal and type ifconfig. Should look something like 192.168.0.2.

share|improve this answer
    
Hi! Sorry for too late reply. ifconfig on my host shows 192.168.0.102 for eth0. When I enter this ip in firefox in guest it is trying to connect for a while and then connection is terminated: "The server at 192.168.0.102 is taking too long to respond"... So what should I try next? Thanks in advance. –  Maxim May 24 '10 at 17:52

If solution by @Melvyn does not work, as an alternative you can set you network adapter to be bridged.
Go to Settings -> Network -> then change Attached to to Bridged Adapter.

enter image description here

You should be able to call parent by it's hostname or external IP address you can get it by going to Command prompt and typing ipconfig /all enter image description here

enter image description here

Update If you are debugging with Visual Studio and using IIS Express.

go to C:\Users\[uesername]\Documents\IISExpress\config\applicationhost.config

find your website in <configuration>/<system.applicationHost>/<sites>/<site> (name can be deceptive try checking location on the disk in physicalPath attribute)

then add into <bindings> section new binding

<bindings>
    <binding protocol="http" bindingInformation="*:50766:localhost" />
    <binding protocol="http" bindingInformation="*:50766:48qzr12" />
</bindings>

where bindingInformation is *:[port]:[machineName]

Hope this saves you some time.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.