CentOS7環境構築備忘録

##ゴール

CentOS7がインストールされたマシンにUSB接続HDDを接続し
Windows10、macOSを定期的にバックアップしファイル共有も行う


##前提条件

下記項目は設定済として話を進めます

- 一般ユーザの追加
- 固定IP設定
- IPv6無効化
- SELinux無効化
- USB接続HDDのマウント


##Samba設定

Sambaインストール

```
# yum -y install samba
```

例としてserverグループを作成

```
# groupadd server
```

Windows10をバックアップするディレクトリを作成
作成したディレクトリのグループ情報をserverに変更
所有者とグループにのみフルアクセスの権限を与える

```
# mkdir /mnt/sdb/win10_bk
# chgrp server /mnt/sdb/win10_bk
# chmod 770 /mnt/sdb/win10_bk
```

ファイル共有を行うディレクトリを作成
作成したディレクトリのグループ情報をserverに変更
所有者とグループにのみフルアクセスの権限を与える

```
# mkdir /mnt/sdb/filesrv
# chgrp server /mnt/sdb/filesrv
# chmod 770 /mnt/sdb/filesrv
```

設定ファイルバックアップ

```
# cp /etc/samba/smb.conf /etc/samba/smb.conf.org
```

設定ファイル編集

```
# vi /etc/samba/smb.conf
```

設定ファイルの内容についてはまだ勉強中です
理解できたところからコメントを追記していこうと思います


```
[global]
        unix charset = UTF-8
        dos charset = CP932

        workgroup = WORKGROUP

        hosts allow = 127. 192.168.

        security = user
        passdb backend = tdbsam

        vfs objects = catia fruit streams_xattr
        ;fruit:locking = netatalk
        fruit:encoding = native
        streams_xattr:prefix = user.
        streams_xattr:store_stream_type = no
        ea support = yes

        hide files = /.DS_Store/Network Trash Folder/TheFindByContentFolder/TheVolumeSettingsFolder/Temporary Items/.TemporaryItems/.VolumeIcon.icns/Icon?/.FBCIndex/.FBCLockFolder/

[filesrv]
        path = /mnt/sdb/filesrv
        writable = yes
        create mode = 0770
        directory mode = 0770
        guest ok = no
        valid users = @server

[win10_bk]
        path = /mnt/sdb/win10_bk
        writable = yes
        create mode = 0770
        directory mode = 0770
        guest ok = no
        valid users = @server
```

smb nmbサービスを起動する

```
# systemctl start smb nmb
```

冒頭で作成した一般ユーザをSambaに登録

```
# smbpasswd -a hoge
# usermod -G server hoge
```

firewalldを有効にしている場合、Sambaサービスの許可が必要

```
# firewall-cmd --add-service=samba --permanent
# firewall-cmd --reload
```


##Netatalkインストール

インストールに必要なライブラリ

```
# yum -y install rpm-build gcc make wget

# yum -y install avahi-devel bison cracklib-devel dbus-devel dbus-glib-devel docbook-style-xsl flex libacl-devel libattr-devel libdb-devel libevent-devel libgcrypt-devel libxslt krb5-devel mysql-devel openldap-devel openssl-devel pam-devel quota-devel systemtap-sdt-devel tcp_wrappers-devel libtdb-devel tracker-devel
```

Netatalkをダウンロードするディレクトリを作成し移動

```
# mkdir /home/netatalk
# cd /home/netatalk
```

Netatalkダウンロード

```
# wget http://www003.upp.so-net.ne.jp/hat/files/netatalk-3.1.11-0.1.1.fc27.src.rpm
```

SRPMファイルをインストール

```
# rpm -ivh netatalk-3.1.11-0.1.1.fc27.src.rpm
```

rpmbuildディレクトリへ移動してRPMファイルを作成

```
# cd ~/rpmbuild
# rpmbuild -bb SPECS/netatalk.spec
```

rpmbuildが作成したゴミを削除

```
# rpmbuild --clean SPECS/netatalk.spec
```

インストールに必要なライブラリ

```
# yum -y install dconf perl perl-IO-Socket-INET6
```

インストール

```
# rpm -ivh RPMS/x86_64/netatalk-3.1.11-0.1.1.el7.centos.x86_64.rpm
```


##Netatalk 設定


設定ファイルバックアップ

```
# cp /etc/netatalk/afp.conf /etc/netatalk/afp.conf.org
```

設定ファイル編集

```
# vi /etc/netatalk/afp.conf
```

設定ファイルの内容についてはまだ勉強中です
理解できたところからコメントを追記していこうと思います

```
[Global]
    spotlight = yes
    vol preset = my default values
    uam list = uams_guest.so

[my default values]
    ea = samba

[Homes]
    basedir regex = /home

[filesrv]
    path = /mnt/sdb/filesrv
    file perm = 0660
    directory perm = 0770

[win10_bk]
    path = /mnt/sdb/win10_bk
    file perm = 0660
    directory perm = 0770

[mac_bk]
    path = /mnt/sdb/mac_bk
    time machine = yes
    vol size limit = 256000
    spotlight = no
    rwlist = nobody
```

iptablesの設定

```
# iptables -I INPUT -p tcp --dport afpovertcp -j ACCEPT
```

netatalkサービスを起動する

```
# systemctl start netatalk
```

##備忘録終わり