• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 832
  • Last Modified:

multiple virtual hosts on apache: no domain, but subdomains for network access to IP address?


Initial Goal:
- will access test website 1
-http://test. will access test website 1 as well

Next Goal:
http://test. will access test website 2, set up like test website 1

My first attempts are below. I tried changing the *:80 bits to (may or may not be wise). Website 1 still works fine. Typing in http://test. after apache restart brought up a not found error. :(

Any idea on how to get this to work for anyone on my network and also myself to start? I greatly appriciate your feedback in advance. :D

Best regards,

Listen 80

<IfModule mod_ssl.c>
    # If you add NameVirtualHost *:443 here, you will also have to change
    # the VirtualHost statement in /etc/apache2/sites-available/default-ssl
    # to <VirtualHost *:443>
    # Server Name Indication for SSL named virtual hosts is currently not
    # supported by MSIE on Windows XP.
    Listen 443


	ServerAdmin webmaster@localhost

	DocumentRoot /mnt/hgfs/mywebsite
	<Directory />
		Options FollowSymLinks
		AllowOverride None
		Allow from all
	<Directory /mnt/hgfs/mywebsite/>
		AllowOverride All
		Allow from all

	ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
	<Directory "/usr/lib/cgi-bin">
		AllowOverride None
		Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
		Order allow,deny
		Allow from all

	ErrorLog /var/log/apache2/error.log

	# Possible values include: debug, info, notice, warn, error, crit,
	# alert, emerg.
	LogLevel warn

	CustomLog /var/log/apache2/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from ::1/128 


ServerAdmin webmaster@localhost
ServerAlias test.
DocumentRoot /mnt/hgfs/mywebsite

Open in new window

2 Solutions
Dave BaldwinFixer of ProblemsCommented:
I've made Vhosts using IP addresses.  But to put 'test' in front of it requires a DNS or host lookup before it ever gets to the server.  I don't think that scheme is going to work for you.
UltrusAuthor Commented:
Thanks for the feedback. Maybe I could use ports instead? However that might not work the best as my IT gurus are going to set up some remote access forwarding goodness and needed specific ports specified.

I'm trying to figure out a way to test websites without putting them in a sub-directory, since some of the websites use doc root relative links and it gets messy when we go live with the sites.

Any thoughts on how to make this work? Maybe an htaccess file that handles redirects somehow?

Thanks again.
Ravi GoruTechnical ConsultantCommented:

my sincere advise is to stop trying with ip based virtual hosting. try name based virtual hosting, and configure a dns or use a hosts file.. such as ..


and everything should work ..or else comeback and lets try resolving the issues..

best of luck..


Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

UltrusAuthor Commented:
I'm reading up on DNS now. It appears I can edit a hosts file to get things going where they need to for a local network. I thought that was a client-side thing though. Would this work for users accessing the test server who don't have a custom hosts file on their machine, with a hosts file edited on the server? This question may seem silly after I read more. Feedback is welcome. I'll get back after some research.
Dave BaldwinFixer of ProblemsCommented:
For test purposes, I setup web sites on my local server using IP based virtual hosts.  You can give the sites any IP in the current network segment.  If the machine IP is, I would use something like,, and  IPs high enough to get them out of the DHCP range.  I have two Linux servers setup that way.

Yes, hosts file is client side.  You can put a lookup page in the main server wwwroot that lists all the web sites on the server.
DaveBaldwin is on the right track in the comment above:
I believe you might be blending the idea of name base and IP based hosting.  You can't really mix a name and an IP address together because one is DNS (or name resolution of some kind) and the other is the actual IP address of the site.  You would would likely want to use specific IP addresses for the testing you're trying to do.  If you use the IP addresses, it might be a little harder to remember which site is where but you do not have to register anything with DNS or create any host entries.
What kind of environment are you in and what do you have available to you?  Can you make requests to a corporate DNS team for requests such as this?  If so, managing IP based virtual hosts would not be hard but you would need to request a HOST (A record) from the DNS team for each name to map it to an IP. Also, do the applications care about the host name of the site?
One alternative to a hosts file would be just to have an HTML file with a list of links to the IP addresses.  something like a web page that says test one links to and test2 links to, etc and have all test users just start with that page as an index of testing sites available.  This is not as desirable having DNS setup correctly but it seems like an accetable workaround to what you're facing that avoids keeping many hosts files in sync with any changes you make to your sites.
UltrusAuthor Commented:
Thanks for the great feedback. I'm far less foggy now on how to make this work. For new IP addresses, my options are limited and restricted. However that's another topic and I don't want to drag this one out. Have an excellent weekend!

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now