Articles

What do you need to run your own domain?

To run your own domain from home you need several items, most of which you probably already have in place if you have reading this on your home computer connected to either a DSL or cable modem.

 

A good internet service provider

Internet service providers come in all sorts and sizes: some offer bare bones connectivity, while on the other end of the spectrum they offer you 24/7/365 phone access to support, many customizable mailboxes, and a good amount of web space. However, the most important deciding factor for choosing your internet provider should be that they have no closed ports. Many providers routinely close certain ports for incoming traffic (i.e. to you, not from you), including those that are used by web servers (80 and 443), ftp servers (21), and mail servers (25).
The official reason is that they do this to improve security for their end-users, but the real reason is that they don't want people to run servers and clutter up valuable outgoing bandwith, bandwith that you are sharing with probably 50 other users in your neighborhood. If you are running a server a lot of your traffic will be outgoing (uploading), as opposed to downloading. For your average at home internet connection the outgoing bandwith is a lot smaller than your incoming bandwith.

Internet providers do not advertise that they are closing certain ports - before you get into any contract be sure to talk to their technical people and explain that you will run web and mailservers, and that you need ALL ports open both ways. Get this in writing or e-mail from tech support that indeed they have no ports closed. If they cannot answer your question or give you this information in writing, move on. There are enough fish in the pond and some one else will be happy to take your business.

If you have currently internet via your phone or cable tv company you need to do some research and check what their policy is on ports. You can check yourself if the ports are open, or you can ask your company.

If they are not open, ask if they can open them for you (20,21,22,25,53,80,443 are the most important). Prepare to look for another internet provider if they are not willing to do so - without these ports open you cannot run a full domain at home.

 

Another thing to check with your current or future internet provider is their policy on servers based at the end points (that is: you at home). Some do not allow it at all, others have limitations on the kinds of servers that you can host at home. Be sure that you are within policy conditions, as you don't want your domain yanked just when things are taking off because you violate their policy.

 

And last, but not least: check whether you can get a static ip address (much preferred) or have to deal with the extra admin of a dynamic ip address. Depending on the internet provider they will either flat-out deny you a static ip address, give you one for a couple of dollars extra per month, or ask you to upgrade to a business internet package. We'll discuss static vs. dynamic ip address in the next section.

 

Static vs. dynamic IP address

An IP address is a numeric representation of your domain name. If your IP address changes on a regular basis (which it might with cable/DSL), you have a dynamic IP which needs extra consideration and work when you set up your domain. Luckily, with a dynamic IP address your number normally only changes when you get disconnected for some time - if your ISP automatically disconnects you after a period of inactivity you can use an extra utility to keep your connection active.
A static (permanent) IP address is a lot easier, but might cost you a bit.
More about IP addresses and the required setup can be found in the section on setting up your name server.

A cable or DSL modem

Many of the internet providers nowadays provide you with a free cable or DSL modem if you obligate yourself to lets say a year's contract, or rent the cable or DSL modem to you for a few bucks a month.
Don't spent money to buy just a cable/DSL modem - if you need to spend money it is better served on a beefed up router that also acts as a cable/DSL modem.

I am running my web site on the freebie DSL modem Windstream (previously Alltel) gave me - I have set it up to act as a bridge between the internet and my firewall/router. This is probably the only requirement for the modem: look if it has an option to 'bridge' or to use a device in your network as a DMZ.

 

A router

The router will be the core of your internal network, and also acts as the traffic police to keep unwanted accesses from entering your network. To do this, you will want to have a router that has a built-in firewall, preferably with a 'stateful packet inspection' (SPI).

The second requirement for your router is that it should allow 'port-forwarding' - you will use this later to tell the router to send traffic meant for your web, mail, and other servers to the computer that runs the software for them.

Do not use a wireless router to connect your domain to the internet: wireless is too flaky and has a higher latency than the hardwired routers.

 

A Computer on which to run your domain

A simple computer will do here - an old desktop that you are not using for anything else can handle things pretty well: it can run your several of your servers (mail, web, dns, ftp) all at the same time.
You do want it to make it a standalone computer though - don't do your browsing, word processing, gaming, etc on it. More information on the computer hardware required is also available at the Server Hardware article.

 

A Unix based (Linux, MacOSX) operating system

For stability and security unix based operating systems are best - there will be tutorials on how to install a Linux variant on an old desktop, or on using Mac OSX.
Linux can be downloaded for free, and new Macs come with MacOSX installed.

A domain name of your own

You need to acquire a domain name from one of the companies that sells these - depending on which kind of domain you wish (.com, .org. .net, .us, .info, etc) it will cost you about $7 to $20 per year. The price varies by the top level domain, .com domains for example being more in demand also selling for a bit more, while e.g. country based top level domains go for less.
Most domain companies offer other services as well, like domain parking or forwarding, dns hosting, web hosting, etc. Some of these services come at an extra price. However, since you will be totally hosting all of your domain at home, don't pay extra for that. Shop around for a domain company that offers initial dns hosting (they all do) and an easy interface to get your domain transferred to your own name servers.

We'll be writing another tutorial that will guide you step by step though buying your domain, and subsequently transferring it to your own name servers.

 

Free software

All software that you need to run your domain at home is free.

That's right! In further tutorials we will go over how to install a name server (bind) to use for domain lookups to your domain name, we will be installing the free web server Apache (the number one web server in the world) and setting up your first web pages, and we will go over in detail how to set up your mail server at home (Postfix for smtp, dovecot for imap) and how to tweak it to be spam resistant.

Optional items

There are various optional items you might want to acquire. One of them is a UPS (Uninterruptable Power Supply), the other is a good back up solution.

Power outages happen. Luckily they are often of short duration (couple of minutes up to 15 min) and they can be easily taken care off by a UPS. Your domain server, router, and cable/DSL modem needs to be on the UPS. However, more importantly than power outages is that these UPS's will also shield against 'dirty current' - very short power spikes or drops on your electrical system when for example household applicances switch on and off. These spikes/drops will damage your equipment over time, and in the short term make your system less stable.

You also need to think about a backup solution. I'm sure you have something in place already for your other data - don't rely on your harddisks to stay alive forever, or at least until you upgrade to a new computer. Harddisk crashes happen.
Your backup solution can be as simple as manually backing up your complete system every week to DVD, tape, or external harddisk - or you can get software that automates this for you.

Personally, I am using a dual system of backing up manually to rewritable DVD's, and using FolderShare to automatically sync several important directories with other computers, hence creating a redundancy in my data storage. Although FolderShare is a Windows application, you can set up your home network in such a way that your Linux and/or MacOSX directories are visible to your Windows machine.

 

That's about all the hardware you need to get started with setting up your own domain.