I’ve streamlined a script that will install netatalk (an open implmentation of the apple network file server protocol), avahi-daemon (Bonjour/ZeroConf service) and configure it all to set up home directories and a Time Machine shared folder at /home/TimeMachine (which can easily be changed, read below).
The link to the install script is at my Ubuntu Script sub-site (look for Apple File Server).
This has been tested in both 10.04 (LTS) and also 10.10 and works with my MacBook Pro very nicely.
By default you’ll have to “Connect As” a UNIX user on the system, but you should be able to figure out how to handle guest support with a few good Google searches.
Once everything is set up, the biggest (and most likely, the only) file to change for this service is /etc/netatalk/AppleVolumes.default
The install script will append a line to the bottom for the TimeMachine home directory, feel free to make this anywhere in your file system by changing the path area…or even rename it by changing the second parameter. There’s pretty good documentation on the netatalk website.
I’ve tested this on 2 real machines and about 4-5 virtual machines, so as long as you’re running Ubuntu 10 or better, it *should* work pretty much right after the script finishes.
To have Time Machine work for your clients, a small hack must be made (well, honestly a hidden setting must be changed).
Open the Terminal Application (which is in your Utilities directory) and copy paste the following (and press enter to run the setting change program) all on one line just in case it’s wrapped in your web browser:
defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
An instructional RTF wit the above setting is is the default Time Machine folder just in case you don’t read this far or if you don’t want to refer to this post again.