Установка и настройка Netatalk 3.1.8 на Debian сервер

У меня нет TimeCapsule, но желание делать бэкапы есть, но для этого на сервере нужно «поднять» Netatalk.

Netatalk — это бесплатная open-source реализация протокола Apple Filling Protocol, которая и будет отвечать за то, чтобы Time Machine могла бэкапиться сразу на сервер.

Для облегчения процесса объединил в скрипт все действия с сайта Netatalk.

#!/bin/bash
## Download latest version from http://netatalk.sf.net
## Change (if need) filename/foldername (netatalk-x.x.x)
## Run this script =)

wget http://iweb.dl.sourceforge.net/project/netatalk/netatalk/3.1.8/netatalk-3.1.8.tar.bz2

## Unpack archive

tar xvf netatalk-3.1.8.tar.bz2
cd netatalk-3.1.8

## Install required packages

apt-get install build-essential \
 libevent-dev \
 libssl-dev \
 libgcrypt11-dev \
 libkrb5-dev \
 libpam0g-dev \
 libwrap0-dev \
 libdb-dev \
 libtdb-dev \
 libmysqlclient-dev \
 libavahi-client-dev \
 libacl1-dev \
 libldap2-dev \
 libcrack2-dev \
 systemtap-sdt-dev \
 libdbus-1-dev \
 libdbus-glib-1-dev \
 libglib2.0-dev \
 avahi-daemon \
# tracker \
# libtracker-sparql-1.0-dev \
# libtracker-miner-1.0-dev

## Configure

./configure \
 --with-init-style=debian-systemd \
 --without-libevent \
 --without-tdb \
 --with-cracklib \
 --enable-krbV-uam \
 --with-pam-confdir=/etc/pam.d \
 --with-dbus-sysconf-dir=/etc/dbus-1/system.d \
# --with-tracker-pkgconfig-version=1.0

## Make & install

make
make install

## Enable & restart services

systemctl enable avahi-daemon
systemctl enable netatalk
systemctl start avahi-daemon
systemctl start netatalk

## EOF

Настройка Netatalk

После установки стандарный конфиг /usr/local/etc/afp.conf выглядит так:

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume

Не густо 🙁

Но после изучения интернета и man afp.conf конфиг превращается в:

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings

uam path = /usr/local/lib/netatalk
uam list = uams_dhx.so uams_dhx2.so uams_guest.so

guest account = nobody

mimic model = RackMac

; [Homes]
; basedir regex = /xxxx

; [My AFP Volume]
; path = /path/to/volume

[Torrents]
  path = /home/transmission
  valid users = nobody

;[TimeMachine]
;  path = /home/timemachine
;  time machine = yes
;  vol size limit = 256000
;  valid users = artem

Вкратце, uam list определяет способы авторизации и uams_guest.so разрешает просмот шар без ввода логина/пароля, mimic model отвечает за «иконку» сервера в сетевом окружении, time machine = yes разрешает использовать указанную папку в качестве папки для бэкапов Time Machine. Есть еще 100500 параметров, которые расписаны в man afp.conf.

После вышеуказанных манипуляций мы имеем доступ к файлам на сервере.

netatalk-1 netatalk-2