It’s official.
This server is now running off a Linksys NSLU2 using the Unslung 5.5 beta firmware! The firewall and NAT functionality are now provided by a Linksys WRT54G v2.2 running the Sveasoft Talisman 1.05 firmware ($20 USD yearly subscription). The WRT54G v2.2 is an exceptional wireless router, sporting a 200 MHz MIPS processor with 32 MB (hacked NVRAM to use all 32 MB) of SDRAM.
So, what is a exactly is a Linksys NSLU2? The Linksys NSLU2 is designed to be a network storage link or NAS, capable of serving up to two external USB 2.0 drives to a local area network. Using the Unslung firmware, the NSLU2 is capable of serving files and much more — a firewall, router, web server, database server and e-mail server to name a few.
Weighing in at only 156 grams, the NSLU2 is a whole lot lighter than my previous AMD Sempron 2400+ (1 GB PC3200 and 120 GB HD) box. The NSLU2 is also surprisingly small at only 1.08 inches wide and 5.31 inches high. The NSLU2 sports an Intel XScale (ARM) processor running at 266 MHz (overclocked by means of removing a resistor on the mainboard) and 32 MB of SDRAM. Yes, it’s a tad bit slower than the Sempron box, but it works! So, what about storage space? Well, the 120 GB Seagate drive in the Sempron box was removed and placed in an external ByteCC USB 2.0 enclosure and connected to the NSLU2 by means of an USB 2.0 cable.
My working environment at home is finally noiseless. No more humming fans at night, except for the multiple cooling fans in my desktop PC’s. In a way, I’m also helping to save the environment and cut down on energy costs. I’m serving this web site using only 10 watts (5V x 2A) of electricity! Compare that to the ~300 watts my old server used. The NSLU2 can be had for about $130 CDN shipped — about the same price I paid for my 1 GB of Samsung PC3200 RAM used in my old Linux box.
So, you may be asking, what can a measly 266 MHz NSLU2 with 32 MB RAM run? This NSLU2 is running Apache 2.0.54, PHP 5.0.4, eAccelerator 0.9.2, MySQL 4.11, OpenSSH 3.8pl1 AND Samba 3.0. Everything is tweaked for performance.
Believe it. You’re looking at the proof.
Update:
The WRT54G router is now running the DD-WRT v23 firmware, which is a lot more robust relative to the Talisman firmware I was running.
Nice work dude. I can’t say I’ve got quite the same motivation as you seeing as how I pretty much only work on my laptop sitting on the couch. If I spent more time around the PC I’d be more inclined to follow suite.
Now you just need to get your mysql data migrated so you’ve got your old posts moved over.
Congrats on getting it up and running.
Its great to see that this web site is powered by just a NSLU2. I have created several web services (including a blog) in an Intranet environment at work. Currently I’m running everything off an old 1GHz box. My co-worker had suggested I try switching over to a slug to serve all the web services. I had my doubts of a NSLU2 begine able to run Apache and MYSQL effeciently but after reading this post, it has given me hopes that installing Apache 2.0, PHP 5 and MySQL 4 on a slug will work just as well as it did in the 1GHz box! Just a quick question tho… What kind of load have you tested your current slug on? What is the max connection you have seen this server handle before it started showing signs of slowness? Anyways your help in this matter is greatly appreciated!
Thanks,
SS
Well, I had my particular configuration locked down to serve no more than 5 simultaneous web users.
I don’t know if I’d trust a SLUG to serving up pages in a production environment. There were times when I had to manually reboot the SLUG due to memory leaks in Apache (or so it seems — I could shell in fine). Otherwise, you could just write a crontab to reboot it every other night at 1 AM or so 😉
I’d recommend installing a PHP cache, such as eAccelerator, to speed up delivery of dynamic pages. Web pages load about 400% faster with eAccelerator running.
Great work I am trying to get apache running from my WL500gP but unfortunately the package in ddwrt just doesnt work, Would it be possible for you to give me you apache compile options and httpd.conf?
Thanks