Skip to content

Installing Netatalk on macOS

Daniel Markstedt edited this page Dec 9, 2024 · 6 revisions

Install the latest Netatalk

For building and installing from source yourself, find links to the official documentation below.

Introduction

Apple started to switch from AFP to SMB file sharing from Mavericks (10.9) onwards. The built-in afp server was finally removed in Big Sur (11.0) so Netatalk comes in useful if you have a modern Intel or Apple Silicon Mac and wish to share files with a vintage Mac such as a PowerMac G3 or G4 running classic Mac OS 9 to 7.5.

Homebrew

When installing Netatalk on Macs running Mojave (10.14) onwards the dependencies are easily installed using Homebrew. Refer to the Homebrew homepage for instructions how to install the package manager.

Xcode

Git and other CLI tools are required to build Netatalk from source. Homebrew will typically install this for you automatically, but if needed you can install the full Xcode package from the App Store.

Netatalk v4

Clone the Netatalk repository to your home directory and cd to that folder:

cd ~
git clone https://github.com/Netatalk/netatalk.git netatalk-code
cd netatalk-code
git checkout branch-netatalk-4-0

From this point onward, go to the Compile chapter for macOS and follow the sequence of commands, until the "Start netatalk" step.

If all goes well, you should have netatalk running on your macOS system, sharing the /Users directories of each user on the system.

In case you want to share other directories on your system, please see the afp.conf manual page.

Netatalk v3

Below follows the build instructions for an older Netatalk version and the legacy Autotools build system. In most cases, you want to build the latest version instead.

Install the dependencies

brew install berkeley-db libtool automake autoconf libevent libgcrypt mysql [email protected] libressl pkg-config

The paths for your SSL and BDB installations can be found by typing:

brew --prefix berkeley-db

brew --prefix [email protected] or brew --prefix libressl

Clone the source code

Clone the Netatalk repository in your home directory, and cd to that folder:

cd ~
git clone https://github.com/Netatalk/netatalk.git netatalk-code
cd netatalk-code
git checkout branch-netatalk-3-2

To compile run the following commands

./bootstrap

./configure --with-ssl-dir=/path/to/openssl/installation --with-bdb=/path/to/bdb/installation

If ./configure fails because it can't find libevent, you may need to export the path to libevent's pkgconfig:

export PKG_CONFIG_PATH="/opt/homebrew/opt/libevent/lib/pkgconfig"

Note: The homebrew path begins with /opt/homebrew on Apple Silicon and /usr/local on Intel Macs.

make

To install

sudo make install

Enable the launchd daemon

In case the build script didn't activate it for you, do this to make launchd to register the netatalk daemon.

sudo launchctl enable system/io.netatalk.daemon
launchctl start netatalk

Underneath the hood we use a controller script called netatalkd that sets up the required environment.

To start netatalk daemons:

sudo netatalkd start

To stop netatalk daemons:

sudo netatalkd stop

Binary packages

At the time of writing, MacPorts is distributing a pre-built binary package of netatalk.

However, it is from the older 2.2 release series, which is missing recent improvements and security patches.

Clone this wiki locally