(最終更新月: 2021年10月)
「クラウドサービスの値段が高い!」
「たくさん保存したいけど、固定費を抑えたい!」
という方必見の記事、
- 自作でLinuxファイルサーバーを作る方法
を解説します
Dropboxなども便利ですが、容量が2GBを超えると月々1,200円を超えてきてしまいます
対して、当記事でご紹介する方法ですと手元にLinux Ubuntu搭載のコンピューターがあれば設定してすぐに使用可能で、容量も自身のコンピューター次第で自由が利きます
「Ubuntu搭載のパソコンなんて持ってない!」という場合も、カンタンに用意できる方法を解説していますので是非ご覧ください
【使っていないパソコン、ハードディスクドライブをお持ちの方、もしくは「手元にパソコンもないけど、簡易的に作ってみたい!」という方へ向けて↓】※LAN外からアクセスするには固定IPアドレスの取得が必要です(別記事参考)
「クラウドサービスを使う。でもDropboxよりは安く済ませたい!」という方はこちら↓(月額約500円から使用可能)
どんな方法でも構いませんが、ファイルサーバーとして使いたいUbuntu搭載のコンピューターが準備できましたら、次章へ進み、サーバーを設定していきましょう
リモートコンピュータにターミナルでアクセスしよう!
SSH接続で自分のパソコンから、サーバーとして使うLinux搭載のリモートコンピューターへアクセスしてください
「SSH接続についてよくわからない!」という方はこちら↓
Linuxのアップデート&アップグレード
アクセスできたらソフトウェアのアップデートをします
$ sudo apt update
※「$」マークは入力不要です(以降も同様)
$ sudo apt upgrade
ファイルサーバー構築のために「samba」のインストール
Linux上でSambaを導入することでWindowsからもアクセスできるファイルサーバーを構築することができるようになります
下記のコマンドでインストールしましょう!
$ sudo apt install samba
ファイルサーバーヘアクセスするためのユーザーを作成する
Ubuntu上のユーザーを追加します
現状ですと、管理者「root」のみがユーザーとして登録されていて、このままユーザーをrootとしてファイルサーバー構築も可能ですが、rootはすべてのファイルへのアクセス権限をもっているため危険です
アクセスするためのユーザーを作成し、特定したフォルダにのみアクセスできるユーザーとします
$ user add -m user1
user1はユーザー名ですので、任意の名前で構いません
またこの時にホームディレクトリには自動的にユーザー名でのフォルダが作成されるようです
【Sambaを設定】共有するフォルダの指定
共有するフォルダを指定するために設定ファイルを編集していきます
Sambaの設定ファイルを開く
/etc/sambaフォルダにある、「smb.conf」で設定を変更していきます
$ nano /etc/samba/smb.conf
smb.confの編集
[global]などと[]内でおおわれているものが各項目のタイトルとなっています
つまり[global]以降、次の[**]の箇所までがglobal設定となります
ここでは、[global]内に少し追記をするのと、ファイルの最後尾に[homes]という共有フォルダの設定を追記していきます
[global]へ追記
下記を[global]内に追記します
min protocol = SMB2
max protocol = SMB2
dos charset = CP932
unix charset = UTF-8
【上の2行について】SMB1.0がWindowsで機能しなくなったとのことで、SMB2を指定しています
【3,4行目について】Windows、Macでそれぞれファイルが見れるようcharsetを指定しています
[homes]を追記
smb.confの最後尾に下記を追記していきます
[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.
と出ればOKです!
エラーが出てしまった場合はもう一度ファイルを確認、修正しましょう
Sambaのリスタート
テストで問題がなければ、Sambaをリスタートし設定は完了です
$ systemctl restart smbd nmbd
Samba用のユーザーを追加
先ほどはUbuntu OS内にアクセスできるユーザー「user1」を作成しました
ここでは同じ名前のユーザーで、Samba用のユーザーを作成します
$ pdbedit -a user1
パスワードの入力画面も出てくるので、確認用も含めて2度パスワードを入力し、ファイルサーバーの構築は完了です!
ファイルサーバーへアクセス
Macでは
- Finder上部の「移動」メニューより「サーバーへ接続」を選択する
- サーバーアドレス欄へ下記の通り入力する(IPアドレスはxxx.xxx.xxx.xxxで表記する)
- smb://xxx.xxx.xxx.xxx
- 「ユーザー名」「パスワード」入力が求められるので、先ほど設定したものを入力
- フォルダが開かれアクセスが完了
Windowsでは
- エクスプローラで左側ネットワークを右クリック
- ネットワークドライブの割当を選択
- フォルダーにIPアドレスとフォルダー名を入力(¥¥<IPアドレス>¥<フォルダー名>
- 別の資格情報を使用して接続するにチェックを入れる、サインイン時に再接続するにもチェック(もしかすると、これをチェックしないでもできるかもしれません)
- 資格情報画面が出てくるので、sambaのユーザー名、パスワードを入力
- フォルダが開き、完了

まとめ
Linux Ubuntuでのファイルサーバーの構築方法を解説しました
サーバーを構築したいリモートコンピュータへSSH接続後、
- アップデートの実行&sambaのインストール
- アクセス用OSユーザーの作成
- Samba設定ファイルで共有するフォルダを指定
- アクセス用Sambaユーザーの作成
というのが具体的な流れとなります
DigitalOceanなどのクラウドサービスを使っている方はどこからでもアクセスが可能ですが、自前のサーバーではLAN内でのみ共有可能となります
外部からのアクセスには固定IPアドレスが必要になりますので、下記2つの方法より適したものを参考にして頂ければと思います
「固定IPが取得できるプロバイダでネット契約をする!」という方
「今のプロバイダは変更したくない!でも固定IPが使いたい!」という方
✔初期費用ゼロ/月9,800円でWebデザインが学べる
デザインを習得するためには、客観的なフィードバックと改善が不可欠です。
以下の記事ではこんなWebデザインスクールをご紹介しています。
- 初期費用ゼロで、月々9,800円のみ
- オンラインで、教材が使い放題
- コンテストや実務案件にチャレンジして報酬もGETできる
デザナルはトップデザイナーからレビューがもらえる、格安のWebデザインスクールです。
詳細をまとめた記事もございますので、ぜひご覧ください。
当ブログでは、日報アプリ開発を通じて、Webアプリを一から開発し公開するまでを初学者の方でもわかるようにと記事を連載しています
「Djangoでのアプリ開発を学びたい!」
「Djangoで開発したアプリをWebで公開するにはどうするの?」
という方は必見です!
