Building a Home File Server

 in

Setting up a file server doesn't need to be complicated.

With three desktop machines (Kubuntu, Win XP and a testbed, which is currently running ReactOS) and a laptop (Xubuntu) in use at home, our IT is reaching small office proportions, and like many small offices, we run into file sharing problems. Peer-to-peer networking is fine when all the machines are on, but inevitably it happens that the file I want is on a PC that isn't running. Even worse, it be on my testbed machine that is currently in pieces or undergoing yet another upgrade. So, we need an always-on server that any of us can access any time, but if it is always on, it needs to be quiet, reliable and cheap to run.

These requirements rule out Pentium 4 (too hot and power-hungry) and Windows (needs rebooting too often). Fortunately, I just happen to have a Pentium III of no great distinction that sports a massive passive cooler, and I'm a bit of a Linux enthusiast. Apart from stability, Linux has several other advantages. It's free. It is almost totally virus-resistant, and it comes with excellent fire-walling and security features. And, it is easy to administer remotely, so once it's set up, the server doesn't need its own keyboard, mouse or screen, which saves expense, space, power and heat.

The Case

I'm planning on hiding this server in the loft, so frankly, what it looks like isn't an issue, the prime requirement of the case is that it is big and airy, allowing good air flow with nothing more than natural convection. Apart from choosing a big one, there are couple of things you can do to improve air flow. Remove any case fans if you're not actually using them, as they impede the flow through the vents. Remove unnecessary drives; they waste space and their cables impede air flow. All you need is a hard disk for your OS and files and a basic CD-ROM drive to load the OS. Remove unnecessary cables too, and tie up those you cannot do without to keep them out of the way. Remove surplus cards, as your file server will not need sound, 3-D graphics, USB, FireWire, SCSI or MIDI. On-board graphics or a small basic graphics card is all you need. Remember, warm air is less dense than cold and tends to rise, so make sure there is an inlet at the bottom and an exit near the top. And, if you do hide your server away somewhere, don't bury it in junk or put it in a confined space; let the air get to it.

Figure 1. The Case

There are acoustic damping kits available for PC cases that can kill a lot of noise from fans and disks, but as this server will run fanless, it's not necessary and can diminish the transfer of heat through the case. If the case is already padded with the stuff, remove it.

Figure 2. Strip out everything you don't need.

The PSU

The majority of PC power supplies have a fan that blows warm air out the back of the case, but there are fanless designs available and also some semi-fanless designs that run quiet most of the time but have a fan that kicks in when a heavy load on the PSU causes things to get warm. I'm using a 300W fanless FSP Zen model bought second-hand, but many similar models exist. By modern standards, 300W isn't much, but it's plenty for a Pentium III with basic graphics. Depending on your foraging and bargaining skills, the PSU may well cost more that the rest of the project put together, but it's worth it for silent running.

The CPU

My Slot 1 Pentium III originally was used in a slimline IBM desktop machine. (Remember the type you put under the monitor not under the desk?) It was fitted with a huge heatsink and had a plastic duct from there to the PSU air intake so that the PSU's fan sucked air over the CPU. Some years ago I re-housed it in a standard ATX mini-tower, but of course, the duct was completely the wrong shape, so I left it off and found the chip ran perfectly well without it. It's not good practice for a chip that's working hard, but in this server, it's going to be idle most of the time. It will just keep the OS and networking software ticking, and from time to time will pass an instruction to a hard disk -- not exactly stressful.

Pentium III base units are available from various on-line suppliers and local computer shops. If you buy one with a conventional small heatsink and fan, then around $10 US on eBay will get you a replacement Slot 1 processor with a large heatsink attached. You might even be able to sell the other one or keep it as a spare.

The Motherboard

If you go the economy route, buying an old base unit, the board that is fitted will be fine. If you buy one separately, don't get hung up on specs; performance is not really an issue. Having onboard graphics is useful. Fancy 3-D cards use more power and create more heat, but a basic old AGP card will do too. A modern Linux desktop distro needs about 512MB of RAM to run a GUI and graphics applications happily, but in this situation, it will manage with much less, the only irritant being that the actual installation process might be slow.

The Hard Disks

It's unlikely that a Pentium III motherboard will support SATA, but even an IDE drive will handle data faster than your home network, so that's not really a problem. I opted for a single 80GB drive from good-old eBay. When it starts to fill up, I'll add another. If you can afford it, buy more or a larger one. If you are really serious about keeping the server quiet, you could invest in flexible drive mounts that isolate the drives from the case.

The Operating System

Linux, obviously. The version of Linux isn't really an issue; almost any would do. I used Kubuntu. I chose it because KDE has built-in K Desktop sharing based on VNC for remote administration. It is a single CD download that's easy to install. Download the .iso file from Kubuntu's Web site (http://www.kubuntu.org), and burn it to CD-R or -RW. Whichever CD burner software you use, make sure you chose the option to burn an ISO image file rather than the regular Data CD option. If you don't, you'll have a very useful backup, but it won't boot!

Installing Kubuntu should be just a matter of inserting the CD, rebooting and following the on-screen instructions. However, older PCs such as the IBM used here, will not boot from CD. To get around this you need Smart Boot Manager -- a very small file that boots from a floppy and then lets you choose which disk to run from. Choose CD-ROM, and you're all set. Smart Boot Manager has to be written as an image file, and rather like making a bootable CD, simply copying the file to a floppy doesn't work. There are full instructions for both Linux and Windows users on http://linux.simple.be/tools/sbm, and a disk writing utility for Windows that is very easy to use. Incidentally, this is a useful disk to have for any OS that refuses to boot. The only downside to this is you need a floppy drive, so I put it back in and then removed it once the OS was installed.

Connect your server to your network and Internet router before you start. During installation, it will detect the connection and set it up automatically. It will ask a few basic questions about your location, language and time zone, but nothing taxing. Hostname can be anything, but I use Server. The basic distro includes some desktop software you won't really need, but just go along with the default selection for now. Kubuntu will ask you to set up a user during the installation. Something like System Manager or Administrator is sensible; save your real name for when you set up a normal user account later.

Once installation is complete, it is time to fire up Adept. Debian-based distros use the Apt package management system, and Adept is the KDE GUI that makes it easy to use even if you have an aversion to command-line work and text editing. Go to Start Menu -> System -> Adept. Browse the list of installed apps, and mark things like media players and graphics software for removal. If there is anything you are not sure about, leave it. Click Apply Changes to remove the selected apps. Now you can click the Full Upgrade button to update whatever is left. Finally, you need to install some networking applications. Find the following in Adept: samba and samba-common. Mark them for installation and commit changes.

Configuration

All configuration paths start at the KDE Control Center.

Unless you have a very unusual network card, Kubuntu will detect it and set it up using DHCP. This will work, but it makes remote administration tricky, as you have no way of knowing the server's IP address. Go to Network Settings, click Administrator Mode, and enter your password. Select the interface, and click Configure. Assuming your router is set up using 192.168.1.1, make the server 192.168.1.2. You can continue to rely on DHCP for your other PCs.

Figure 3. Change from DHCP to Fixed IP

Samba uses the Microsoft SMB protocol to interact with Windows shares. It talks to Samba on other Linux boxes too, making it the perfect way to set up a mixed network. There was a time when configuring Samba made strong sysadmins weep. These days, for home networking at least, it is very easy. Different configurations suit different circumstances, but for starters go to System Administration -> Users & Groups, and create a user for each person likely to want to put work on the server.

Now, go to Internet & Network -> Samba. In the Base Settings dialog, set a workgroup name (your hostname will be there already). Click the Shares tab, check that homes is already set (add if necessary), then select it and click Edit. Check Share all home directories (or don't, and add each one you do want to share manually). The remaining tabs in this dialog can be used to increase security, either for business use or perhaps to keep kids out of your files.

Figure 4. Setting Up Samba via the KDE Control Center

Click OK on the Shares page to return to the main Samba dialog, and click the Users tab. Select your Samba users from the list, and click Add. Set a password for each (and make sure you record them somewhere and give them to the relevant users) or don't -- it depends what you have on your PC and who is able to access it. Click OK to save your changes, and exit.

So far you have only "enabled" sharing. Now, to set up shares, you need either to log in as each user or better still run Konqueror as root. Press Alt-F2 to bring up the Run dialog. Enter , and click Options -> Run as different user. Choose root, and enter your password. In Konqueror, browse to /home and right-click on a folder. Go to Properties -> Share -> Configure File Sharing -> OK. Check Simple Sharing, and click Add. Browse to find the folder in question and click OK. Select Share with Samba. Under Samba Options, make the folder Writeable, and under More Samba Options, set Public, Browsable and Available. Return to /home, and click the Reload button. The folder should now have a hand symbol indicating that it is shared. Repeat this with other folders.

As a final tweak on the folders, again running Konqueror as root, go to a folder's Properties -> Permissions menu, and change them to Group and Others can Read and Write. Depending on who has access to your network, you might want to rethink these.

There is no reason why folders have to have people's names. You could just as easily set up and share Photos, Office or MP3.

Accessing the shared folders from a Windows PC is indistinguishable from accessing a normal Windows share. From another Kubuntu box, go to System Menu -> Remote Places -> Samba Shares. From any Linux box, run your file manager and enter the address of the server in the form

smb://your.workgroup
. To make life even easier, right-click on the KDE desktop, select Create New -> Link to Location, and enter the URL there, giving you an instant Network Neighborhood experience.

Remote Desktop Sharing (RDC)

If the server is to run without a keyboard and screen, and especially if it is to be hidden away somewhere, remote administration is very useful. And it's not the least bit difficult to set up. KDE has simple GUI tools for VNC. On the server, go to Network & Internet -> Desktop Sharing. Check Allow uninvited connections, Announce service on network and Allow uninvited connections to control desktop. But don't check Confirm Uninvited connections before connecting. It is good practice to set a password at this point.

Figure 5. Making a Connection

On the PC you want to use to access the server, run

krdc
(K Remote Desktop Connection), and enter the IP address of the server followed by :0 (zero, not O). Click Connect, and the remote desktop appears, giving you complete control of the server.

Figure 6. Choose the Connection Speed

To control the server from a Windows PC, download and install TightVNC (it's free from SourceForge). Run TightVNC Viewer, and enter the IP address of the server followed by :0.

Figure 7. KDE Control Center via VNC on Windows XP

Checking the Server

Run the server in an accessible location for as long as you can before you hide it away, and check that it can run without a keyboard and mouse. You may need to make changes in the BIOS to enable this. Make sure you can reboot it by remote control. It helps if you set an automatic login via System Administration -> Users & Groups -> Convenience.

Figure 8. Shutting Down the Server by Remote Control

About the Author

Phil Thane lives in Wales (UK), has been a teacher and worked for eight years on tech-support (Windows-based CAD/CAM systems for educational use). Phil started freelance writing 15 years ago and began using Linux about three years ago as a hobby. He is now a freelance writer/teacher/trainer.

AttachmentSize
9381f1.jpg302.51 KB
9381f2.jpg1.09 MB
9381f3.jpg72.12 KB
9381f4.jpg102.8 KB
9381f5.jpg33.26 KB
9381f6.jpg25.31 KB
9381f7.jpg155.68 KB
9381f8.jpg56.17 KB
______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Super article! Your style is

nike shox's picture

Super article! Your style is so fresh compared to most other writers. Thank you for posting when you do, I’ll be sure to bookmark your site!

If you are a sneaker company

nike shox's picture

If you are a sneaker company who is up and coming, or a designer who is looking nike shox to get your custom shoes out to the general sneakerhead community. More nike shox shoes from http://www.nikeshox-outlet.com

Insecure, slow and Windows-like

Anonymous's picture

I`m using freebsd with gmirroring and jails for samba other jail for ftp. Why do you even care to use linux for this "home" example? You can get better GUI(like you will ever need it, but lets have a lot of idle processing) file-sharing and active directory with Windows Server it is intended for home users :). If you like Linux use Xen, a least try to secure something on this box.

Building a home based file

lara.smith's picture

Building a home based file server is not so much easy because every one is not expert of these things and if you face any kind of complexity then it is very difficult to remove it. So if you want to establish it first you must have complete knowledge.

Real Estate Investing
songs.pk

Home Server

Janek's picture

Phil,Thanks a lot, I used a MicroATX mother board running a P4 at 2.4Ghz, the case I am using is almost identical, has fans but is very quite. Tghe drive bays extend all the way the the deck and I can get enough drives in to give me over 2.5Tb. I write a lot of papers that are very lerge and contain drawings and diagrams. Have been running Ubuntu,Debian for some time know will try your Kubuntu solution.

Again Thanks, you are Welsh, Eddie Stephens is my Uncle!

File Server

los's picture

I write a lot of papers as well. I have an old file server that I bought for the purpose. It came presintalled with Windows Server 2000 in a nice roomy 4u case with noisy fans. The OS is on a single drive which has held up but will fail someday and take my Server OS with it. for storage I use a raid card with 4x500 GB giving me essentially 1 GB in raid one configuration. I can switch the raid card to sata to give me some headroom as far as storage options.

I am entertaining the thought of going linux for the following reasons.

Security is really not a big deal becuase the system is networked with other computers however it is a pure LAN environment. I (am probably the only one in the world) think highly of some of my e secret material' so I keep it fully quaratined until Iam ready to use it.

Interoperability and repilcation redudancy problems. Even though the raid protects an instantaneuos failure it can not stop a catastrphic one to the entire box the data is housed in. I would like to spilt out my nest on info onto another old computer laying around.

Also, I have tried vnc, and I just dont like it that much, also I am probably using the wrong version (Ultra).

With a good linux distro I think I can overcome these issues.

My question is that with older hardware (dual PIII 733) will Kubuntu be a problem. I ran ubuntu once and found it to be slow on anything but the latest hardware. My preference would be to run ubuntu server it comes with a LAMPS setting that gives you database (mysql), scripting (php), webserver (apache), and fileserver (samba) at installation. I am hoping that this will allow me to get more use out of my old server and serve as a good replacement for server 2000. I suppose that more people are apt to go with a gui version of ubuntu to speed the delivery of a ready system but I do not minde trolling through a reference mannual or two to get the CLI version working.

I will use a couple of linux clients plus one windows client so I am hoping that the SAMBA is a solid performer.

I am not a standard linux user but I am also not a dummy so I am willing to give it a try.

Comments and advice please.

Home File Server

Christy's picture

I've been trying to accomplish the same thing with an old IBM P111 server but until now I'm snookered by the IBM bios which only sees 8gb of hdd. Linux kernal pre 2.4 seems to be unaffected and reads the 500gig hdd ok but newer linuxes will not boot; reporting instead a grub error 18.

How did you get around this?

Cheers

simplicity

Anonymous's picture

seriously, this is possibly the most simple and effective home network set up i've seen so far. i spent a solid weekend fighting with the command line in ubuntu server builds and it never dawned on me to use just normal kubuntu. you sir deserve a medal!

really, thanks for this tutorial! lifesaver!

newbie help

Anonymous's picture

I am trying to setup a office server using an old machine.

I have Kubuntu 9.10.... I tried to follow the instructions but when I get to step "Configuration" my Kubuntu does not look like that? I am sure I am missing something because I am a huge newbie to Linux. I have been told Linux was the way to go for a file server. Anyway... I now have Linux (Kubuntu 9.10) on my machine but am stuck trying to figure out how to make a server out of this machine. PLEASE HELP.

THANKS!!

Kubuntu 9.10 aint the same no more.

1089's picture

I tried and tried a couple of times to use Kubuntu and follow the steps you mentioned. Over and over something would stop working or give me hell, Samba refuses to run etc. I reinstalled it twice in a three hour period. And no, I am not a newbie when it comes to pcs or Linux. I am currently running Ubuntu 8.04 and everything is working perfectly. Kubuntu hides all the options and treats you like a baby that will break anything you touch. It seems to be made to make users that migrated from XP of Vista and now wants them to feel more at home in the new environment, well it fails miserably.

card shering server

Anonymous's picture

hi
i want to build cardsherind server and i need information about how a cardinteface looks like and i need to know which is the best sever for linux or windows i am a bigginer at making a cardsharing server !!thanks!!

"alternately, you can use

Anonymous's picture

"alternately, you can use kcontrol's "file sharing" module to set up the ability to share from the properties menu of a folder."

Sad to say, that doesn't work neither. As of Kubuntu ver 9.04 March Beta, the "Configure File Sharing" function doesn't work. See:

https://bugs.launchpad.net/kdebase/+bug/209873

Could you update some of the

Travis Edrington's picture

Could you update some of the programs you mention? I am trying to install a server on my computer and am having trouble finding everything I need

How about Webmin

Gwillmeister's picture

I recently heard from a friend about a piece of software, for Linux, that would setup and configure the whole server for you. and i don't think it needs vnc at all! it sets up a local https secure website and everything is configurable through there.
I checked it up on my PClinuxOS package manager and it showed up, so it seems to have a fairly wide range of distro support.

http://www.webmin.com/

File Share, Apache, Printing.. you name it..

Left out the Details!!!

Anonymous's picture

I LOVE these sort of direct to-the-point tutorials that get mainstream Linux users like me more experience doing semi-powerful things but I tried these procedures twice and both times failed miserably.

The first time I got stuck because the standard "Go to Network Settings, click Administrator Mode, and enter your password" does not work. Clicking Admin. mode does nothing. I had to Google this issue to find the solution... kdesu kontrol to bring up a "real" control panel where I could change the IP.

Then there is samba. When I "set a workgroup name (your hostname will be there already)" the entry field is blank, grayed out, and a popup says my version of Samba does not support this function.

I am willing to accept that I am pretty ignorant. But why create a tutorial that is doomed to fail? I love this and it is a great idea, but help out those with less experience and fill in the missing 10%. Thanks!

Xming instead VNC

Dr Tarr's picture

it's only a information: i use xming, a free xserver for windows. the xserver use less network instead vnc... the url to download xming: http://sourceforge.net/projects/xming

Another OS - Clark Community

Uncle Ed's picture

The ClarkServer Community Edition (it was Home Edition a few versions back) has plenty of power and a fairly small footprint. After you do a little configuring in a rudimentary GUI, you go to another computer on the network and use a browser to do the serious setup. It has Samba, SSH, Apache, an email server, firewall, intrusion detection and discouragement, antispam, antivirus, DHCP server, DNS caching, RAID support, multiprocessor support, CGI, PHP, MySQL, FTP. On a good day, it'll also walk the dog and feed the goldfish. ;) I use it because it's free and it's easy to set up.

Clark even has a free dynamic DNS service, so my web page is available. (It was there so a HAD to do it.)

It's available at http://www.clarkconnect.com/community/

Home file server

Randolph J. Miller Ph.D.'s picture

Storing and sharing mass quantities of data on a LAN is very effectively done using the NASLite-2 OS. Weighing at under 4Mb, it can run on just about any PC hardware that has a 486 or better CPU. Best of all it will share the stored content using CIFS, AFP, NFS, FTP, HTTP and RSYNC without a fuss. With three teens in the house and an extensive collection of wired and wireless clients, the storage is always available and does its job without any intervention. I use a power-conscious C3 based board with SATA Hitachi 500G drives set to autonomously spin down after 30 minutes of inactivity. I've had that setup for over an year now and have no plans to change it. What I'm suggesting here is that a minimalist approach sometimes yields the best results. NASLite-2 is available from serverelements.com. It's worth checking out.

this is a kWh hog...

Marmotte's picture

I also went the way of a home file server, but I didn't want one thar draws 100W or more.

I found a small headless NAS with a single disk inside, that draws around 15W (the power brick is 25W anyway).

And it's powerful enough to max out traffic on my router :)

on my limited budget, I bought a Buffalo KuroBox, but with more $$$, I'd have bought a Drobo or a ReadyNAS V+

this is a kWh hog, but Kurobox no answer

Anonymous's picture

Having run a home server with hardware raid 5 with hot spare, a total of 6 hard drives and 13 fans (after a couple of IBM deathstars blew up within 24 hours of each other, two drives I was using as primary and data backup thereby losing several years of data and configuration settings), I'm well aware of electricity costs.

That's why I've been searching for something like the Kurobox for months. I'm not satisfied with the Linksys nslu2 because there's no internal hard drive and the Kurobox has a better processor, memory, and other options. And I can run Debian on it (I'm sure there's a Debian option for the nslu2 as well).

But each time I've gone to the Kurobox website, I get a timeout/unavailable message. From what I've seen of the forums, there is only a single point of contact for Kurobox sales/support and from what I can tell, he's traveling somewhere over the last few months and apparently without internet access since he's the maintainer of the Kurobox website and its perpetually down.

So...taking a look at the Kurobox forums, in most directories the latest posted messages are dated 2005. There's a handful (maybe more) newer, but by and large the forums look like an application site that has discontinued development several years back. That's too bad because the Kurobox (or Kurobox Pro that I was planning on buying) looks like a GNU/Linux hacker's dream and without looking at the forums or problems with the Kurobox website I would think that the Kurobox/Pro would be wildly popular and far more popular than the nslu2. But the nslu2 is a busy project with plenty of development and plenty of current, up-to-date postings in the forums and gets regular press on tech news sites and blogs. When was the last time Kurobox/Pro had a slashdot post? A Newsforge or Linux.com article? A how-to that gets circulated amongst the tech news sites?

Sorry, but Kurobox/Pro screams "Stay away. Far away"

I ended up buying (and am waiting delivery for) one of the computer boards which normally comes with an embedded Linux system, but in the case of the one I bought actually comes with a full Debian distro on it. It has a 500 MHz ARM9 processor, uses only 4 watts at 5 volts (200 microamps in sleep mode), 128 MB DDR Ram, 512 MB Flash, 2 USB 2.0 ports, Gigabit ethernet, 2 SD sockets, 2 SATA ports, boots (Debian) Linux in less than 2 seconds, 10 serial ports, and some other features I can't remember right now. It's from a company in Texas. I can't remember their name right now but they advertise in one of the vertical side bars in Linux Journal. I plan on running some virtual web sites with it, but if it works well and I can hook up a hard drive to the sata ports and it still works well I'll pick up a second one for a home server (using either the second SATA port or the USB port for a mirror drive) and if the board works well as the virtual server I'll pick up a third as an emergency backup for the 1st board/web server. It's $100 more than the Kurobox, but it uses less electricity than the Kurobox, should be more reliable (less hardware to fail) will be cheaper to ship back if warranty service is needed, isn't vaporware like the Kurobox or its company appears to be, and the company I'm buying from is in business over 20 years with at least a half dozen people working there from my conversation with their secretary, order taker, three tech support engineers, and someone else I talked to (and they have a phone number and physical address, not just an email address with no other information provided on Kurobox's site.

I was going to write to Linux Journal (and start posting in their forums) requesting a head-to-head comparison/story on the Kurobox/Pro, the nslu2, and other similarly priced solutions for a home/web server (like an "embedded" board offered by several manufacturers that advertise in Linux Journal magazine) if any others exist similar to the nslu2 project and community. But after attempting to find a reason to take a chance on Kurobox and failing, I won't even bother.

Kurobox = Buffalo Linkstation

Andrew Yeomans's picture

The original Kurobox was basically a Buffalo Linkstation. That Kurobox model is rather old now, and little new development is being done. But the community is still alive and well over at http://buffalo.nas-central.org and actively supporting more recent models.

http://www.nas-central.org has a lot of pointers for other NAS devices. Surprised you hadn't found it!

Disk failure

Pingu's picture

And what are you going to do when the server disk fails. I'm not saying "if" - I'm saying "when".

My home servers are built with three disks: one system disk and two other disks as a software RAID mirror set.

If a system disk fails it's not a big deal. But when a data disk fails it's easy to replace the failed drive and rebuild the RAID array. And I for one have had my share of failed disks.

Disk Failures

Anonymous's picture

I've had a home server since 2000.

Your disks will die. Your OS will change.

So plan for it. RAID1 is about 50% more reliably then single disks.

Buy a 2nd disk controller (IDE or SATA) and put your data on 2 software mirrored disks.

Mirror the OS disk also. This is not as critical as the data disks because you can easily rebuild the OS.

Also, with IDE, you should have only master disks. Using slaves will significantly slow things down.

I've had to replace 3-4 drives over the years.

Openfiler

Mike W's picture

You can also try Openfiler. It requires 256meg of RAM and has a web based interface. I've also tried FreeNAS which requires even less memory (128meg RAM, I think). FreeNAS also has a web based interface.

I'm curious about using a laptop. I have an old IBM T20. Would you have to keep the lid open to stop the machine from going into suspend mode?

Why use an old PIII - you are throwing $ away in power

Anonymous's picture

I like the article, it has some good points. I would suggest that anyone looking to really save money should consider the Everex TC2502, which is what the gOS" computer runs. It's a Micro-ATX board, with nic, usb, parallel, video, sound, you name it. With a built in 1.7Ghz Via processor, and room for 2 sticks of DDRII memory, it only pulls about 20 watts max, but idles around 2watts. You can get it for about $60, and it saves you a ton of electricity since the system is probably going to run 24x7, 365.
Check out the LinuxDevices writeup on it, http://linuxdevices.com/news/NS5305482907.html

Dave

laptop

lukeen's picture

I will use an old laptop (with standard components). Less power-consuming, battery (for power breakdown), cheap.

Better double-check that kcontrol tool

Alan's picture

Great tutorial! I was recently writing a similar one for MEPIS when I discovered that KDE's samba tool suffers from serious bugs that prevent the User administration part of the tool from functioning. At all. You might want to double check that in kubuntu (both MEPIS and Kubuntu gutsy run 3.5.8). To test, open the Samba tool and create several users. Then exit. Reopen the tool. Oops! your users are gone. And you can't log in to the share with any of them either.

I looked up this bug in KDE and it's been around for years. It was assigned to the wrong developer and has only recently gotten attention from the right folks.

I decided to rewrite my tutorial using instructions for Webmin; alternately, you can use kcontrol's "file sharing" module to set up the ability to share from the properties menu of a folder.

Why a GUI

Anonymous's picture

You start off trying to save on power consumption and such and then install a gui based OS. Why not do what I did and install the server version of Ubuntu without a GUI interface? Just access it using ssh for administration. No point running stuff you don't really need is there? I have more hardware requirements than you since I'm running Zimbra and Apache web server on it as well, but even for that I don't need a gui interface.

For the not so technically savvy

Javier's picture

You and I (and others with plenty of Linux experience) don't need the GUI to manage such a system, but having a nice and easy GUI to allow the not so technically savvy to use it is a great idea. Running a home server does not have to be exclusively the province of the geeks. Now a days, most households have more than one computer, but not all have a seasoned sysadmin in them.

Why VNC

TallPaul's picture

I quite agree 'why bother with a GUI', but also why bother with VNC; over a local network X is much better suited --- X is a network transparent windowing system. Also X is easier to configure than VNC server and clients.

Mmmm

Damian Alexander's picture

What do you think Most people use as their preferred operating system in a home environment dimwit Rofl.... So Ill go get an X simulator for windows? Do they even exist?

VNC is by far friendlier for the Noob.

USB

Ethan's picture

"Remove surplus cards, as your file server will not need sound, 3-D graphics, USB, FireWire, SCSI or MIDI"

USB can be handy on a fileserver because you can hook up a fairly large USB Hard Disk for a reasonable price to make backups. Also you can turn it into a printer sharing or scanner sharing device depending on the situation.

Although most reasonably modern motherboards have onboard USB headers. The Pentium 1 and 2 range do not have then IIRC.. while those are powerful enough for a Linux fileserver.

For the rest: nice article. :)

alternative OS

Pharao's picture

you should check freenas for a home server.
easy, fast, just works(tm).

You get administration via webinterface, raid and even disk encryption.

Alternative - freeNAS

Anonymous's picture

I have been using an old Dell PII originally purchased in 1998 for my server; set it up using freeNAS a couple of years ago with three unused IDE HDDs I had lying around. I have it connected to a mixed wired/wireless network consisting of machines running Ubuntu, Xubuntu, WinXP, Vista, and most recently Fedora. The only time it was ever unavailable was when the router it was connected to suffered a lightning strike.
The article itself is well written and contains a lot of really good information. The part on assigning a static IP address is good advice; it applies to network printers also.

White Paper
Linux Management with Red Hat Satellite: Measuring Business Impact and ROI

Linux has become a key foundation for supporting today's rapidly growing IT environments. Linux is being used to deploy business applications and databases, trading on its reputation as a low-cost operating environment. For many IT organizations, Linux is a mainstay for deploying Web servers and has evolved from handling basic file, print, and utility workloads to running mission-critical applications and databases, physically, virtually, and in the cloud. As Linux grows in importance in terms of value to the business, managing Linux environments to high standards of service quality — availability, security, and performance — becomes an essential requirement for business success.

Learn More

Sponsored by Red Hat

White Paper
Private PaaS for the Agile Enterprise

If you already use virtualized infrastructure, you are well on your way to leveraging the power of the cloud. Virtualization offers the promise of limitless resources, but how do you manage that scalability when your DevOps team doesn’t scale? In today’s hypercompetitive markets, fast results can make a difference between leading the pack vs. obsolescence. Organizations need more benefits from cloud computing than just raw resources. They need agility, flexibility, convenience, ROI, and control.

Stackato private Platform-as-a-Service technology from ActiveState extends your private cloud infrastructure by creating a private PaaS to provide on-demand availability, flexibility, control, and ultimately, faster time-to-market for your enterprise.

Learn More

Sponsored by ActiveState