November 7, 2008

Supercharging a home network with Amahi

Author: David Pendell

Many network-attached storage (NAS) devices, in addition to offering network storage, offer features such as VPN access, calendaring, wikis, and even an iTunes server. The open source Amahi Linux Home Server provides all of that and more in a complete NAS box integrated with a Fedora 9 base.

Amahi's Web 2.0 interface provides the power home network user with a complete set of services; it is essentially an intranet server. In addition to sporting a file server and an iTunes server, there is also a calendar server with WebDAV integration. A backup server provides total system backup service over your network. Amahi provides a domain name server and DHCP server so that all of your home machines can access Amahi's Web interface without your having to configure each machine individually.'s support wiki provides instruction for adding an open source map server with Google Maps-like functionality and an open source WordPress blog server as well. A torrents server works out of the box, as well as other Web apps like a personal weight tracker, a slide show viewer, a household wiki, and links to's wiki for help on these applications.

To install the system, visit the project site and register. You must provide the site with a username, an email address, a domain name, and a set of private IP addresses that you wish to use with your internal network. The project uses this information to make the installation of the system almost completely automated, so as to provide a system that works out of the box and has no complicated installation steps for the end user.

The Amahi project prefers that users have the project's repository accessible during installation installation of Fedora 9 so that when the process is finished, the user only has to type one command to install the Amahi system. The fresh install of Fedora 9 ensures that none of the many packages that will be loaded will have existing configurations that could break Amahi or, conversely, break the existing setups. You should do a clean install of Fedora 9 and follow the installation steps that display after registration to the letter so that you have a clean slate to work with. You can also install on an existing installation of Fedora 9, but the project doesn't recommend it.

Once the Amahi is installed, reboot the server. After logging into Fedora, bring up Firefox and enter http://hda to get to the Amahi Dashboard. The clean interface gives access to the core Amahi apps. From the MyApps page, available in the upper right corner of the Dashboard page, you can bring apps online by "installing" them. Click on the app icon on the left instead and you can configure the server and check its status. The personal wiki, calendar server, and Amahi setup page are available from links across the top of each Amahi Web page. There are even themes available for you to choose from, though the application of themes leaves a little to be desired as not all of the pages use themes.

The Amahi setup page allows you to monitor drive space on your Amahi server as well as the temperature of the individual drives, and manage users, shares, installation of Web apps like WordPress and Maps (which run under a customized version of Apache), dynamic and static IPs from the DHCP server, and the various themes. A debug page provides you with information to send to should there be any problems.

Amahi's file server is based on Samba, and performs as well as the configuration and the Ethernet card allow. You can configure it from the Web browser. To get started, just click on "New Share" and enter a name for the share. Amahi takes care of the rest. Shares for Books, Docs, Movies, Music, Torrents, and Pictures are already installed and ready to go when you boot up.

Amahitunes, the iTunes server, uses Firefly, a DAAP server, which means that clients can use not only iTunes on the Mac and PC to stream music from Amahi, but also Rythmbox, XMMS2, Amarok, and other DAAP clients. In addition, it supports commercial products such as the Roku's Soundbridge player. Again, you configure the server within the Web interface, and the controls are intuitive and easy to use. The number of clients you can support depends on the speed of your network.

The calendar server works with calendar clients such as Mozilla Sunbird to publish all of your homes calendars in one place. Each member of your household can publish a calendar to the server, and subscribe to every other member's. You can then coordinate any conflicts with the other subscribers. The published data synchronizes well, and the Web calendar looks good. The data is organized in a tabular format, with each calendar's information highlighted in a different color. Unfortunately, the current system does not allow users to edit each other's calendars.

The Personal Backup Appliance, available through the backups status page in the Web interface, is based on NFS, and lets an administrator boot a client machine with a limited Linux distro that has the sole purpose of doing a network backup. The system uses Intel's PXE system to network boot the client backup system. For clients that don't support PXE, a boot CD is available with the same limited Linux distro.

To back up my laptop, I turned on the PXE boot in the BIOS and rebooted. PXE found the backup server and booted the Linux distro over the network. The Linux distro prompted me to either Backup or Reload. I chose Backup, and when it was finished, my complete system existed in a compressed backup on the Amahi server. A 20GB backup of my old hardware took about 40 minutes; your mileage will vary depending on your hardware and amount and type of data being backed up.

Amahi's domain server, which is based on BIND, is installed and working on first boot. So is a DHCP server, to give you a simple way to configure the clients on your network to use the Amahi server. The setup works well, but if you have a router that also has DHCP capabilities, you will need to turn off one DHCP server or the other. I recommend using Amahi's; if you don't, you will need to configure your router to use Amahi's nameserver if you want all of your machines to have easy access to Amahi's various Web pages. Amahi uses OpenDNS for its forwarding nameserver. If you want to change that, you must work with the support group to reconfigure BIND to use your ISP's nameservers.

Amahi's map server is impressive. Using entirely open source data from sources such as Open Street Map and Open Arial Map and code from Open Layers, the development team managed to come close to the level of sophistication of Google Maps. At the moment, it lacks the ability to search by address or get turn-by-turn instructions for moving from point A to point B, but the program is still in the early stages. Installation, while not a one-click venture, is simple -- click on the New Web App button, then unzip the code in the /var/hda/web-apps/my-new-app directory, and Amahi automatically adds the alias to Apache's configuration.

Installation for the WordPress software is much the same. Once it's installed, you can change the theme and behavior of WordPress, as well as add users, from the browser interface. In just a few minutes I had a functional blog page. If you want to make it available to the world, again work with the support team. Instructions for installing both Maps and WordPress are on the wiki, and work well.

I do not have high-speed Internet yet and rarely have use for torrents, but Amahi includes a torrents server. To add files to the server, copy the files that you want to publish to the torrents share. The torrents server should then take over and do the rest. To access the configuration page on your server, go to http://torrents.

Other included apps are very basic and, I think, just show what Amahi can do. You can create a slideshow of any pictures on the Pictures share, store and find recipes on your server, and track your weight from one date to the next.

While Amahi is a powerful and easy-to-use tool, it has its problems. I sometimes have intermittent problems with the dashboard -- it sometimes won't initialize properly. The developers know about the problem and are working on it. Some of the tight integration, particularly with the named and dhcpd servers, causes me grief when I try to bring unusual networking situations into the mix, such as when I use my dialup laptop for a NAT server for my Amahi box. Getting the default route and DNS settings just right is sometimes a pain as Amahi is trying to do one thing and dialup is trying to do another. If you have problems, help is quickly available through the #amahi channel on, via email, the mailing list, or the wiki on the main project Web site. I found the developers quick to respond and pleasant and helpful.

If you install Amahi clean on good hardware, you shouldn't have much trouble with it. Its current applications are useful to the home user right away, and more are planned. Amahi raises the bar for what a home network appliance can do.


  • Collaboration
  • Reviews
Click Here!