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.

I have an OpenVZ VPS running Ubuntu 10.04, and a standard install of Apache2, PHP, the usual. I am trying to set up multiple hostname-based VHosts to allow all of my users to have access to some webspace, but when I define more than 1 VirtualHost entry in my httpd.conf, Apache will not start. Using 'service apache2 start' reports a failure, and 'apache2ctl start' runs fine, but apache isn't running after it finishes.

At the moment, I'm only trying to get 2 VHosts working, a real domain name, and a similar No-IP subdomain. Here is my httpd.conf:

NameVirtualHost *:80
Listen 80

<VirtualHost *:80>
  ServerName domainname.com
  ServerAlias *.domainname.com
  DocumentRoot /home/user1/www-pub
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  CustomLog /home/user1/logs/access.log common
  ErrorLog /home/user1/logs/error.log
</VirtualHost>

<VirtualHost domain.servegame.com:80>
  ServerName domain.servegame.com
  DocumentRoot /home/user2/www-pub
  LogFormat "%h %l %u %t \"%r\" %>s %b" common
  CustomLog /home/user2/logs/access.log common
  ErrorLog /home/user2/logs/error.log
</VirtualHost>

Am I missing something here? I've looked in the documentation, and as far as I can tell, everything should be working fine.

share|improve this question
    
ERROR LOG ERROR LOG ERROR LOG –  Ignacio Vazquez-Abrams May 5 '11 at 17:39
    
Where can I find this error log? The only logs I can find are the access and error logs for http requests. –  James May 5 '11 at 18:19

1 Answer 1

up vote 1 down vote accepted

apache2ctl configtest will show you why it isn't working.

My guess is that you cannot resolve domain.servegame.com, or it resolves to an IP that isn't bound to a nic on your computer but that is only a guess, Post the output of the configtest and we should be able to better help...

If you are only doing name based virtual hosting then change

<VirtualHost domain.servegame.com:80>

to

<VirtualHost *:80>

which will tell apache to listen on all ips.

You should also check the error log, which is in /var/log/apache2/ by default. Open it and look for anything related to your virtual host.

share|improve this answer
    
This is not the case, the configtest passes. Also, changing that doesn't fix anything. :/ Regardless, here's the output: 'james@vps2:~$ sudo apache2ctl configtest apache2: Could not reliably determine the server's fully qualified domain name, using 208.53.130.173 for ServerName Syntax OK' And yes, I know there's nothing at the IP, I'll add a redirect just as soon as I fix the VHost problem –  James May 5 '11 at 18:17
1  
well if the configtest passes, apache should start. Look in the errorlog (same errorlog as http requests) and it should have a line that says why it didn't start. –  Doon May 5 '11 at 18:30
    
Well, I found it. The log directory for the second VHost was never created. Thanks for your help Doon! –  James May 5 '11 at 18:49

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.