Step 2. Decide on Your Connection
You can use Airport or Ethernet to connect to your server (Ethernet is faster), or, as in my case, you can use both.
I use Airport for my internal network, my basic Firewall, printer connection, and Internet access on my laptops. On my wife's machine I have both the Ethernet port and an Airport card connected. Her Apache Web server is directly connected to the DSL through the Ethernet cable/hub, while all her printing and local network access goes though the Airport connection on my private LAN.
Thanks to Apple's multihoming and Airport, I can run both network connections simultaneously. I do this simply by enabling and adjusting the order on the Active Network Ports list (Network Preferences Pane). If you use this setup, be sure to place Ethernet at the top of the list. Now, all requests for the Web server go through the Ethernet port while Mac OS X knows where to look for the network printer on the LAN. You don't need this type of setup, but it is just so freakin' cool!
Step 3. Check Your Connection
Although you may have signed up for a certain DSL speed, it is a good idea to check your actual speed. Find out from your provider what the speed of your upstream and downstream connections are suppose to be, then test those numbers with one of the bandwidth testers on the Web. I use a couple of different services so I can compare the results. There aren't many that test upstream, but you can try http://www.dslreports.com/stest.
If your speed is significantly less than what you signed up for, you have a problem somewhere. You should check with your service provider to help pinpoint the trouble. I've found that my Airport connection is typically 100k slower than Ethernet.
Step 4. Name Servers, Dynamic IP Addresses, and Other Headaches
This is the crux of having your own Web server. Whether you are on a local Intranet or on the Internet, an IP address is how people locate your computer. I'm not going to go into a lot of detail here, but when you register a domain name, you are required to point that domain to a name server and that name server has an IP address.
The problem is that most DSL/Cable companies give you a fat connection, but they don't include a static (non-changing) IP address. They usually assign you a dynamic IP address that might change hourly, daily, or whatever. The problem is that you can't point a domain name or locate your computer on the Internet if the IP address is always changing. It's like having your computer in the witness-relocation program. Luckily, there is a solution.
Get a Static Address
Your first option is getting a static IP address from your DSL/Cable provider. My DSL provider wants to charge me an additional $10 per month for that service, but I'm trying to cut down my costs, not increase them.
A Better Idea
Traffic on the Internet is simply routed from one IP address to another. No one can remember to type 184.108.40.206 when they want something like Yahoo, so someone created a way of locating machines called DNS. When you type in www.oreillynet.com, DNS servers are able to resolve the proper IP address associated with it and take you to that location.
How Does This Help Me?
There are a number of organizations and companies that provide what are called dynamic DNS services, where for a fee, they will give you a DNS hostname. They do not redirect traffic to your IP address (which would involve traffic passing through their servers), but instead they point the computer requesting your IP address to the correct IP location. Using a service like this ensures that whenever there is a request for your domain, it will always know where to point visitors.
If your dynamic address at home is always changing, how do they know what your current address is? Simple, you use a "client" application on your computer that pings your current local IP address, detects whether or not there has been a change, and updates the dynamic DNS service's database. So, if my current IP changes from 220.127.116.11 to 18.104.22.168, the program takes that second number and sends the update to the dynamic DNS service. Easy as pie!
I use a service called DynDNS. You can find a pretty good FAQ on this service here. They ask for a one-time $30 fee (I believe), and that's it. If you use the service you should support them by making a small donation each year. The client I use is a carbonized freeware application called Mac Dynamic DNS, written by James Sentman. It has a number of features that allow for some pretty advanced scheduling and logging. She ain't pretty, but she does the job reliably. You can find the application on the DynDNS site.
Now, I want to point out that you don't have to register your own domain name to use this service. DynDNS has a number of existing domains that you can use. For example, you could create a domain name similar to yourusername.homeunix.com. This saves you the nominal cost of setting up a domain name, and still gives you the ability to point people to your computer. Just like creating a .Mac identity, no?
Go ahead and set up an account and make the donation. It may take up to 48 hours for confirmation from their donations department that your donation was received, so be patient.