CentOS 6.5上にAFP (Apple Filing Protocol)サーバのNetatalk 3.1系をインストールする。

CentOSでは正式なNetatalkのパッケージは用意されていない。そこで、Netatalk Wikiのページで紹介されているSRPMを利用する。

もしまだなら、rpmbuildをインストールする。

yum install rpm-build

まずはダウンロードしたSRPMファイルをrpmコマンドでインストールする。

rpm -ivh netatalk-3.1.1-0.0.3.el6.src.rpm

このとき次のメッセージが出るが気にする必要は無い。

warning: group hat does not exist - using root
warning: user hat does not exist - using root

次にインストールされたSPECファイルを使ってrpmbuildコマンドでRPMを作成する。

cd ~/rpmbuild

rpmbuild -bb SPECS/netatalk.spec

このとき必要なパッケージが不足している場合は次のようなメッセージが表示されるので、不足パッケージをインストールして、もう一度rpmbuildを実行する。

package is needed by netatalk-4:3.1.1-0.0.3.el6.x86_64

正常なら~/rpmbuild/RPMS/x86_64にRPMファイルが作成されている。rpmbuildが作ったビルドツリーはもう不要なので削除しておく。

rpmbuild --clean SPECS/netatalk.spec

最後に、作成されたRPMファイルをrpmコマンドでインストールすれば、パッケージのインストールは完了。

rpm -ivh RPMS/x86_64/netatalk-3.1.1-0.0.3.el6.x86_64.rpm

設定は/etc/afp.confを編集する。インストール直後のファイルは以下の通り。

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings

; [Homes]
; basedir regex = /home

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

[Global]セクションではサーバ全体に対する設定を書く。3.1系では特に書くことはないが、サーバのファイルシステムの文字コードがUTF-8ではないなら、その設定を書く必要がある。
[Homes]セクションはホームディレクトリを公開する場合にコメントアウトする。ここでbasedir regexは必ず設定しなければならない。
[My AFP Volume]は単なるサンプル。例えばShareという名前のボリュームを公開するのであれば、[Share]というセクションを作って、pathを設定する。
最終的には以下のような内容になる。

;
; Netatalk 3.x configuration file
;

[Global]
; Global server settings

[Homes]
basedir regex = /home

[Share]
path = /home/share

設定が終わればサーバを起動する。まずはBonjourのためにサーバを起動する。D-Busが未インストールの場合はまず、D-Busをインストールして起動する。

yum install dbus

service messagebus start

Starting system message bus:                               [  OK  ]

次にavahi-daemonを起動する。

service avahi-daemon start

Starting Avahi daemon...                                   [  OK  ]

そして最後にNetatalkを起動する。

service netatalk start

Starting Avahi daemon...                                   [  OK  ]

同じサブネットのMac上でFinderで「ネットワーク」を見てサーバが表示されていればOK。