0

I'm running Ubuntu 10.04 with apache, rails, mysql, etc.

My rails site is running at www.example.com. I'm intending to use named-based virtual hosting and I have a virtual hosts file configured/enabled for www.example.com. My site is hosted on Amazon EC2.

The problem is that if I set up a new DNS record -- say test.example.com -- and browse to that, my site www.example.com is served up! That's without configuring any new virtual hosts.

And the same is true if I go to my DNS records and define test2.example.com, etc. Without touching my server, these new URLs serve up my website.

That's not what I want! I want to use name-based virtual hosting and host different sites for each subdomain.

Where could my problem be?

Here's my virtual hosts file:

ServerSignature Off
ServerTokens Prod
#NameVirtualHost *:80 - this is defined in a default config file already.

<VirtualHost *:80>
    ServerAdmin [email protected]
    UseCanonicalName On

    ServerName www.example.com
    DocumentRoot /home/ubuntu/example/public
    ErrorLog /home/ubuntu/example/log/error.log

    <Directory /home/ubuntu/example/public/>
           AllowOverride all
           Options -MultiViews 
    </Directory>

</VirtualHost>

1 Answer 1

2

If there aren't any matching virtual hosts to use, apache will use what it considers to be the default virtual host. If you want a blank page to display, set that as the first virtual host, then define your www.example.com entry afterwards.

5
  • thanks. So apparently my real problem is not what I thought it was. My real problem now appears to be that when I copy this virtual hosts file and edit it to add a new subdomain name, set up the corresponding site, etc., and enable the virtual host (a2ensite) and restart (graceful), apache immediately stops serving up any websites. Apparently apache crashes although I do not see any error messages. But all my sites go down and I have to revert and then restart apache. I thought this was because my virt host file (pasted above) had an error, but I don't see one.
    – MountainX
    Feb 18, 2011 at 0:48
  • @MountaomX try the command apache2ctl -t before restarting, it will tell you if there are syntax errors in the configuration.
    – Fabio
    Feb 18, 2011 at 0:52
  • OK, I went thru the steps, made a second site identical to the first, enabled it, checked with apache2ctl -t (response "Syntax OK"), ran /etc/init.d/apache2 graceful, and the first site went down (the 2nd never came up). I did a2dissite on the new virtual host and restarted apache and the first site came back up.
    – MountainX
    Feb 18, 2011 at 0:58
  • I should probably start a new question and mark this one as answered. Unfortunately, I don't even know how to describe my problem now...
    – MountainX
    Feb 18, 2011 at 1:07
  • Solved! Unbelievable... The problem was incorrect permissions on the log directory of the 2nd site. I never would have believed this would bring both sites down, so I was not looking for something like that. I was looking for something general to both sites.
    – MountainX
    Feb 18, 2011 at 1:32

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .