Skip to content

Installing Netatalk 3 on Fedora

Daniel Markstedt edited this page Jan 12, 2024 · 4 revisions

Overview

This installation guide was originally written for Netatalk 3.2.0-devel on Fedora 39

Required Packages

Install the following packages by dnf.

  • gcc
  • libtool
  • make
  • automake
  • libevent-devel (used by netatalk(8))
  • libdb-devel (dbd CNID backend)
  • libgcrypt-devel (DHX2 auth)
  • openssl-devel or libressl-devel (DHX auth aka DHCAST128)
  • krb5-devel (Kerberos V auth)
  • pam-devel (PAM)
  • avahi-devel (Bonjour support)
  • cracklib-devel (password ckeck)
  • libacl-devel (ACL support)
  • openldap-devel (enhanced ACL support)
  • dbus-devel (used by afpstats command)
  • dbus-glib-devel (used by afpstats command)
  • glib2-devel (used by afpstats command)
  • perl-IO-Socket-INET6 (used by asip-status.pl command)
  • systemtap-sdt-devel (DTrace-compatible)
  • tracker (used for spotlight indexing)
  • tracker-devel (used for spotlight indexing)
  • libtalloc-devel (spotlight dependency)

Build

Get the tarball from Netatalk Web Site and extract it, or clone the git repo from GitHub.

If cloned from git repo, run bootstrap to generate the build files.

$ ./bootstrap

You should read the configure help message, in order to know configure options.

If the applicable libraries are installed, many options will be detected automatically.

$ ./configure --help

Do configure! The following options are not auto-detected.

$ ./configure \
   --with-init-style=redhat-systemd \
   --with-cracklib \
   --enable-krbV-uam \
   --with-pam-confdir=/etc/pam.d \
   --with-dbus-sysconf-dir=/etc/dbus-1/system.d \
   --with-tracker-pkgconfig-version=3.0

The version 3.0 --with-tracker-pkgconfig-version=3.0 must match the pkg-config version of the installed Tracker libraries. Use the following commands for finding the version info:

$ pkg-config --list-all | grep tracker
...

On successful completion, you will see a report similar to the following:

Compilation summary:

   CPPFLAGS       = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)
   CFLAGS         = -D_U_="__attribute__((unused))" -g -O2
   LIBS           =  -lcrack
   PTHREADS:
       LIBS   = -lpthread
       CFLAGS = -pthread
   TRACKER:
       LIBS   = -ltracker-sparql-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
       CFLAGS = -I/usr/include/tracker-3.0 -I/usr/include/tracker-3.0/libtracker-sparql -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gio-unix-2.0 -I/usr/include/json-glib-1.0 -I/usr/include/libxml2 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/sysprof-6 -pthread
   SSL:
       LIBS   =  -L/usr/lib64 -lcrypto
       CFLAGS =  -I/usr/include/openssl
   LIBGCRYPT:
       LIBS   = -lgcrypt -lgpg-error
       CFLAGS =
   PAM:
       LIBS   =  -lpam
       CFLAGS =
   WRAP:
       LIBS   =
       CFLAGS =
   BDB:
       LIBS   =  -L/usr/lib64 -ldb-5.3
       CFLAGS =
   GSSAPI:
       LIBS   = -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
       CFLAGS =
   ZEROCONF:
       LIBS   =  -lavahi-common -lavahi-client
       CFLAGS =  -D_REENTRANT
   LDAP:
       LIBS   =  -lldap
       CFLAGS =
   LIBEVENT:
       LIBS   = -levent
       CFLAGS =
   TALLOC:
       LIBS   =
       CFLAGS =

Configure summary:

   INIT STYLE:
        redhat-systemd
   AFP:
        Extended Attributes: ad | sys
        ACL support: yes
        Spotlight: yes
   CNID:
        backends:  dbd last
   UAMS:
        DHX     (PAM SHADOW)
        DHX2    (PAM SHADOW)
        RANDNUM (afppasswd)
        Kerberos V
        clrtxt  (PAM SHADOW)
        guest
   Options:
        Zeroconf support:        yes
        tcp wrapper support:     no
        valid shell check:       yes
        cracklib support:        yes
        ACL support:             auto
        Kerberos support:        yes
        LDAP support:            yes
        AFP stats via dbus:      yes
        dtrace probes:           yes
   Paths:
        Netatalk lockfile:       /var/lock/netatalk
        init directory:          /usr/lib/systemd/system
        dbus system directory:   /etc/dbus-1/system.d
        dbus daemon path:        /bin/dbus-daemon
        tracker prefix:          /usr
        tracker install prefix:  /usr
        tracker manager:         /usr/bin/tracker3 daemon
        pam config directory:    /etc/pam.d
   Documentation:
        Docbook:                 no

Docbook is not needed because it is for developers only, when regenerating documentation.

Make and install.

$ make
# make install

Check

Check features and paths, using netatalk -V and afpd -V.

Setting

Edit /usr/local/etc/afp.conf.

Ex:

[Global]

[Homes]

   basedir regex = /home

[Test Volume]

   path = /export/test1

[My Time Machine Volume]

   path = /export/timemachine
   time machine = yes

You should check the firewall. AFP's port number is 548. Zeroconf's port number is 5353.

Enabling and Starting

# systemctl enable netatalk
# systemctl start netatalk
Clone this wiki locally