www.donaldlee.net

   Copyright © 2005, Donald Lee

Technical details about this web server

Hardware

I had an ancient Pentium III box laying around that I didn't know what to do with. It only had a 13 Gig hard drive but luckily had 512 MB RAM. I was really curious to find out if such an old computer could support Microsoft's latest and greatest OS - Windows 2003. I popped the Windows 2003 Standard Edition setup CD and an hour later was treated to the Windows welcome screen. So far it's been flawless. I plan on keeping it as my production web server until the cpu or motherboard dies!
  • Intel Pentium III - 616 MHz
  • Ancient 13 Gig IDE Hard Drive - 13 Gigs is plenty for a web server!
  • 512 MB RAM
  • Lucent usb ADSL modem (really limited compared to standard ethernet ADSL modems)
  • CD ROM Drive
  • No monitor, keyboard, or mouse - I just Remote Admin (Terminal Service) into the server
  • D-Link DCS 2000 webcam

Software

  • Windows 2003 Standard Edition
  • Microsoft SQL Server 2000 (running on another server)
  • Internet Information Server 6
  • Motherboard Monitor - the ultimate utility for monitoring temperature, fan speeds, voltages, etc. When your user defined alarm conditions are triggered it will email, ftp, or invoke any program. Includes integrated support for Shutdown NOW! to turn off your computer and save it from damage.
  • Shutdown NOW! - best of breed utility to shutdown your computer. Every possible combination of options imaginable. Integrates seamlessly with Motherboard Monitor.
  • DynSite - If your ISP dynamically assigns IP addresses (all dial-up and most home DSL accounts), then you need software to automatically update your nameserver with your new IP address.
  • AWStats web server log file analysis - Unix centric and difficult to configure but incredibly powerful. Requires Perl (I use ActivePerl). I installed optional Perl libraries to 1) Map country by IP address instead of using the standard but highly inaccurate reverse DNS with domain name method. It shares the same IP mapping database as my .NET method below 2) XWhois library to power the Info. column of the Hosts section. Whois queries are only available to myself because I disabled anonymous cgi access for security reasons. AWStats is free software distributed under the GNU General Public License.

    You can view my web server statistics HERE

  • Active WebCam
  • Norton Antivirus
  • ZoneAlarm Firewall

Network

  • Normal home DSL line - Here in the United Arab Emirates, there is only one provider for DSL, Etisalat. I tested my DSL line at www.dslreports.com. After several tests, my best speed was 335 Kbps down/162 Kbps up. Cost is 250 dirhams ($70 USD) per month.
  • DNS Nameserver - I choose www.zoneedit.com because it supports dynamically assigned IP addresses that are commonly used with home ISP accounts. Price was right too - free!

    My ISP blocks users from running their own web server by blocking port 80 traffic going out. It was easy to bypass this block by setting up my zoneedit account to append :8000 to my url (look at the url address in your browser). Any unused, unrestricted port in the range of 1 - 65536 will do.

  • Windows 2003 Internet Connection Sharing (ICS), sharing my ADSL line to my internal private network. I wouldn't advise you use a usb-based DSL modem to connect to the internet because it makes it incredibly difficult to share the connection if you have more than one computer in your home. Instead, make sure your ISP provides you with a standard ethernet modem and plug into a router. Tell them your usb ports are full or you're using an old computer that doesn't have usb. I had no choice, as my ISP does not offer a normal ethernet modem.

Programming

I custom built this site with a combination of ASP.NET, VB.NET, SQL Server 2000, and XML. The photo galleries are dynamically generated by building the list of photos from their respective directory. This allows me to add and delete jpeg's from their folders without having to do anything else. Photo captions are stored in an XML file with the jpeg filename as a node attribute. I use XPATH to search the relevant node and read the associated caption element.

Photo thumbnails in the gallery index page are created on the fly by calling GetThumbnailImage from the .NET class library System.Drawing.Imaging

Certain pages, such as .NET Consulting, will differ in content depending on which country the user is coming from to account for different currencies. I use your IP address to locate your geographic region and call a custom written .NET class that returns your country, region, city, and ISP. Country detection is about 97% accurate, with European AOL and WebTV the exceptions. They route all traffic thru centralized proxy servers that make it impossible to detect the users geographic location. I also display your country name on the right side of the yellow menu strip for all countries except the United States. This makes it appear as if the site is hosted from the users country and creates a more compelling experience, especially if your from a smaller country.

I protect email addresses from spam harvesting robots with a javascript function that dynamically generates my email address. If you want to implement the same protection in your site I explain the technique HERE.

If your interested in running a webserver out of your house, check out www.dslwebserver.com. It provides step by step instructions to turn your home computer into a web server.



Future Upgrades

Superfast broadband once back in the states. In San Francisco, www.etheric.net offers very fast, symmetrical (1+ MB/s, both upload & download) wireless broadband access including routable static IP addresses with plans starting at $64 USD/month.

80GB Hitachi Deskstar 7K250 Hard Drive for $58.99 (found on www.techbargains.com). Formerly IBM Storage division but purchased by Hitachi in 2002. This is the drive for the user that seeks high performance, high capacity, and reliability with an attractive price.

I'd also like to add pan-tile and nighttime sensitivity to my webcam.


Home | Biography | Photo Galleries | Contact