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

LinuxLinux

(最終更新月: 2021年10月)

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

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

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

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

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

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

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

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

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

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

こちらをご覧ください。

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

月額5ドルで契約できるサービスを解説します。

IPアドレスは自動付与なのでとても便利。

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

icon
icon

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

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

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

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

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

$ sudo apt update && sudo apt upgrade -y

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

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

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

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

$ sudo apt install samba

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

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

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

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

$ user add -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アドレスを設定してください。

「固定IPが取得できるプロバイダでネット契約をする!」という方

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

当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています

「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」

という方は必見です!

【Django】チュートリアル|日報アプリの開発から公開まで
Djangoのチュートリアルをお探しですか?具体的に「手を動かして作ってみたい!」という方へ向けて、誰でもできる簡易的な日報アプリの開発を通じて、Djangoの様々な機能に触れていくシリーズとなっています。PythonでWebアプリを作りたい方、必見の記事となります!

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