LoginSignup
11
9

More than 5 years have passed since last update.

CentOS7上にSambaでTime Machineサーバを構築する

Posted at

先日リリースされた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上に作成しました)。
bash
$ 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用のユーザ作成&パスワード設定を行います。
bash
$ 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起動時に自動起動させる場合は、以下のコマンドで。
bash
$ 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)
11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9