Why spent $260 for Time Capsule, when You can make Your Ubuntu to act exactly the same? Here is how to do this.
First we’re gonna install couple of things that we need for further setup:
sudo apt-get install avahi-daemon libavahi-client-dev libdb5.3-dev \ db-util db5.3-util libgcrypt11 libgcrypt11-dev
Then download the latest version of Netatalk – Open Source AFP fileserver. We’ll use netatalk 3.* because its much easier to setup as Time Capsule. Because the latest version in repositories is 2.2.* we’ll have to compile it by ourselves.
tar xvjf netatalk-3.*.tar.bz2 cd netatalk-3.* ./configure --with-init-style=debian --with-zeroconf make sudo make install
When everything is installed it’s time to do some configuration. First we’ll create a dir when we we’ll store all time machine backups.
sudo mkdir /media/Time-Machine/
Then we’ll add new user called
timemachine, who will own this directory
sudo adduser timemachine # here comes some data that You'll have to fill up sudo chown -R timemachine. /media/Time-Machine
Now we’re ready to edit
; ; Netatalk 3.x configuration file ; [Global] ; Global server settings uam list = uams_guest.so, uams_dhx.so, uams_dhx2.so, ; [Homes] ; basedir regex = /xxxx ; [My AFP Volume] ; path = /path/to/volume [Time Machine MediaPC] path = /media/Time-Machine time machine = yes
Then it’s time to configure
avahi-daemon which will propagate our Time Capsule over the local network.
<?xml version="1.0" standalone='no'?> <!DOCTYPE service-group SYSTEM "avahi-service.dtd"> <service-group> <name replace-wildcards="yes">TimeCapsule %h</name> <service> <type>_afpovertcp._tcp</type> <port>548</port> </service> <service> <type>_device-info._tcp</type> <port>0</port> <txt-record>model=Xserve</txt-record> </service> </service-group>
So let’s start everything
sudo service netatalk start sudo service avahi-daemon start # to ensure that netatalk will start on boot sudo update-rc.d netatalk defaults
Now You can enjoy your fresh Time Capsule alternative for the cost of HDD :)
This guide should also work for Raspberry Pi, XBMCbuntu, Debian 6.