Linux + Netbook = Server

agent86

eGO SysDev Team
Joined
May 18, 2008
Messages
600
I've been running my own Linux servers for about 10 years now, for a variety of purposes. I'm not a huge fan of GUI-based Linux tools, so I'm almost always 100% command-line oriented. That tends to scare people off, but once you've learned it, a million possibilities are at your disposal. I highly suggest to anyone considering a career in science, engineering, or IT to consider learning at least a few core commands. Once you go text mode, you'll never want to go back!

I generally just throw together whatever spare hardware I have around to make my Linux machines. Except for wireless cards (which support is getting better but still a bit spotty), pretty much any hardware setup you can put together will run most services.

However, this time, I was aiming for a different goal. Most of my linux machines are optimized towards cost - ie, what have I got lying around I can use for free? This time, however, I wanted to try and drive down the power usage. My linux machine runs constantly, but it generally isn't demanding in terms of resources. I have a couple of old laptops, but they're really underpowered and they're also power hogs.

After considering a bunch of different options, I decided to get a netbook. I did a bunch of shopping around and picked a refurb Asus Eee 900a, and spent the money I saved by going refurb to upgrade it to 2GB of ram and a 16gb SSD.

Now... what can you do with a 24/7 connected linux machine?

Some of the things I've done or have done include:

  • Firewall/router - before they became cheap/common, an inexpensive linux machine worked well for this task. In fact, many popular routers are just stripped down linux boxes.
  • Web server - For hosting private content, or when you don't want to pay for hosting. Or, install PHP or whatever language you want to learn/work with and start hacking.
  • SQL - MySQL is the perfect compliment to a web server.
  • File sharing - Samba allows you to share files with almost any type of client OS.
  • SSH - SSH gives you remote command line access to a server, which is handy, but...
  • SSH Port Forwarding - allows you to break out of most any restrictive firewall, and even access content on your home LAN from outside your network. On top of that, running connections over a SSH tunnel makes your connection secure, regardless of the protocol.
  • DVR/TV recording - Certainly an advanced topic - not at all easy to set up or maintain, but it is possible and I've done it in the past. The pain of setting it up and maintaining it led me to just buy a Tivo this year :)
  • Private IM - set up an IM server just for you and your friends
  • IRC BNC - keeps you connected to IRC 24/7 - even if you shut down your client computer or client software...
  • Bittorrent - Start or manage downloads remotely. Legal stuff only, right kids?
  • Mail server - I've done this in multiple configurations - a 'mail aggregation server' that grabs my mail from a number of sources and puts it all in one place, even rolled my own webmail for accounts that had bad webmail services.
  • Web proxy - speed up your web surfing, especially if you have multiple web users in the house. Locally cached copies of major sites are much faster to load.

All this for $200 in hardware, and just 10W of power! The specs on the Eee 900A may seem modest, but they're more than enough to handle all this and stay almost constantly idle. Having a built in monitor and keyboard is a bonus for setup and maintenance. The 900a's keyboard is a bit tiny compared to the HP Mini 1000 that I got for my wife a few months back, but I can do most of the administration via the network.

The major benefit of using Linux is that it's free, packages are generally easy to install and are readily available, and everything is configurable and versatile. I have a great appreciation for all OSes (I use OS X and Windows constantly as well) but very little matches the power of Linux for a home server. If you're interested in computers either as a hobby or a career, consider setting up a linux box - and if you haven't already, learn how to ditch the GUI!
 
Interesting idea, if I didn't use my old laptop for school think I'd do one of the things you listed with it.
 
haha cool but mac?? why?

Wow. 'Why Mac?' is almost a whole different subject altogether. I'm surprised that out of all of the linux and netbook stuff I posted, this is what caught your attention :)

I can think of a million ways to explain it...

OS X isn't like the Mac you may remember. It is essentially a UNIX-style OS with a very pretty and fully functional GUI on top. OS X is what desktop linux wishes it could be. The underlying OS is extremely powerful, and almost any app you can run on Linux can be run on OS X as well. I even have Windows and Linux installed on here in virtual machines that I can take anywhere with me. Layered on top of OS X is Apple's killer desktop apps. I haven't found anything that comes close to iMovie when it comes to casual home video editing. I've worked at two of the biggest PC manufacturers in the world in my career, and both of them wish they could put out a product that rivaled Apple's.

I've used a Macbook for the last year for most of my day-to-day operations (ie, web, email, chat, code editing, remote administration, etc) - everything except for gaming, although I do have some games on here (including Civ4, my favorite time waster). I'm not really a 'laptop gamer' anyhow, so that's not much of an issue for me. If I'd waited, or opted for the more expensive Pro model, I could've gotten integrated nVidia graphics, which would've allowed me to play TF2 or whatever on it.

They do tend to be pricey, that's about the only thing I can think of that isn't in their favor. I tend to buy refurbished, which kind of negates that to an extent.

I've got a desktop running Vista, a laptop running OSX, and a netbook running Linux. I certainly believe in 'right tool for the right job' - all the more reason to take the OS X experience seriously.
 
Last edited:
ah linux on netbook :) I used to have a CS server running on a netbook in my office desk, fun times

1 thing I would suggest that I dont see listed up there is PLAY WAR GAMES with your buddies. Try and see who can take whos machine down faster.

Also try setting up a hackintosh its way fun and great way to play with osx
 
ah linux on netbook :) I used to have a CS server running on a netbook in my office desk, fun times

I forgot to mention that in my original post. I have a set of source servers (tf2/css/dods/ins) on my laptop's linux VM that I plan to move over at some point. I don't think I have a flash card with high enough capacity though. Perhaps once prices drop I'll pick up a 16 or 32 gb SDHC.

You can thank those servers for cool stuff like MAUL bans, and all the other SourceMod toys that we use and make eGO's admin experience unique... :)

Also try setting up a hackintosh its way fun and great way to play with osx

No thanks :) If I want to use OSX, I'll just turn slightly to the left and use my macbook.
 
My only problem with Mac is the prices havent dropped now that they are using "normal" pc hardware, I understood the high prices when it was all proprietary but it isn't any more. I'd rather put OSX on a "normal" pc than pay the ridiculous prices they want.

Although I am quite comfortable at the command prompt, I work for NetApp tech support and cringe whenever people say "how do I do this in filerview?", first it depends on which version of the OS, second it most likely will hose something up (of course I can't tell them that:)). Then I tell them use the CLI, the only reason I use the GUI is to delete a lot of snapshots (backup copies for those that don't know), usually i can get them on the CLI.:biggrin:
 
Back to agent's original topic, I'd love to learn some of these things, in particular private web hosting. I pay too much money for hosting and if there was a way to do it myself I'd love to learn. If possible, could you post links/tutorials to anything and everything?
 
Back to agent's original topic, I'd love to learn some of these things, in particular private web hosting. I pay too much money for hosting and if there was a way to do it myself I'd love to learn. If possible, could you post links/tutorials to anything and everything?

Sure. There are many, many ways to approach this. A Linux solution might be the right one, or it might not.

The advantage of hosting your own web content is that you have total control over what is up on the site, who has access, etc. Another is certainly cost, if you are paying a lot for hosting.

The major disadvantages are, that you are responsible for your own tech support, and they'll be using your bandwidth. This can get bad if you're hosting pictures or video and your friends/family are trying to view them while you're trying to play a game or download a file.

There are a number of solutions here, with different difficulty levels.

  1. Find a cheaper host.
    Most people pay for bandwidth and storage they never use. I personally like the model that they use over at NearlyFreeSpeech, which is to charge you only for the storage and bandwidth you use. If you have a low-volume site, the charges can be super low. I've had friends host commercial sites there for $5 per YEAR, plus the domain registration fees. That's crazy cheap!
  2. Install a web server on an existing Windows host.
    If you aren't quite ready to take the Linux plunge, try installing XAMPP, a build of the most popular Linux web server (apache) bundled with a bunch of extras. You can get your feet wet there, and learn the ins and outs of configuring apache, without the added burden of changing OS'es.
  3. Install Linux, and set up the Apache httpd
    There are a million flavors of Linux out there, and a million tutorials for each. If you have no clue where to look, try either Fedora Core (which is a stable distribution with a long history) or Ubuntu (the current popular flavor that has a large community). Try google, and search for documentation on how to set it up and get it configured properly. It can seem overwhelming at first, but there are a ton of people who have done this before and who provide support on the 'net for this kind of stuff. Stick with it and you'll have it figured out in no time.
 
Funny that this got posted, I literally just finished installing the latest Linux Mint XFCE on my ol' laptop. (512mb RAM, 1.6GHz CPU). It runs surprisingly well, much better than my (older) laptop with Ubuntu on it.

Anyways, I would indeed like to get some of these up and running. I'm going to be storing it under my couch, and VNC/SSH onto it whenever I need to update/change some settings. (Not that good with command-line stuff, so VNC will be the way to go. :P)

I already put a TF2 and CS:S server on it, and it runs great. I've also been messing around with some coding things (Never coded in my life before - Starting out with C++). I'm also using the Transmission bittorrent client to download a variety of torrents. I'm happy that it runs overnight, so I don't have my family yelling at me because of "slow internets". (They don't know the difference between a keyboard and a mouse.)

That web server/proxy server look really tempting. I'm definitely going to start messing around with those. :)

EDIT: Also, another thing I forgot to mention. It has a 40 GB harddrive, so I'll be keeping all my music on it, and use a client media player on my desktop PC to play it. That's extremely helpful and saves a few needed GBs of space.

EDIT2: Just finished installing/configuring Squid. Took me about an hour total. Ran into a few problems, but with a bit of googling, it's now fully functional. Now, all the websites I visit are cached on my laptop, dramatically increasing loading times and reducing bandwidth. >:D
 
Last edited:
Funny that this got posted, I literally just finished installing the latest Linux Mint XFCE on my ol' laptop. (512mb RAM, 1.6GHz CPU). It runs surprisingly well, much better than my (older) laptop with Ubuntu on it.

Anyways, I would indeed like to get some of these up and running. I'm going to be storing it under my couch, and VNC/SSH onto it whenever I need to update/change some settings. (Not that good with command-line stuff, so VNC will be the way to go. :P)

I already put a TF2 and CS:S server on it, and it runs great. I've also been messing around with some coding things (Never coded in my life before - Starting out with C++). I'm also using the Transmission bittorrent client to download a variety of torrents. I'm happy that it runs overnight, so I don't have my family yelling at me because of "slow internets". (They don't know the difference between a keyboard and a mouse.)

That web server/proxy server look really tempting. I'm definitely going to start messing around with those. :)

EDIT: Also, another thing I forgot to mention. It has a 40 GB harddrive, so I'll be keeping all my music on it, and use a client media player on my desktop PC to play it. That's extremely helpful and saves a few needed GBs of space.

EDIT2: Just finished installing/configuring Squid. Took me about an hour total. Ran into a few problems, but with a bit of googling, it's now fully functional. Now, all the websites I visit are cached on my laptop, dramatically increasing loading times and reducing bandwidth. >:D

Nooooo, learn to love SSH. :) At least commit yourself to learning about a few commands a week or something. Try to find one thing you do in a GUI that you could do via the command line, and ease yourself into it. Once you know the basics, (ls, cd, mv, cp, rm) try mastering grep, less, tail, nano, find, and yum... there's a TON of power in just those few commands - they represent probably 80% of what I use on a day-to-day basis.

If you're just learning to code, might I suggest Python? It is full-featured but uses a very logical, english-like syntax. There are a million built-in libraries that will simplify many common tasks. For instance, I recently wrote a script to check two email accounts and change an LED on the keyboard if there was new mail. It was super easy on Python - less than 20 or so lines of code.

Squid is nice, but on a low memory system you may also want to consider tinyproxy. I used squid for a number of years, but it is kind of resource intensive. You may not mind, but I found tinyproxy easier to use and configure, without all the features I didn't need in squid.
 
Yeah, some pretty cool stuff, there.

I'm actually in the process of turning an old desktop I had lying around (900mhz P3 / 512mb) into a gateway/router with pfSense... Got the machine up and running today, but I need another NIC before I can continue.

I don't have much use for many of it's advanced features, but it's QoS settings look top-notch. In the end, I hope to configure it to prioritize my gaming traffic, while the rest of the house is downloading/surfing. As it is now, my ping takes quite a hit when someone starts torrenting...
 
Last edited:
Actually, I ordered an Eee PC 701SD yesterday, told agent about it, and he directed me to this thread. I actually opted for the smaller 7" screen model, retail version from Zipzoomfly yesterday. (http://www.zipzoomfly.com/jsp/ProductDetail.jsp?ProductCode=10009286) I hadn't seen the refurbed one from mwave, though. That may be a good deal -- $15 gets you a larger screen.

Anyway, I can't wait to get mine in. I'm going to probably wait a week or two before I decide if I want to upgrade the SSHD and the RAM on mine, but I'm looking forward to having a small, light machine that I can take with me when I go on vacation but which only weighs a quarter of the weight of my iBook.

(Oh, and to whoever mentioned OSX, I might give that a try just for the heck of it.)

Yeah, some pretty cool stuff, there.

I'm actually in the process of turning an old desktop I had lying around (900mhz P3 / 512mb) into a gateway/router with pfSense... Got the machine up and running today, but I need another NIC before I can continue.

I don't have much use for many of it's advanced features, but it's QoS settings look top-notch. In the end, I hope to configure it to prioritize my gaming traffic, while the rest of the house is downloading/surfing. As it is now, my ping takes quite a hit when someone starts torrenting...

I'm actually using pfsense on an old 700 Mhz P3 with 512 MB of RAM and 4 NICS at the office. And I'm loving it. I set the machine up to replace our aging Firebox that was failing on a near daily basis. As far as the advanced features, the machine provides failover between our two internet connections here and serves up VPN access as well as acting as the gateway for our 6 IP addresses here (and properly directing traffic based on the incoming IP). Some of the setup of some of the more advanced features and rules took a bit of trial and error to get right, but now that it's running, everything is smooth as silk. Getting outbound FTP to work was a bit tricky, but that was the only real head scratcher. Apparently there are some parts of the ftp spec that are hard to implement properly.

All in all pfsense is a pretty good package with some decent documentation out there.
 
Yeah, some pretty cool stuff, there.

I'm actually in the process of turning an old desktop I had lying around (900mhz P3 / 512mb) into a gateway/router with pfSense... Got the machine up and running today, but I need another NIC before I can continue.

I don't have much use for many of it's advanced features, but it's QoS settings look top-notch. In the end, I hope to configure it to prioritize my gaming traffic, while the rest of the house is downloading/surfing. As it is now, my ping takes quite a hit when someone starts torrenting...

I wish you the best of luck when it comes to QoS - but I didn't have a very good experience when I tried.

I absolutely LOVE routers capable of running tomato firmware - you can turn a $30 ASUS router into a beast that has features you won't find on consumer grade hardware, with an awesome interface. Go google tomato firmware and pick up a compatible router... you can thank me later :D

Anyhow, that's a little tangential to the point. It has QoS features, and I tried to do Bittorrent and TF2 at the same time by classifying BT at a very low priority related to TF2 connections. I'm sure it was configured properly, (the GUI for tomato is awesome and showed me the connections and their classes in graphical format) but my ping was still taking a major hit and I still had a lot of lag.

I don't know if the tomato QoS stuff was to blame, or if it is just really, really hard to do QoS with something as connection and bandwidth heavy as BitTorrent and balance that with something as latency sensitive as online gaming.

I'll be interested to hear how it turns out in the end.
 

Latest posts

Back
Top