Published on markbowers.org (http://markbowers.org/blog)
How I serve this website (for essentially free)
By Mark
Created 12/18/2006 - 8:02pm


I've always served my website from my house. It's the only way to go. You have a lot more control, you learn more about how it all works, and you have a lot more fun.

Connection & Domain Name(s) - Comcast HSI, dyndns.org, namecheap.com

Basically, I'm using a regular (6Mb/384kb + powerboost) residential cable connection in conjunction with a free Dynamic DNS service (http://dyndns.org [1]) which routes the name bowers.homedns.org to my home IP address, with my firewall box updating the DynDNS server whenever my WAN address changes. The name markbowers.org (bought via namecheap.com [2]) is then forwarded to bowers.homedns.org as a canonical name (CNAME) so it's entirely seamless to the visitor. I then forward incoming requests to port 80 to the server's internal IP. It's just that simple. (And it's cheap. The only thing I had to buy was the domain name.)

Hardware - Pentium III box, flashed WRT54G

I'm using a plain-old Pentium III box (an old Compaq workstation). It has a 1GHz PIII, 256MB of RAM and a 20GB hard drive. Nothing too spectacular. It's about six years old, but the software is simple and efficient enough that it really doesn't matter.

It's hooked up via ethernet to a Linksys WRT54G router that has been flashed with the DD-WRT firmware [3] so that it acts as a wireless bridge for the server (and a few other computers in my room without WLAN NICs).

Power - APC SmartUPS 700/1000

The cable modem, linux firewall box, and wireless access point are on a 700VA UPS, while the webserver, file server and workstation are running off of a 1000VA UPS. Both of them are APC [4] SmartUPS server-grade units with true sine wave inverters, voltage reduction/boost transformer, surge protection and de-noising functions. They're from 1997, but were saved from destruction and replaced with fresh batteries. They've kept the setup running through power dips and short outages, and has given me enough time to shut everything down safely in the event [5] of a longer outage.

Operating System - Ubuntu Server 6.10 (LAMP installation)

The server itself is running the classic LAMP (Linux, Apache, MySQL, PHP) software package. It's all open source; so it's very secure, fairly well-tested, and totally free. I'm using the very nice Ubuntu Server [6] which I've found to be very streamlined and easy to work with. I'm also running Webmin [7] to configure everything through a web browser, although I do SSH in frequently also for other various tasks. And when things get really goofy, it's just a double-numlock-tap away on my KVM switch.

Content Management System - Drupal CMS

I'm using Drupal [8] for my content management system. When you look at the site, you're looking at a page that has been dynamically rendered on-the-fly based on content stored in a database. This makes it a lot easier to update and maintain than a static HTML page, and allows for more customization and interactivity.

Migration from OS X Server

In November 2006, I migrated [9] from a PowerMac G4 running Mac OS X Server to a generic Intel box running Linux. Since the Linux box is a dedicated webserver running a server-optimized kernel, without a GUI, and with twice the clockspeed as the 533MHz G4 (for serving web and database requests, raw clockspeed beats out vector processing any day), I've found it to be loads faster than the Mac for this task. The Mac is still my 1TB media server, and with the web load off of it's shoulders, it performs this task much nicer than any PC could.

Nice name

Submitted by Mark Bowers [10] on April 26, 2007 - 2:44pm.

I like the site. Besides the same name, you and I have some similar interests. Interesting...

  • reply [11]

Nice, but one small recommendation

Submitted by linuxpenguin [12] on July 14, 2007 - 12:09pm.

Mark I like your site alot, and I must say I find myself checking it out quite a bit.

I've got one recommendation though that I've done for my site, which will most likely help your site out a lot more. . . that is that you might want to start using LightTPD for your images. I did that, and it cut down the CPU usage quite a bit - and also increased load times. What it does, is LightTPD receives all the requests, and then only handles the static content requests, and then leaves all the dynamic content requests for Apache.

Just a thought, you might want to check it out.

  • reply [13]

     

Copyright © 2005-2009 Mark Bowers. All Rights Reserved.


Source URL: http://markbowers.org/blog/server

Links:
[1] http://dyndns.org
[2] http://namecheap.com
[3] http://www.dd-wrt.com/
[4] http://www.apc.com/
[5] http://markbowers.org/cms/?q=node/187
[6] http://www.ubuntu.com/server/
[7] http://www.webmin.com/
[8] http://drupal.org/
[9] http://markbowers.org/cms/?q=node/154
[10] http://www.markbowersmusic.com
[11] http://markbowers.org/blog/blog/comment/reply/161/3751
[12] http://www.linuxpenguin.net
[13] http://markbowers.org/blog/blog/comment/reply/161/3783