Ubuntu – ServerName not working in Apache2 and Ubuntu

apache-2.2subdomainUbuntuwildcard-subdomain

Setting up a dev LAMP server and I wish to allow dynamic subdomains, aka ted.servername.com, bob.servername.com.

Here's my sites-active file

<VirtualHost *:80>
    # Admin Email, Server Name, Aliases
    ServerAdmin     not@real.com
    ServerName      happyslice.net
    ServerAlias     *.happyslice.net

    # Index file and Document Root
    DirectoryIndex  index.html
    DocumentRoot    /home/sysadmin/public_html/happyslice.net/public

    # Custom Log file locations
    LogLevel        warn
    ErrorLog        /home/sysadmin/public_html/happyslice.net/log/error.log
    CustomLog       /home/sysadmin/public_html/happyslice.net/log/access.log combined

And here's the output from sudo apache2ctl -S

VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server happyslice.net (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost happyslice.net (/etc/apache2/sites-enabled/happyslice.net:5)
Syntax OK

The server hostname is srv.happyslice.net.

As you can see from apache2ctl when I use happyslice.net I get the default virtual host, when I use a subdomain, I get the happyslice.net host. So the later is working how I want, but the main url does not.

I've tried all kinds of variations here, but it appears that ServerName just isn't being tied to the correct location.

Thoughts? I'm stumped. FYI, I'm running Apache2.1 and Ubuntu 10.04 LTS

Best Answer

I had almost the exact problem you're having. It stemmed from the default ServerName (in /etc/apache2/conf.d/servername.conf) and the ServerName in my VirtualHost definition file (/etc/apache2/sites-available/site.com) being equal.

Related Topic