Accessing virtual host from computer on same local network

35,209

Solution 1

Ok So Seto El Kahfi's reply to my very old question led me to do some more research and reading on Apache's website.

So what I got is this, my NameVirtualHost directive was improper. So Instead of this,

NameVirtualHost project:81

<VirtualHost project:81>

    DocumentRoot "D:/work/website"
    ServerName project:81
    <Directory "D:/work/website">
    Options Indexes FollowSymLinks Includes ExecCGI    
    AllowOverride All
    Order Allow,Deny
    Allow from all
    </Directory>
</VirtualHost>

What I had to do was this.

NameVirtualHost *:81

<VirtualHost *:81>

    DocumentRoot "D:/work/website"
    ServerName project
    <Directory "D:/work/website">
    Options Indexes FollowSymLinks Includes ExecCGI    
    AllowOverride All
    Order Allow,Deny
    Allow from all
    </Directory>
</VirtualHost>

Notice the ' * ' , I could have used an IP Address there too.(In this case my server's(machine A) local IP) both work. Now all I had to do is enter "project:81" on the client machine, and I get what my eyes wished to see.. :)

Few things I got from this.

1) How to use NameVirtualHost(or what it's purpose basically is.). Read More here http://httpd.apache.org/docs/2.2/mod/core.html#namevirtualhost This one is also good http://www.thegeekstuff.com/2011/07/apache-virtual-host/

2)You can use this via command line:

httpd -D DUMP_VHOSTS

to know how your virtual hosts are setup(will also give you some warnings regarding precedence if something's wrong with your setup)

3)Other's gesture to help you makes you help yourself.. :) So keeping helping and rocking.

Solution 2

Have you try to include the port at your client host's file?

192.168.1.7:81 project

Share:
35,209
codisfy
Author by

codisfy

Technology Fan, Eager to learn, Ready to work hard, Up for challenges. Also, A certified PHP developer, although not biased toward any particular language :)

Updated on July 22, 2022

Comments

  • codisfy
    codisfy almost 2 years

    I am trying to make a setup so that I can access my website on a virtual host in computer A from computer B. Both A and B are on the same network. I am using xampp on Win 7.

    So here is as the problem goes computer A(server) has a virtual host configuration as follows in the httpd-vhosts.conf file.

    NameVirtualHost project:81
    
    <VirtualHost project:81>
    
        DocumentRoot "D:/work/website"
        ServerName project:81
        <Directory "D:/work/website">
        Options Indexes FollowSymLinks Includes ExecCGI    
        AllowOverride All
        Order Allow,Deny
        Allow from all
        </Directory>
    </VirtualHost>
    

    (using port 81 as port 80 has IIS running, dont know much about these things however)

    this configuration works fine on the local machine(server). i.e project:81 in the address bar of the browser opens up the website as it should.

    Now on computer B(client) I changed the hosts file to contain the IP of the server along with the name of the virtual host like:-

    192.168.1.7 project

    now when I enter project:81 on the client browser .. it takes me to the server but its not taking me to the virtual host directory, instead it takes to the default directory .. i.e in my case is

    C:\xampp\htdocs

    Now I am stuck and unable to make the client to point to the current destination. So can anybody suggest what I am doing wrong here or something else I need to do in order to have access to the correct virtual host site from the client machine.

    Thanks in advance for any help