Installing Netatalk on macOS
Install the latest Netatalk
For building and installing from source yourself, find links to the official documentation below.
- Compile Netatalk from Source: macOS in the Manual
- INSTALL.md in the source tree
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.
Homebrew
When installing Netatalk on Macs running Mojave (10.14) onwards the dependencies are easily installed using Homebrew. To install Homebrew, open Terminal and paste the following:
/bin/bash -c "$(curl -fsS https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Netatalk v3
Below follows the build instructions for the legacy Autotools build system. In most cases, you want to follow the instructions in the links at the top of this page instead.
Install the dependencies
brew install berkeley-db libtool automake autoconf libevent libgcrypt mysql [email protected] libressl pkg-config
Then clone the Netatalk repository and cd to that folder:
git clone https://github.com/Netatalk/netatalk.git
cd /path/to/netatalk/clone
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
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"
(2024-11-09: recently homebrew shifted from “/opt/homebrew/....” to “/usr/local/Homebrew/.....” and moved “opt” to “usr/local/” so you might want to use “/usr/local/opt/....”)
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
This is a mirror of the Netatalk GitHub Wiki. Please visit the original page if you want to correct an error or contribute new contents.
Last updated 2024-11-20