【固定費無料!?】Linuxで自作ファイルサーバーを作ろう!

※本サイトにはプロモーション・広告が含まれています。

(最終更新月: 2023年4月)

✔このような方へ向けて書かれた記事となります

「クラウドサービスの値段が高い!」

「たくさん保存したいけど、固定費を抑えたい!」

✔当記事を通じてお伝えすること

  • 自作でLinuxファイルサーバーを作る方法

当記事を読めば、Ubuntu搭載のコンピューターにファイルサーバーを構築する方法がわかり、月額コストをおさえた、自作のクラウドシステムが作れるようになります。

ぜひ最後までご覧ください。

✔Ubuntu搭載のパソコンを持ってない人は

①使ってないパソコンもしくは、ハードディスクドライブがある方

自宅のパソコンに固定IPアドレスを付与したい方

②クラウドサービスを使ってUbuntu搭載コンピューターを用意したい方

いずれかの方法でUbuntu搭載のコンピューターが準備できたら次章へ進みます。

✔ファイルサーバー構築の解説動画

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

【SSH接続】リモートコンピューターにアクセス

用意したUbuntu搭載のコンピューター(リモートコンピューター)へSSH接続してください。

「SSH接続についてよくわからない!」という方はこちら↓

Linuxのアップデート&アップグレード

アクセスできたら、UbuntuOSのアップデートをします。

$ sudo apt update && sudo apt upgrade -y

※「$」マークは入力不要です(以降も同様)

ファイルサーバー構築のために「samba」のインストール

Linux上でSambaを導入すると、Windowsからもアクセスできるファイルサーバーを構築できます。

下記のコマンドでインストールします。

$ sudo apt install samba

ファイルサーバーヘアクセスするためのユーザーを作成する

Ubuntu上で、ユーザーを追加します。

デフォルトの管理者「root」のままサーバーも構築できますが、rootユーザーのままでは全フォルダへアクセスできて危険だからです。

ファイルサーバー専用のユーザーを作成し、特定のフォルダのみアクセスを許可します。

$ useradd -m user1

※user1はユーザー名ですので、任意の名前で構いません

ユーザーを作ると自動的に/home/以下に、ユーザー名でフォルダが作られます。

【Sambaを設定】共有するフォルダの指定

Sambaのインストールとユーザーの作成が完了したら、サーバーで使うフォルダを指定します。

フォルダの指定手順は以下のとおり。

  1. Sambaの設定ファイルを開く
  2. smb.confの編集
  3. [global]へ追記
  4. [homes]を追記

Sambaの設定ファイルを開く

/etc/sambaフォルダにある、「smb.conf」で設定を変更していきます。

$ nano /etc/samba/smb.conf

smb.confの編集

[global]など[]でおおわれているものが一つの項目です。

つまり[global]から、次の[**]の箇所までがglobal項目になります。

ここでは、以下の2点をおこないます。

  • [global]内に少し追記
  • ファイルの最後尾に[homes]項目を追記

[global]へ追記

下記を[global]内に追記します。

min protocol = SMB2
max protocol = SMB2
dos charset = CP932
unix charset = UTF-8
  • 1、2行目:SMB1.0がWindowsで機能しなくなったので、SMB2を指定
  • 3、4行目:charsetの指定

[homes]を追記

smb.confの最後尾に[homes]を追記します。

[homes]
    browseable = No
    comment = Home Directories for %S
    create mask = 0644
    path = /home/user1
    read only = No
    valid users = %S

path = /home/user1の「user1」については、ユーザー名に合わせて変更します。

これで、ファイルの編集は完了。

「control + X」後、「Y」で、nanoエディタを保存終了します。

入力に問題が無いかテスト

$ testparm

【OUTPUT】

Loaded services file OK.

これで問題なしです。

もしエラーが出たら、ファイルを確認・修正してください。

Sambaのリスタート

テストで問題がなければ、Sambaをリスタート

$ systemctl restart smbd nmbd

Samba用のユーザーを追加

Ubuntuユーザー「user1」と同じ名前のSambaユーザーを作成します。

$ pdbedit -a user1

パスワードを入力したら、ファイルサーバーの構築は完了。

パスワードはあとで使うので、必ず覚えておきましょう。

ファイルサーバーへアクセス

ファイルサーバーの構築が完了したら、アクセスできるか試しましょう。

  • Mac
  • Windows

それぞれからのアクセス方法をお伝えします。

Macからアクセス

  1. Finder上部の「移動」メニューより「サーバーへ接続」を選択する
  2. サーバーアドレス欄へ下記の通り入力する(IPアドレスはxxx.xxx.xxx.xxxで表記する)
  3. smb://xxx.xxx.xxx.xxx
  4. 「ユーザー名」「パスワード」入力が求められるので、先ほど設定したものを入力
  5. フォルダが開かれアクセスが完了

Windowsからアクセス

  1. エクスプローラで左側ネットワークを右クリック
  2. ネットワークドライブの割当を選択
  3. フォルダーにIPアドレスとフォルダー名を入力(¥¥<IPアドレス>¥<フォルダー名>
  4. 別の資格情報を使用して接続するにチェックを入れる、サインイン時に再接続するにもチェック(もしかすると、これをチェックしないでもできるかもしれません)
  5. 資格情報画面が出てくるので、sambaのユーザー名、パスワードを入力
  6. フォルダが開き、完了

まとめ

Ubuntuでのファイルサーバーの構築方法を解説しました。

手順は以下のとおり。

サーバーを構築したいリモートコンピュータへSSH接続後、

  1. リモートコンピューターの準備
  2. リモートコンピューターへ別のコンピューターからSSH接続
  3. アップデートの実行&sambaのインストール
  4. アクセス用のUbuntuユーザーの作成
  5. Samba設定ファイルで共有フォルダを指定
  6. アクセス用Sambaユーザーの作成

DigitalOceanなどのクラウドサービスを使っている方はどこからでもアクセスが可能ですが、自前コンピューターではLAN内でのみ共有可能です。

外からアクセスするには固定IPアドレスが必要です。

「今のプロバイダは変更したくない!でも固定IPが使いたい!」という方

タイトルとURLをコピーしました