Setting up Subdomain in Apache2 and EditDNS
So, you want to setup a sub-domain? There's 2 things you need to do.
- Configure Apache2
- Add a Sub-domain to your EditDNS account (or your domain providers' control panel)
You should setup a subdomain on EditDNS first. Why, because it'll take time to propogate. That'll give you enough time to edit Apache's configuration files.
Before doing anything, make sure you can access your domain. If you can, then let's go ahead and create a sub-domain.
In the Record Name, type in subdomain.yourdomain.com
In the Type, select CNAME
Leave AUX and TTL alone
In the IP/Host, type in yourdomain.com
Click Add
Repeat as needed
Here's my EditDNS Entry. I added blog, bugs, forum, learn, and wiki to my account.
Apache2 Configuration
Launch your favorite text editor and edit the default file as root. The file is in the /etc/apache2/sites-available.
sudo nano /etc/apache2/sites-available/default
kdesu kate /etc/apache2/sites-available/default
And append this to the file:
<VirtualHost *>
DocumentRoot "/var/www/subdomain/kb/"
ServerName kb.knightlust.com
ServerAdmin dax@knightlust.com
ErrorLog /var/log/apache2/kb.log
<Directory /var/www/subdomain/kb/>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
Explanation:
- The DocumentRoot should be pointed to the directory where you installed your site or script. And it should be enclosed in quotation marks. Don't forget that.
- ServerName should have your subdomain
- ServerAdmin and ErrorLog is optional.
- The <Directory> should also be pointed to where you installed your site or script.
And here's for my other subdomains. So you see, just edit the entry above to fit your configuration.
Now before you reload Apache2, you need to make sure that the default file is linked in /etc/apache2/sites-enabled. Otherwise, it just won't work.
If there's no linked file there, issue this command:
sudo a2ensite default
Once everything's done, go ahead and reload Apache:
sudo /etc/init.d/apache2 reload
Blogged with Flock