先日リリースされたSamba 4.8.0でTime Machineサーバの機能がサポートされたようなので、CentOS 7.4上にインストールしてみました。
インストール
依存パッケージのインストール
$ sudo yum install gnutls-devel libacl-devel pam-devel openldap-devel
予め入っていたパッケージもあるので、上記以外に必要になるものもあるかもしれません。うまくいかない場合は公式Wikiに載っているパッケージを片っ端からインストールしてみてください。
ビルド
$ wget https://download.samba.org/pub/samba/stable/samba-4.8.0.tar.gz
$ tar -zxf samba-4.8.0.tar.gz
$ cd samba-4.8.0/
$ ./configure
$ make
インストール
$ sudo make install
ディレクトリの作成
Time Machineサーバ用のディレクトリを作成します(好きな場所に作成してください。私は/mybook
にマウントされている外部HDD上に作成しました)。
$ sudo mkdir /mybook/timemachine
$ sudo chmod 0777 /mybook/timemachine
設定ファイルの作成
/usr/local/samba/etc/smb.conf
[global]
workgroup = SAMBA
security = user
passdb backend = tdbsam
[timemachine]
path = /mybook/timemachine
writable = yes
guest ok = yes
vfs objects = catia fruit streams_xattr
fruit:resource = file
fruit:metadata = netatalk
fruit:locking = netatalk
fruit:encoding = native
fruit:time machine = yes
fruit:time machine max size = 1T
とりあえずこの設定で使えるようになりましたが、詳しい設定はリファレンスを参照してください。
サービスの設定
/usr/lib/systemd/system/smb.service
[Unit]
Description=Samba SMB Daemon
After=syslog.target network.target nmb.service winbind.service
[Service]
Environment=KRB5CCNAME=FILE:/run/samba/krb5cc_samba
Type=forking
NotifyAccess=all
PIDFile=/usr/local/samba/var/run/smbd.pid
LimitNOFILE=16384
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/local/samba/sbin/smbd $SMBDOPTIONS
ExecReload=/usr/bin/kill -HUP $MAINPID
LimitCORE=infinity
[Install]
WantedBy=multi-user.target
/usr/lib/systemd/system/nmb.service
[Unit]
Description=Samba NMB Daemon
After=syslog.target network.target
[Service]
Environment=KRB5CCNAME=FILE:/run/samba/krb5cc_samba
Type=forking
NotifyAccess=all
PIDFile=/usr/local/samba/var/run/nmbd.pid
EnvironmentFile=-/etc/sysconfig/samba
ExecStart=/usr/local/samba/sbin/nmbd $NMBDOPTIONS
ExecReload=/usr/bin/kill -HUP $MAINPID
LimitCORE=infinity
[Install]
WantedBy=multi-user.target
$ sudo systemctl daemon-reload
アクセス用ユーザの作成
OS上のユーザは既に存在するものとして、Samba用のユーザ作成&パスワード設定を行います。
$ sudo /usr/local/samba/bin/pdbedit -a ユーザー名
new password:
retype new password:
firewallの設定
$ sudo firewall-cmd --permanent --zone=public --add-service=samba
$ sudo firewall-cmd --reload
起動
$ sudo systemctl start smb
$ sudo systemctl start nmb
OS起動時に自動起動させる場合は、以下のコマンドで。
$ sudo systemctl enable smb
$ sudo systemctl enable nmb
これでMacのバックアップサーバとして使えるようになりました。
環境情報
- Cent OS 7.4.1708
- Samba 4.8.0
- Mac OS X 10.13.2 (High Sierra)