Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

So I installed Apache web server/MySQL/myPhpAdmin on my windows machine. It's on my desktop. Everything works where if I go to http://localhost, localhost/phpinfo.php and localhost/phpmyadmin.index.php they all show up on my machine.

Now I want other users to be able to access my website, which is http://localhost/page1.php I already did port forwarding on the machine where the server is hosted and forwarded port 80 on the ip address of the local machine since I have a router.

But people can't access this website from elsewhere or even on other computers within my home network. Do I have to actually get a domain from a site like godaddy or google? Or can I just have people connect to my local machine (which has the apache web server), and host my own website on it.

I am really confused on how to actually proceed after I installed my web server and created a page in my apache root directory. Can anyone guide me on how to set this up since I don't have any real experience in this area.

Thanks!

share|improve this question

migrated from stackoverflow.com Apr 4 '11 at 13:01

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

1  
Even if u opened up the port on your machine, the address won't be localhost it will most likely be your machine external ip, internal if you are trying to access from your local network –  Daniel Apr 4 '11 at 0:41

3 Answers 3

Check the Listen directive in your config file for apache httpd.

Also verify what addresses the server is LISTENing on. netstat -na is useful for that. It needs to listen on 0.0.0.0 (or *) or the address of your machine. Not 127.0.0.1.

share|improve this answer

So the problem you are likely having is that "localhost" should always be the local machine. (If not there's problems). So on your machine, it's your machine. On my machine it's my machine.

Assuming you have the port forwarding setup correctly, and your ISP permits traffic routing to port 80, other people should be able to hit your router's public IP address on port 80 (and get to your server's port 80).

You'll also want to verify your Apache setup. If named virtual hosting is setup, could mean that when you access the server locally through http://localhost/ you'll see one set of hosted content, but when someone else accesses the server through http://the-ip-address/ they could get other hosted content.

share|improve this answer

You should start by figuring out why other machines in the same network can't see your server. What happens when they try? Have you tried using both the machine name and IP address in the remote machine's browser? Do they give the same result?

share|improve this answer
    
When I tried to do do localhost on my laptop in the same network, the page just does not load i.e page does not exist. What do you mean by using both machine name and ip address? I tried to do the ipaddress:port and it does not work either. –  Eric Apr 4 '11 at 0:59
    
localhost is always the machine you're on. You cannot use localhost to refer to a remote machine. Can you ping machine a (the server with your php page) from machine b? –  Jason Apr 4 '11 at 1:22

Your Answer

 
discard

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