Build mini home server with sheevaplug

If you are reading this artile, probably you are looking for a mini home server, it doesn’t need to be powerful yet can do the most usual task such as http server, ftp, ssh, torrent download client, svn, git server. it should be small & quiet. This article introduce a new way of building a mini home linux server with Sheevaplug, a robust Linux ARM.

Sheevaplug cames with 1.2G cpu & 512 ram plus 512 flash storage, the release date was March 2009 so it is not a new product, I received it immediately after it released, & have been using it for quite a while.

There are a lot of article introduces to install another Linux such as debian, fedora on Sheevaplug, & install the OS to a external harddrive, yet I’m lazy :), I wanna do something simple really, I dont wanna alter the boot to make things complicate as I believe technology is to make the life easier :D.

So what can sheevaplug brings to us, as far as I testing, in its 512MB internal memory, you can install following softwares

php5 & some externsions such as curl, gd2
mysql server 5
samba server

With these software, you can do a lot of things with your imagination.
A Bittorrent Client, a Samba Server stores your media file, host a personal blog such as wordpress or any php based web application.

The installation is really simple, Sheevaplug official released UBUNTU came with aptitude command

$aptitude php5 nginx mysql-server-5 pureftpd torrentplux samba

Now you will have used around 420MB of the flash disk, there are still 50MB free space left, I will strongly recommend use an external harddisk to store your data files. Currently I’m using an 120 GB USB external harddisk which was bought in 2003.

  1. Format your USB external harddisk. $mkfs.ext3 /dev/sda1
  2. Create a directory /mnt/usb. $mkdir /mnt/usb
  3. Mount USB drive. $mount -t /dev/sda1 /mnt/usb ln -s /data /mnt/usb
  4. Add it in rc.local mount -t /dev/sda1 /mnt/usb

Now you have the usb dirve which is mounted in /mnt/usb & link to /data, then you can alter the configure file for mysql,nginx,pure-ftpd data & log files in to /data/mysql, /data/logs/nginx etc.

Finally, you obtain a full running nignx+php+fastcgi+mysql+pureftpd+torrentflux running in a sheevaplug, only used its 420mb internal flash drive.