Appletalk / Netatalk

General Information

This short how-to gives you the instructions to install and configure an OpenBSD machine as a fileserver for Apple’s Macintosh Computers.

Requirements

  • A running OpenBSD installation (tested with 3.8 and 4.3)
  • wget must be installed (from the packages), or any other tool to get packages from the web (eg. curl)
  • Berkeley-DB must be installed (instructions here included)

Installation

Download and install the Berkeley-DB (aka SleepyCat Database), now owned by Oracle

Download

cd /usr
wget http://download.oracle.com/berkeley-db/db-4.2.52.tar.gz

Unpack

tar xzf db-4.2.52.tar.gz

Compile, configure & install

cd /usr/db-4.2.52/build_unix
../dist/configure
make
make install

Note:Don’t use any other version! They don’t work with this configuration!

Download and install the Netatalk package:

Download

cd /usr
wget http://switch.dl.sourceforge.net/sourceforge/netatalk/netatalk-2.0.3.tar.gz

Unpack

tar xzf netatalk-2.0.3.tar.gz

Compile, configure & install:

cd /usr/netatalk-2.0.3
./configure --with-bdb=/usr/local/BerkeleyDB.4.2
make
make install

Note: Don’t use any other version! They don’t work with this configuration!

Make link to /etc for compatibility:

ln -s /usr/local/etc/netatalk /etc/netatalk

Configure for automatic start: in the file /etc/rc.local comment the section about netatalk if uncommented:

  # Netatalk stuff
  #if [ -f /etc/netatalk/rc.atalk ]; then
  #       . /etc/netatalk/rc.atalk
  #fi

Add the following start sequence to end of file rc.local:

  if [ -f /etc/netatalk/afpd.conf ]; then
    echo ' afpd';    /usr/local/sbin/afpd
  fi

If you don’t wish to reboot to take effect, start the AFP-Daemon with the following command:

/usr/local/sbin/afpd

I recommend to reboot to check if the startup sequence are ok. After the start check if afpd is running:

ps ax | grep afpd

must result in a output like this:

27742 ??  I       0:00.05 /usr/local/sbin/afpd

Configuration

Enable AFP (apple filing protocol) password file:

afppasswd -c

To add a user you must create a local user account:

adduser

… fill in the gaps

Then set the afp password for this user:

afppasswd -a USERNAME

To share volumes, you have to edit the file /etc/netatalk/AppleVolumes.default to look like this:

PATH SHARENAME OPTIONS

where PATH the path to your local directory is, which you want to share. SHARENAME is the name which will you use to mount and see in the finder, and OPTIONS are the options for this share. Examples are:

/disk/path1 share1 allow:kai

This will share the directory /disk/path1 under the name “share1″, and only user kai has access to this. Another example:

/disk/path2 "share 2" allow:kai options:ro

This will share the directory under the name “share 2″, only user kai has access, but the share is read only (options:ro). Look at the documentation for more options (man AppleVolumes.default).

Next step is to create a “virtual server”. You have to edit the file /etc/netatalk/afpd.conf. The format of each line (one line per virtual server) is SERVER OPTIONS. Example:

"testVMx2" -uamlist uams_clrtxt.so,uams_dhx.so,uams_guest.so -loginmesg "Welcome stranger"

Look at the documentation (man afpd.conf).

You will find more details in the documentation of afpd (man afpd).

Speak Your Mind

*