Настроил на домашнем сервере Netatalk, чтобы макось пользовалась сетевыми ресурсами по родному и знакомому протоколу. Так как недавно вышла версия 3.0 этого сервиса, то настраивал именно её. Настройки сильно отличаются от предыдущей ветки 2.х, но при этом гораздо проще — всё свели в один файл afp.conf с простым синтаксисом.

Исходники скачиваются с Sourceforge. Затем обычная процедура — распаковать, отконфигурировать, собрать:

tar xfv netatalk-3.0.tar.bz2
cd netatalk-3.0
./configure --with-init-style=debian --enable-debian

Собираю я обычно с опцией -j4. Процессор, хоть и простой Atom, но в несколько потоков собирает заметно быстрее

make -j4

После сборки устанавливаем

sudo make install

Все настройки теперь лежат в одном единственном файле — afp.conf, редактируем его. Сам файл находится в /usr/local/etc/afp.conf, но для удобства можно сделать симлинк на /etc/afp.conf, если так привычнее. Я так и поступил.

Подробное описание параметров есть в man'е или здесь. Структура файла стала очень похожа на конфигурацию для samba и настраивать надо не так уж и много.

[Global]
; Global server settings
hostname = Master
afp listen = 192.168.0.100
log file = /var/log/netatalk.log
log level = default:info

[Homes]
basedir regex = /home
cnid scheme = dbd
home name = Home: $u
[Download]
path = /srv/nfs/download
cnid scheme = dbd
file perm = 0660
directory perm = 0770

Запускаем

sudo /etc/init.d/netatalk start

Для оповещения о доступных сетевых ресурсах ещё ставим avahi

sudo apt-get install avahi-daemon
sudo /etc/init.d/avahi-daemon start

Этих настроек оказалось вполне достаточно, мак увидел сервер и соединился с ним. Права на запись — есть, всё работает.

Что очень удобно — системные файлы теперь хранятся не в самой директории, а в /usr/local/var/netatalk и не мешают, если пользоваться сервером через samba из других систем.

Возможно, в дальнейшем потребуется какой-то тюнинг, но это будет ясно после пары недель эксплуатации.

Update: Перед сборкой нужно установить библиотеки libdb и libgcrypt:

sudo apt-get install libgcrypt-dev libdb-dev
Ubuntu + Netatalk 3.0
Метки:                
  • EvilBox

    Чет нифига не собирается, какет только

    configure: error: Berkeley DB library required but not found!

    хотя предыдущий пакет работает на ура и репозиториев ubuntu

    • http://ovcharov.me/ Andrey Ovcharov

      В Ubuntu нужно поставить пакет libdb

  • Experor

    Пробую ставить на Ubuntu Server 12.04, но клонированием git, как у netatalk в мануале. Все ок и bootstrap тоже, а вот при попытке отконфигурировать выдает:

    ./configure: line 2231: config.log: Permission denied

    ./configure: line 2241: config.log: Permission denied

    Нужна помощь, я на Маке полностью мне без afp низзя! А 2.2 чего то произвольно отваливался, когда хотел.

    • http://ovcharov.me/ Andrey Ovcharov

      Подозреваю, что нужно просто дать демону права на запись в директорию, где находится config.log

      • Experor

        права дал, потом опять был вылет по невозможности переместить файл в другую директорию, чтобы не менять UG с root на другой использовал sudo, все прошло, запустил, все как у тебя. Mac не видит сервака. Avahi не конфигурировал, как в версии 2, может в этом проблема но ты про это ничего не говорил.

        • http://ovcharov.me/ Andrey Ovcharov

          Avahi я тоже не конфигурировал, запустилось в стандартных настройках

  • Experor

    Извини за назойливость.

    Поставил на чистый сервак, руками как у тебя без всякого копирования git, все пошло. Файл настроек как у тебя по 2 статье. Один логин в системе. Мас видит, но войти не дает. По ssh с теми же реквизитами с того же Мака влетаю на ура.

    А вот и лог

    Sep 09 17:30:51.858467 afpd [20400]{uams_dhx2_passwd.c:263} (I:UAMS): DHX2 login: ***

    Sep 09 17:30:52.645973 afpd [20400]{auth.c:242} (N:AFPDaemon): AFP3.3 Login by ***

    Sep 09 17:30:55.486498 afpd [20400]{auth.c:856} (N:AFPDaemon): AFP logout by ***

    Sep 09 17:30:55.487839 afpd [20400]{dsi_stream.c:479} (E:DSI): dsi_stream_read: len:0, unexpected EOF

    И что тут может быть? Куда копать-то?

    • http://ovcharov.me/ Andrey Ovcharov

      Боюсь, тут ничем помочь не могу — с такой проблемой не сталкивался. У меня всё заработало практически сразу.

      • Experor

        Спасибо, по-любому, войти — вошел, там мой косяк был. Дальше пошли.

        А так по твоему мануалу все и настроил, спасибо

  • lex

    Спасибо. Обновил, понял что конфиг изменился, на сайте доку не обновили, ман огромный и читать лень, зато тут все понятно и быстро :)

  • lex

    Кстати, по сабжу — в netatalk 3 появилось нечто под названием samba share mode interop, удалось выяснить что это вообще? У меня и самба используется дома, и netatalk, и если это нечто улучшает совместимость — было бы очень приятно.

  • Rus Skazkin

    Привет! А avahi нужно настраивать? afpd.service создавать?