Ubuntuで自宅サーバー構築!【ストレージ(ファイル)サーバー編】

ubuntu-storage-server

話を元に戻して、Ubuntu自宅サーバー構築の連載を再開します!
今回は、Linux間でディレクトリ共有するための「NFSサーバー」とLinuxWindows間でディレクトリ共有するための「Sambaサーバー」の2種類のストレージサーバーのご紹介です!

NFSサーバーの構築

NFSサーバー

NFSサーバー


任意のディレクトリを各Linuxサーバー間で共有できるようにNFSサーバーを構築します。
ここではディレクトリではなく、予めサーバーに増設してマウントしたHDDを共有します。
例のごとく、ここからの手順は全てroot権限で行ってください。

NFSサーバーのインストールと設定

まずはストレージサーバー側にnfs-kernel-serverパッケージをインストールします。

# apt -y install nfs-kernel-server

次に、ドメイン名を設定する場合は、以下の設定ファイルを変更してください。
IPアドレスで管理する場合は省略可

# vi /etc/idmapd.conf
・・・
Domain = example.com
・・・

そして、以下の設定ファイルの末尾にマウント設定を追加します。

# vi /etc/exports
・・・
/mnt/nas 192.168.100.0/24(rw,no_root_squash)

設定が完了したら、保存してNFSサーバー再起動します。

# systemctl restart nfs-server

とても簡単ですが、これで完了です!
括弧内のオプションの詳細については参考サイトをご覧ください。

注意点・小ネタ

もちろんですが、上記の例では/mnt/nasディレクトリが存在する前提です。
無ければ以下のように作成しておきます。

# mkdir /mnt/nas

あと、ファイルディレクトリアクセス権限パーミッション)も確認しておきましょう。
必要に応じて以下のように変更しましょう。

# chmod -R XXX /mnt/nas
# chown -R XXX:YYY /mnt/nas

最後にファイアウォールを有効にしている場合は、2049ポートを開放してあげます。
NFSサーバーの設定と同じように、特定のセグメントからのみ受け付ける場合は以下のように設定します。

# ufw allow nfs (←2049)

もっと厳密に設定したい場合は【ufw(ファイアウォール)編】をご参照ください。

NFSクライアントのインストールと設定

NFSクライアントから、NFSサーバーで設定した共有ディレクトリマウントします。
ここでは上記で記載したドメイン名の設定を省略します
クライアント側にはnfs-commonパッケージをインストールします。

# apt -y install nfs-common

インストールができたら、早速マウントしてみましょう。

# mount -t nfs 192.168.100.100:/mnt/nas /home/share

上記のコマンド例を実行して/home/shareの中を確認すると、NFSサーバー/mnt/nas共有されているのがわかるはずです。
しかし、これではクライアント側を再起動すると、アンマウントされてしまいますので、恒常的マウントするために/etc/fstabの設定を追記します。

# vi /etc/fstab
・・・
192.168.100.100:/mnt/nas /home/share nfs defaults 0 0

これでクライアント側の設定も完了です。
お疲れ様でした!

Sambaサーバーの構築

Sambaサーバー

Sambaサーバー


続きまして、同じディレクトリWindows系OSとも共有したいので、Sambaサーバーを構築していきます。
Windows特有のちょっと面倒くさい設定がありますので、最後までお読みください。
余談ですが、サーバーに増設したHDDが故障した場合、Windows端末で確認したいので、フォーマットNTFSにしています。

Sambaサーバーのインストールと設定

Sambaを利用して、Windowsとも共有できるファイルサーバーを構築します。
ユーザー認証が面倒なので、同じネットワーク内なら認証不要で読み書き可能なフルアクセス共有ディレクトリを設定します。
まずはファイルサーバー側にSambaパッケージをインストールします。

# apt -y install samba

次に、先程は必要に応じてと書きましたが、フルアクセスを許可したいので共有するディレクトリアクセス権限パーミッション)を変更します。

# chmod -R 777 /mnt/nas

それから、Sambaの設定ファイルを開いて、以下の設定の編集を行います。

# 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サーバーを再起動します。

# systemctl restart smbd

ファイルサーバー側の設定は以上で完了です。
設定の詳細については参考サイトをご覧ください。

注意点・小ネタ

workgroupクライアントWindows)側で実際に設定されているワークグループを設定してください。(デフォルトはWORKGROUP
interfacesにはアクセスを許可したいIPのセグメント(サブネットも)を半角スペース区切りで追加します。
VPN等で接続する場合はそのセグメントも忘れずに追記しておきましょう。


最後に、設定の中の[share]はそのまま共有ディレクトリ名になります。
次の項で少し説明します。

Sambaクライアント(Windows)の設定


Windowsでは、特にクライアントソフトをインストールすることなく共有ディレクトリにアクセスすることができます。
上記で共有ディレクトリを設定したので、エクスプローラアドレスバーに以下のように入力することでアクセスできます。

\2.168.100.100\share

ネットワークドライブに割り当てる方法はこちらをご参照ください。


ただし、Windows ServerSambaクライアントが必要なので注意してください。
Windows ServerからゲストアカウントでSambaサーバーにアクセスできない
およそ5年ぶりに自宅サーバーを新しくして、ESXiを6.5から7.0にバージョンアップ!さらに、仮想マシンもLinux系はCentOSからUbuntuへ。Windows系はWindows 10からWindows Server 2019に変...

他にもディレクトリの共有方法として、FTPサーバー等もありますが、ここでは割愛させていただきます。
WebDAVサーバーについては、Webアプリケーションサーバーの記事でご紹介します!

この記事が気に入ったら
いいね ! しよう

Twitter で

東京生まれ福岡育ちの文系プログラマー。
テクノロジーの恩恵を感じながら日々精進しています。
広く浅くをモットーに、最近ではプログラミングだけでなく、仮想サーバーからセキュリティ、監視システムなども勉強中です。

管理者をフォローする

コメント

Amazon プライム対象
タイトルとURLをコピーしました