話を元に戻して、Ubuntuで自宅サーバー構築の連載を再開します!
今回は、Linux間でディレクトリを共有するための「NFSサーバー」とLinuxとWindows間でディレクトリを共有するための「Sambaサーバー」の2種類のストレージサーバーのご紹介です!
NFSサーバーの構築
任意のディレクトリを各Linuxサーバー間で共有できるようにNFSサーバーを構築します。
ここではディレクトリではなく、予めサーバーに増設してマウントしたHDDを共有します。
例のごとく、ここからの手順は全てroot権限で行ってください。
NFSサーバーのインストールと設定
まずはストレージサーバー側にnfs-kernel-server
パッケージをインストールします。
1 |
# apt -y install nfs-kernel-server |
次に、ドメイン名を設定する場合は、以下の設定ファイルを変更してください。
※IPアドレスで管理する場合は省略可
1 2 3 4 |
# vi /etc/idmapd.conf ・・・ Domain = example.com ・・・ |
そして、以下の設定ファイルの末尾にマウント設定を追加します。
1 2 3 |
# vi /etc/exports ・・・ /mnt/nas 192.168.100.0/24(rw,no_root_squash) |
設定が完了したら、保存してNFSサーバーを再起動します。
1 |
# systemctl restart nfs-server |
とても簡単ですが、これで完了です!
括弧内のオプションの詳細については参考サイトをご覧ください。
注意点・小ネタ
もちろんですが、上記の例では/mnt/nas
にディレクトリが存在する前提です。
無ければ以下のように作成しておきます。
1 |
# mkdir /mnt/nas |
あと、ファイルやディレクトリのアクセス権限(パーミッション)も確認しておきましょう。
必要に応じて以下のように変更しましょう。
1 2 |
# chmod -R XXX /mnt/nas # chown -R XXX:YYY /mnt/nas |
最後にファイアウォールを有効にしている場合は、2049ポートを開放してあげます。
NFSサーバーの設定と同じように、特定のセグメントからのみ受け付ける場合は以下のように設定します。
1 |
# ufw allow nfs (←2049) |
もっと厳密に設定したい場合は【ufw(ファイアウォール)編】をご参照ください。
NFSクライアントのインストールと設定
NFSクライアントから、NFSサーバーで設定した共有ディレクトリをマウントします。
※ここでは上記で記載したドメイン名の設定を省略します
クライアント側にはnfs-common
パッケージをインストールします。
1 |
# apt -y install nfs-common |
インストールができたら、早速マウントしてみましょう。
1 |
# mount -t nfs 192.168.100.100:/mnt/nas /home/share |
上記のコマンド例を実行して/home/share
の中を確認すると、NFSサーバーの/mnt/nas
と共有されているのがわかるはずです。
しかし、これではクライアント側を再起動すると、アンマウントされてしまいますので、恒常的にマウントするために/etc/fstab
の設定を追記します。
1 2 3 |
# vi /etc/fstab ・・・ 192.168.100.100:/mnt/nas /home/share nfs defaults 0 0 |
これでクライアント側の設定も完了です。
お疲れ様でした!
Sambaサーバーの構築
続きまして、同じディレクトリをWindows系OSとも共有したいので、Sambaサーバーを構築していきます。
Windows特有のちょっと面倒くさい設定がありますので、最後までお読みください。
余談ですが、サーバーに増設したHDDが故障した場合、Windows端末で確認したいので、フォーマットはNTFSにしています。
Sambaサーバーのインストールと設定
Sambaを利用して、Windowsとも共有できるファイルサーバーを構築します。
ユーザー認証が面倒なので、同じネットワーク内なら認証不要で読み書き可能なフルアクセスの共有ディレクトリを設定します。
まずはファイルサーバー側にSambaパッケージをインストールします。
1 |
# apt -y install samba |
次に、先程は必要に応じてと書きましたが、フルアクセスを許可したいので共有するディレクトリのアクセス権限(パーミッション)を変更します。
1 |
# chmod -R 777 /mnt/nas |
それから、Sambaの設定ファイルを開いて、以下の設定の編集を行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# vi /etc/samba/smb.conf ・・・ [global] unix charset = UTF-8 dos charset = CP932 ・・・ workgroup = WORKGROUP ・・・ interfaces = 127.0.0.0/8 192.168.100.0/24 ・・・ map to guest = bad user ・・・ [share] path = /mnt/nas writable = yes guest ok = yes guest only = yes force create mode = 777 force directory mode = 777 |
設定が完了したら、保存してSambaサーバーを再起動します。
1 |
# systemctl restart smbd |
ファイルサーバー側の設定は以上で完了です。
設定の詳細については参考サイトをご覧ください。
注意点・小ネタ
workgroupはクライアント(Windows)側で実際に設定されているワークグループを設定してください。(デフォルトはWORKGROUP)
interfacesにはアクセスを許可したいIPのセグメント(サブネットも)を半角スペース区切りで追加します。
VPN等で接続する場合はそのセグメントも忘れずに追記しておきましょう。
最後に、設定の中の[share]はそのまま共有ディレクトリ名になります。
次の項で少し説明します。
Sambaクライアント(Windows)の設定
Windowsでは、特にクライアントソフトをインストールすることなく共有ディレクトリにアクセスすることができます。
上記で共有ディレクトリを設定したので、エクスプローラのアドレスバーに以下のように入力することでアクセスできます。
1 |
\\192.168.100.100\share |
ネットワークドライブに割り当てる方法はこちらをご参照ください。
ただし、Windows ServerはSambaクライアントが必要なので注意してください。
他にもディレクトリの共有方法として、FTPサーバー等もありますが、ここでは割愛させていただきます。
WebDAVサーバーについては、Webアプリケーションサーバーの記事でご紹介します!
コメント