This machine is actually my mythtv box which is serving dual pupose to host my domain. Seems to handle the load ok, but don't slashdot me or I'll miss my scifi channel. Actually, I'm more worried about my wife missing one her shows, that would truly be a disaster! ;)
Here is a basic description of my system. If you have a similar setup (or want one), then the rest of this article may prove useful. Its been a while since I set all this up, so I may be lacking some details. Feel free to correct me as needed, or suggest a better way to things.
- Fedora Core 2
- Apache 2.0.x
- Tomcat 5.0.x (jdk 1.4.2.x)
- Postfix SMTP/Dovecot IMAP/Squirrel WebMail
- Pebble blog software 1.6.x
First you need to register a domain - I used GoDaddy to register mine, but any registrar should work just fine. The hardest part is coming up with a good name that hasn't already been taken.
Next you need someone to host your domain by providing DNS service for it. I use ZoneEdit because its free for up to 5 domains and does the job for me. A google search for "free dns service" will give you lots of choices. Once you sign up for an account, you need to create an entry for the domain name you chose above. The service should then tell you what DNS servers to use at the registrar for your domain (godaddy), so go back there and edit your domain to contain these DNS servers.
One pet peeve of mine is that the top level domain should resolve to the homepage rather than requiring the www prefix. Fortunately, this is the default behavior zoneedit, and it also defaults to adding a CName alias from www.yourdomain.com to yourdomain.com
Zoneedit also provides a mail service that will forward any address at your domain to a given email address. I prefer to host my own mail server (of course ;), so I disable this service and add a MX record from mydomain.com to mydomain.com. This way I can run my own SMTP/IMAP/Webmail servers. This may be too much for most sane people ;-)
You then need to setup any dynamic dns client to update your record in zoneedit whenever the IP address of your machine changes. I use ddclient on linux to do this, and it is setup as a daemon which checks every few minutes to see if the IP changes. This way I never have to worry about updating it manually because so long as my machine is on, zoneedit will have its correct IP. The custom part of my ddclient.conf config file looks like:
At this point everything should be setup to resolve your domain name to your machine. However, it can take few days for zoneedit/godaddy/dns to do the initial sync up, so don't be alarmed if you can't resolve your domain name to your ip address right away.
Thats all for now. Part 2 will contain the configuration of my server software - apache/tomcat and postfix/dovecot/squirrelmail