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).