Netatalk

Netatalk is an open source implementation of the Apple File sharing Protocol (AFP). It supports Time machine and advertising of services with multicast dns (Bonjour in Apple's jargon).

See the netatalk site for more details: http://netatalk.sourceforge.net/

Installation from SFE Repository

There is now a netatalk 2.2.0 package available from the SFE repository.

If you don't have the SFE publisher configured, see this page for how to do it: http://wiki.openindiana.org/oi/Spec+Files+Extra+Repository

Then, netatalk can be installed with the following command:

# pkg install system/library/security/libgcrypt system/network/avahi system/library/netatalk

(It appears that the 'libgcrpyt' and 'avahi' dependencies are missing from the SFE package at present, and these need to be installed before netatalk will run.)

 

Netatalk 3.0.1 is now in "experemental/SFEnetatalk3" This is still a work in progress, but should work.

Installation from source

Prerequisites

The following packages are required to run netatalk:

# pkg install system/library/security/libgcrypt system/network/avahi service/network/dns/mdns

A build environment is required. You will need these packages installed if you don't already have them:

# pkg install developer/illumos-gcc system/library/math/header-math developer/gnu developer/gnu-binutils developer/gnome/gettext

Or for building with gcc-3:

# pkg install developer/gcc/gcc-3 system/library/math/header-math developer/gnu developer/gnu-binutils developer/gnome/gettext

 

Berkeley DB

Netatalk requires Berkeley DB to be installed. (I have read a few issues with later versions of Berkeley DB, I use 4.7.25 and it works fine.)

Download Berkeley DB from Oracle (there doesn't seem : http://www.oracle.com/technetwork/database/berkeleydb/downloads/index-082944.html

$ cd build_unix
$ ../dist/configure --prefix=/usr/local
$ make
# make install

(Note, I chose to install bdb into /usr/local. it's default is "/usr/local/BerkeleyDB.4.7". If you use the default or another location, you will need to pass that to netatalk's configure below.)

Building netatalk

Download netatalk from: http://netatalk.sourceforge.net/

The current stable version is 3.0. For older versions of netatalk, you will need to use the "uams_dhx2.so" authentication module to support Mac OS X 10.7 and later clients. Please check the Netatalk website and mailing lists for more details.

$ ./configure --without-ddp --with-init-style=solaris
$ make
# make install

You may need to add '--with-bdb=/path/to/berkeleydb' if configure can't find it.

Version 3.0 also includes an SMF service for managing netatalk. To activate this, include "--with-init-style=solaris" on the configure line, and then make install will install the service manifest for you.

Running Netatalk

For netatalk to publish it's services using Multicast DNS (Bonjour / ZeroConf / Avahi) you will need to enable these services:

# svcadm enable svc:/network/dns/multicast:default
# svcadm enable svc:/system/avahi-bridge-dsd:default

And start netatalk with this command (for version 3.0 with init-style=solaris):

# svcadm enable svc:/network/netatalk:default

And start netatalk with this command for 2.x versions:

# /etc/init.d/netatalk start

PAM for version 3.0

Netatalk will complain that, while it supports PAM authentication, it can't automatically set up PAM for you on Solaris systems. You'll need to do this manually.

Howto needed: (LDAP/ Actve Directory support for netatalk3 - Interoperability with CIFS AD support?)

Bonjour Avahi/ Zeroconfig for version V.3

Howto needed

 

Netatalk 3 should configure Avahi/Zeroconfig automatically (assuming the services are running).

"model mimic"ing is not presently working, this is a netatalk bug, which should be fixed in the next update.

Configuration

Configurations for version 2.x and version >= 3.0 are quite different. Please refer to the netatalk website for more information: http://netatalk.sourceforge.net/

Example Configuration for version 3.0:

All configuration now happens in this one file: /usr/local/etc/afp.conf:
This file must end with a newline or netatalk service would not start (maintenance mode)

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings
hostname = server-name
zeroconf = yes

[Backup]
time machine = yes
path = /zpool/path/to/TimeMachine
directory perm = 0770
file perm = 0660



Example Configuration for version 2.2:

/usr/local/etc/netatalk/afpd.conf:

- -noddp -transall -uamlist uams_dhx2.so -nosavepassword

/usr/local/etc/netatalk/AppleVolumes.default:

~ cnidscheme:dbd options:usedots,invisibledots,upriv fperm:0660 dperm:0770
/path/to/TimeMachine "TimeMachine" cnidscheme:dbd options:usedots,invisibledots,upriv,tm fperm:0660 dperm:0770

Troubleshooting

There has been some mention on the netatalk mailing list of the "nbmand" zfs property causing problems where users can create but not delete files over afp. If you are experiencing this problem, try `zfs set nbmand=off zpool/path/to/file/system`.

Stale PID file: Netatalk 3.x has a default pidfile location of `/var/spool/locks/netatalk`. If the service won't start because of a stale lock file, delete this.

For more information check out the Netatalk web site and mailing lists.