その他の趣味
PR

【余りものPCで自宅サーバー構築】FreeBSDで安定運用!ファイル共有&samba設定の手順を解説

みぞお
記事内に商品プロモーションを含む場合があります

「古いPC、捨てるのはもったいない…」
そんな思いから始まったのが、余りものPCを活用したFreeBSDファイルサーバー構築
この記事では、WindowsやmacOSとのファイル共有を目的に、
中古PC+FreeBSDで安定した自宅サーバーを作るまでの手順と、
sambaによる共有設定・固定IPの割り当て・トラブル対策までを実体験ベースで紹介
します。

この記事でわかること

  • FreeBSDを選んだ理由と構築環境(中古PC・SSD・HDDなど)
  • インストール手順とwheelグループ設定の注意点
  • sambaによるWindows/macOSとのファイル共有設定
  • 固定IPの割り当てとDHCPの切り替え方法
  • 放置運用のためのパスワード管理・トラブル対策のコツ
スポンサーリンク【PR】

自宅内ファイルサーバー

自宅サーバーをDIYで構築します

このページについて

社内で使うサーバー構築経験がある程度なので、専門家と比べると知識が劣ります

少しPC知識のある人でも分かりやすい表現を使っているので、そんな言い方しないなどありますが、余ったPCを再利用できるかもしれない位でお読みください

データ共有の不便を解消

自宅にサーバーがあると便利だと思う時があります

  • macとWindowsを使っている
  • 複数のPCで容量の大きなファイルを扱う
  • 家族で同じファイルを共有・閲覧
  • クラウドの容量を増やしたくない
  • USBメモリ・HDDは面倒

BUFFALO NAS LS220D0202G 

設定も簡単そうなので、バッファローのNASを導入しました

メーカー認定中古品があったから、安さ優先で買いました

運用は簡単

購入して、簡易マニュアルの通り設定すれば、家庭内ファイルサーバー構築は終了

無線LAN非搭載

無線LAN(Wi-fi)を搭載していないので、無線子機を中継して、使用しています

使い勝手が悪い

データを表示する場合、頻繁に考え込み正直イライラします

また、Windowsでファイルをコピーする場合も、途中で止まって考え込むことがある

買い替えを検討

以前の職場で、作業効率を上げるためファイルサーバーを構築していたので、実績のある方法でサーバーを構築することにしました

導入候補

またストレスを貯めたくないので、導入実績のあるものを検討します

  • QNAP NAS  TS-233
    • 使ったことがある機種の後継機
  • 自作ファイルサーバー
    • 余りものPC+FreeBSD + SAMBA(NetaATalk)

QNAP NAS  TS-233

先のバッファローNASからHDDを取り出せば、ケースのみ購入すれば構築可能

メリット

  • インターフェイスが使いやすくNAS構築しやすい
  • ケースのみ購入ですむ
  • 機能豊富でNAS以外の用途も考えられる

デメリット

  • 先に失敗しているのに、またコストがかかる(3万は高いな)
  • 機能豊富が、逆にオーバースペック

余りものPCでサーバー構築

部署内でのデータ移動が面倒だったので、あまりものPCで構築したのが始まりなので、実績が多く得意な方法

メリット

  • 自分ですべて設定するので、カスタマイズ可能
  • 必要最低限の機能だけにできる
  • WindowsXP時代から使っており、ストレスを感じたことがない
  • OS・アプリケーションともに無料(タダ)

デメリット

  • 余っているPCがない
    • フリマで全部売った

構築する

PCは中古品集めて組立てればいいので、コストも抑えられるし、数年放置した実績もあるのでFreeBSDサーバーを構築します

余りものPCでサーバー構築

PC本体など必要なものを集めていきます

準備

Windows10(Windows7でも可)動作していたPCなら何でもいいので、フリマサイトで探します

必要なもの

あまりお金をかけない方法で考えます

  • PC本体
    • メーカー・PC構成は何でも可能(Windowsベース・有線LAN搭載)
    • ノートPCでも可能ですが、放置するときに画面が邪魔になる
    • OSをインストールするために、DVD・CDドライブが必要
  • 記録用HDD
    • 用意するPCにHDDがあれば購入する必要なし
    • 必要な容量を用意する(今回は2TB)
    • 外付けUSBでも可能ですが、放置するときに邪魔
  • OS用HDD(オプション)
    • 記録用HDDにOSもインストールすればHDD1個で済みます
    • インストールする時間が早くなったら良いなの期待を込めてSSDを検討
  • FreeBSDインストールディスク
    • 公式サイトからダウンロードしてディスクに焼きます

FreeBSDを使う理由

UNIX系のOSは進化したものやmacOSのような綺麗なインターフェイスなどありますが、必要最低限で動かせて、安定しているので、FreeBSDを使います

  • 動作が安定している
  • OSインストールが簡単
  • アプリケーション(サービス)インストールは、ほぼ全自動
  • 設定後、画面を見ることがないので、余計なものにリソースを裂きたくない
  • リモートアクセス可能になれば、コンソール画面での作業が楽
  • 外部ネットに接続させないので、最新を気にしなくていい

FreeBSDを用意する

公式サイトからダウンロードし、ディスクを作成します

公式サイト

英語サイト・日本語公式サイトのどちらからでもダウンロードできます

The FreeBSD Project

ディスクの用意

公式のダウンロードページを開く

※ググった時に、怪しいサイトへ誘導される可能性があるので、公式かどうかチェックしてください

最新OSのi386(Intel用)をクリックする

AMDベースならamd64を選んでください

Emmanuel Chanel氏コメント

Intel 64bit環境ならamd64アーキテクチャ版使用可能

CD用・DVD用を選んでダウンロードする

ダウンロードしたファイルをメディアに焼く(画面は、MacOS)

  • CD・DVDドライブに空メディアを挿入する
  • ダウンロードしたファイルを右クリックして「~を焼きこむ」をクリック
    • Windowsの場合は、「ディスク作成」をクリック
  • 画面の指示に従って、ディスク作成
  • 焼きあがるのを待つ

ディスク作成(分かるように何か書いておく)

※手持ちのメディアが古かったのか、CDは容量オーバーになり、DVDで用意しました

SAMBA

ファイル共有アプリケーション(サービス)は、ダウンロードしたものにインストーラーが含まれているので、そちらの準備もできています(インストール時に本体のダウンロードが必要)

PCの準備

フリマサイトで購入したPCなど

PC本体

フリマで、HDD・電源ケーブルなしのWindows8時代のスリムPC(ビジネス用モデル)を購入しました

背面ポート古いな

HDD・SSD

インストール用SSDとデータ記録用HDDを用意しました(フリマで中古購入)

HDDが2台あるのは、予備になるかなとセット売りを買ったからです

ケーブル類

電源ケーブルなしだし、ビジネスPCには予備のケーブルはないが、自作歴が長いと予備ケーブルは沢山ある

ケーブルなどは買うと地味に高いもの

動作確認後、トラブル

とりあえず、モニターやキーボードをつないで動作確認

仮インストール

トラブルがなければ、このままインストールを続けるのですが、問題発生

NIC故障

オンボードLANが不安定で、壊れているようです(この時代のPC故障理由は大体これ)

追加ボード購入

LANが使えないと何をしたいのか分からないので、通販で購入

ギガビットLAN(1000Mbps)なら、最安で十分

PCIスロットがあったので、そちらをつないでも良かったけど、PCI-exにしました

OSインストール

動作させるPC(サーバー)が用意できたので、インストールしていきます

CMOSクリア

ボタン電池(CR2032)交換をしておく

※起動できれば交換しなくても問題はないのですが、電池切れしていると色々面倒なことが起こる

BIOS設定

普通に仕事やゲームでPCを使っている人は触らわない項目ですが、本体の設定を変更します

このPCは、起動時にF10(ファンクションキー)を押せば起動しました

詳しくはメーカーHP参考

各メーカー毎に、設定画面の起動などが違うので、調べてください

変更項目
  • ストレージ項目にある起動順序変更(CDを1番にする)
  • 時計が狂っていたら、大体合わせておく
  • 不要な便利機能を切っておく

※言語設定を見やすく日本語に変更しています(デフォルトは英語が多い)

記録用HDDは外す

OSをインストールするときには、不要なので記録用HDDの電源は抜いておきます

※設定をちゃんと理解しているなら、インストール時に好み設定をしてください

CD起動

BIOS設定変更したので、CDからインストーラーを起動します(ほうっておけば起動する)

インストール設定

インストール設定をしていくのですが、OSのバージョンで微妙に違いますが、先人の記事を参考に作業をすすめます

デフォルト(設定変更なし)で作業を進めますが、必ず設定しておきたい項目のみ記載しています

ports設定

ほとんどの記事で、不必要とされているportsの項目にチェックしてください

OS起動後、最新版をダウンロードする方がいいのですが、動けばいいので、手間を省きます

パーティション設定

Windowsなどのインストールと違い、色々と条件があるので、面倒なのでオート設定を選びます

AUTO(UFS)を選択しました

ネットワーク設定

ネットワーク設定はIPv4とDHCP有効をしておく(IPv6は不要)

※固定IPは設定が全て終わってから行います

SSH設定

SSH(リモートアクセス機能)は必ずチェックしてください(デフォルトはオン)

ユーザー作成

root(管理者)以外に、個別ユーザーを設定するときに、その他のグループを追加する時に、「”wheel”(管理者になれる権限あり)」を入力しておく

再起動

全ての設定とインストールが完了したら、再起動を選びます

PCが起動する前に電源を一旦落とします

電源を抜く

CD(DVD)からインストールができたら、CD・DVDドライブは不要なので、電源・SATAケーブルを抜いておきます

ドライブを取り外して、5インチパネル(蓋)をつけるのもありです

エアーフローをよくするためのファンをつけるなども出来ます(静音性は下がる)

記録用HDD接続

インストール時外しておいたHDDを接続します

ソフト・サービス設定(ローカル)

OSをインストールできたので、ここから必要なソフトをインストールしていきます

※ここから個人情報が多くなるので、写真は減ります

起動確認

電源を投入し、ログイン画面を確認します

ログイン名:root(管理者)

パスワード:任意設定したもの

以下の作業は、管理者権限で行います

早速トラブル発生(キー配列)

日本語キーボード(JP106)を設定していたはずが、何かを間違えていたようです

キー配列を日本語キーボードに変更

/etc/rc.conf書き換え

viコマンド(メモ帳みたいなソフト)を使って、設定ファイルに必要な項目を追加します

「/etc/rc.conf」に「keymap=”jp.kbd”」を記入する

説明の最初なので、基本的な編集の仕方を記載します(以下の説明では省略)

  1. コンソール画面操作
  2. 「vi /etc/rc.conf」を入力+ENTERキーを押す
  3. 適当な行へ移動する(カーソルキー操作)
  4. キーボード【i】を押す(インサートモード)
  5. 「keymap=”jp.kbd”」を記入する
  6. 【esc】キーを押す(インサートモード解除)
  7. 「:wq」を入力+ENTERキーを押す
    • 英語キーボードになっているので、”:”は、【shift】+【;】
  8. コンソール画面で、「reboot」を入力しENTERを押す
  9. システムを再起動し、動作確認

※動作確認の再起動は、サービスを停止・再始動がサーバーを設定するうえで一般的ですが、環境によって変わってくるので、単純に分かりやすいシステムごと再起動で説明します

bashインストール

コンソール画面でも、快適に使うためのサービス(bash)をインストールします

※投稿者の好みで選んでいるだけで、必須ではない

portsを利用する

OSインストール時に用意しているportsを使ってサービス(パッケージ)をインストールします

「/usr/ports/shells/bash」をインストールする

上記ディレクトリに移動して、インストール作業を行います

  1. 「make」を入力し、環境設定を自動で行う
    • 設定ダイアログは、そのままOK(カーソルを左右に移動してENTERを押す)
  2. 「make install」を入力し、パッケージをインストール
    • 設定ダイアログは、そのままOK(カーソルを左右に移動してENTERを押す)
  3. 「make clean」環境設定したものを削除

①~③を同時に行う方法もあります(「make install clean」で一括実行)

※上記以外に、細かい設定を行うべきですが、それをしなくても動作するのがFreeBSDの良さ

エラー発生時

make中(コンパイル)にエラーが出た場合は、問題の項目のパッケージに移動して、個別にインストールしたら解決する場合が多い

  • 問題のportsパッケージに移動する(cdコマンド)
  • コンパイル中のパッケージを消す(make cleanコマンド)
  • パッケージのインストール(make installコマンド)
  • 先ほどのportsパッケージに移動する(cdコマンドを使って戻る)
  • インストール再開

※上記で解決しない場合の対処法はネット検索してください

動作確認

インストールが完了した時に出るメッセージを確認すれば動作方法など出ていますので、必ず読みましょう

「/usr/local/bin/bash」で動作確認

※シェルが変われば、動作しています

設定変更

毎回使うものなので、設定項目を変更します

「chsh」で個人設定変更する(「Shell: /usr/local/bin/bash」に書き換え)

※動作を確認するため、「alt」+「ファンクションキー」で別画面に切り替えて、ログインしてみる(間違えていたら、面倒なことになるので、画面を切り替えて、しっかり項目を確認する)

再起動

動作を確認できたら、再起動する

IPアドレスの確認

DHCPを利用しているので、ネットワーク設定は流動的になります

「ifconfig」を実行し、ネットワークIPをメモする

インストール時に、ネットワークカード名を見ていると思うので、その項目を確認する

SSHの動作確認

インストール時に設定しているSSHが起動しているか確認する

Windowsの場合

標準機能で説明します

  • 画面下部の「検索」に「cmd」を入力し、コマンドプロンプトを起動する
  • 「ssh (サーバーのIP) -l (ユーザー名:インストール時に設定したもの)」を入力
    • 記入例「ssh 192.168.1.100 -l hogehoge」
  • 初回は、メッセージが出るので、「yes」のままENTER

Macだと、ユーティリティ(cmd +uで開く)に入っているコンソールで同じことができます

メリット

ここからは、日ごろ使いなれたPC環境で設定を行っていけます

  • 分からないことを検索しながら、設定作業を行える
  • 項目のコピー&ペースト可能
  • サーバーの画面・キーボードを外せる(電源とネットワークケーブルのみ接続)
    • 完全に動作を確認するまで、ラックなどに収納するのは時期早々

管理者に変更

SSHでサーバーへのアクセスを確認後、管理者にユーザー変更します

「su -」を入力し、シェル名がrootになっていることを確認する

ソフト・サービス設定(リモート)

SSH接続確認後は、サーバー機の前から離れ、自分のパソコンで作業を進めます

※投稿者はMac派

HDDマウント

インストール時外しておいたHDDをマウントします

HDDを「UFS」フォーマットに変更しマウントする

HDDの接続名を検索

追加するHDDのFreeBSDがどう認識しているのか調べる

「dmesg」を入力する

恐らく大量のメッセージが流れると思うので、画面をマウスでスクロールしながら、必要な項目を探してください

今回の構成では、以下になりました(SATAだとada*になる)

ada0:インストール用HDD・SSD

ada1:記録用HDD

※大体製品名が表示されるので見つけやすいと思います

UFSフォーマット

各パッケージ(ソフト)をインストールすれば、NTFSやexFATでも認識することは可能ですが、安定性と作業量を減らしたいので、FreeBSD標準でフォーマットします

「newfs /dev/(HDD名)」を入力する

HDDにデータが残っていないことは、事前に確認してください

HDDをマウントする

FreeBSDの機械は認識しているが、システムでは認識していないので、マウントします

「mount /dev/(HDD名) /mnt」を入力する

「/mnt」は環境に合わせて変更してください

動作確認

マウントしているか確認します

「df -h」を入力する

ハードディスクが認識しているか確認します引数「-h」を追加しているので、容量が分かりやすいと思います

自動起動設定

サーバーが起動するたびに、自動マウントするように設定を変更します

「/etc/fstab」に設定を追加する

今回の設定を記載します(細かい項目を知りたい場合は検索してください)

一番下の行に入力する

/dev/ada1 /mnt ufs rw 2 2

再起動

システムを再起動して、HDDが正しく動作しているか確認します

システム再起動後、「df -h」を入力する(確認だけなら管理者以外でも可能)

DNSサーバー

放置するサーバーなので、必要ないのですが、インストールしています

BIND9をインストール

最新のBINDをインストールします

「/usr/ports/dns/bind918」をインストールする

起動させる予定はないので、設定は行わない

※設定ダイアログが大量に表示され、作業終了まで時間がかかります

SAMBAをインストール

本題の共有サーバーのインストールを行います

「/usr/ports/net/samba416」をインストールする

※設定ダイアログが大量に表示され、作業終了まで時間がかかります

mac対応

macOS9が混在していた時代は、Netatalkを設定していましたが、ファイル共有するのならsambaだけで対応可能

興味があれば、「/usr/ports/net/netatalk3」をインストール

インストール終了

必要なアプリ(サービス)をインストール出来たので、設定を行っていきます

ファイルサーバーの設定

必要なインストール作業は終わったので、設定していきます

固定IPの準備

サーバー構築中はインターネットに接続するためDHCPを有効にしていますが、放置するときには外部接続しないので、固定IPを設定します

「/etc/rc.conf」にネット設定を書き込む

固定IPの決め方

設定時にDHCPで割り振られているIPを使う方がトラブルが少ない


任意でIPを決める場合は、「ping xxx.xxx.xxx.xxx」でお返事のない番号を探してください

/etc/rc.conf編集

HDCP設定の下に、コメントアウト(先頭に#を追加)して、書いておく

(記入例)

ifconfig_re0=”DHCP”
#ifconfig_re0=”inet 192.168.1.150 netmask 255.25.255.0”

記述だけ

すべての設定が終わるまで、有効にしない

sambaの設定

共有設定を記述していきます

 /usr/local/etc/smb4.confの作成

共有する条件・エリアを指定します

「/usr/local/etc/smb4.conf」を新規作成し、条件を書き込む

(記入例)

この設定は、制限一切なしで誰でもアクセス可能にしています


[global]
dos charset = CP932
unix charset = UTF-8
workgroup = WORKGROUP
server string = fileserver
netbios name = freebsd
security = user
map to guest=Bad User
guest ok = yes
guest only = yes
guest account = nobody
load printers = no
log file = /var/log/samba4/log.%m
max log size = 50
writable = Yes
browseable = yes
create mask = 0777
directory mask = 0777

[share]
comment = Shared Directories
path = /mnt

起動設定

起動設定を追記します

「/etc/rc.conf」に「samba_server_enable=”YES”」を記入する

起動確認

設定ファイルを用意できたので、起動して動作確認します

「/usr/local/etc/rc.d/samba_server start」を実行

クライアントPCで接続確認

windowsやMacで、サーバーにアクセスします

アドレスバーに「¥¥192.168.xxx.xxx」でアクセスする(windowsの場合)

※¥は半角

ディレクトリ(フォルダ)が開けば、ファイルサーバーの設定が出来ています

書き込みOK

書き込みができない場合は、ディレクトリの権限を変更する

「chmod 777 〇〇〇〇」で書込・読込・実行を許可

※〇〇〇〇は、設定するディレクトリ(フォルダ)

再起動

システムを再起動して、SAMBA(ファイル共有)が正しく動作しているか確認します

設定終了

ファイル共有設定は完了です

その他機能など

sambaを利用したTImeMachine(タイムマシーン:Macのバックアップ)などの便利機能の設定もできますが、今回はファイル共有のみ設定しました

放置設定

ファイル共有設定が完了したので、これ以上のインストール・設定を行いません

DHCPを無効

先に設定項目だけ記載している固定IPを有効にし、DHCP設定を無効にします

「/etc/rc.conf」の編集(コメントアウトなど)

/etc/rc.conf編集

HDCPをコメントアウト(先頭に#を追加)して、固定IPの”#”を削除

(記入例)

#ifconfig_re0=”DHCP”
ifconfig_re0=”inet 192.168.1.150 netmask 255.25.255.0”

念のため

運用していて、追加設定などあるかもいれないので、不要な設定ですが、残しておきます

モニター・キーボードを外す

ここまで完了したら、サーバーに接続していたモニターやキーボードは不要になります

物理的にふさぐ

不要なUSBポートなどは埃が入ると故障の原因なので、目張りテープで隠します

※エアーフローになる穴は塞がない

オススメ

投稿者は、shurtapeを使うのが好きです(小さくカットでき、扱いやすい)

サーバー設置

トラブルが発生しない限りサーバー機に直接触れる必要がないので、日ごろ邪魔にならない場所に設置してください

※完全に閉鎖した空間にはおかない(空気の流れがないと熱暴走する可能性あり)

設定内容ドキュメント

放置するのが前提なので、数年後にパスワードなどを忘れていると思いますので、作業用PCやクラウドなどに、テキストで残すことをオススメします

(最もオススメの方法)

ドキュメントを紙に印刷・クリアファイルに入れ・PCに張り付ける

※セキュリティ的には良くないかもしれませんが、どこにも出すことがないサーバーなので、許してください

SAMBAアクセスが遅い(後日追記分)

構築したサーバーを運用していて感じるのが、アクセスの遅さがありましたので、改善策を講じました(後日追記分)

SAMBA設定の見直し

WindowsXPやmacOS9なども対応できるように設定をしていましたが、現行のWindowsやMacOS環境では、それが原因でアクセスが遅くなっているようです

SMB2有効

SMB2を有効にして、余計なアクセスで時間をかけないようにします(古いバージョン切り捨て?)

(記入例)

max protocol =SMB2

Windows設定変更

古いsamba機能を切り捨てたはずですが、SMB1を有効にしないと動作しなかった

設定は外部サイト

SMB1クライアントの設定は、各NASブランドが必ず書いているので、当たり前に起こる現象のようです

SMBv1クライアント機能を有効にする方法
SMBv1クライアント機能を有効にする方法

macOS 10以降はそのまま

macOSで、とても古い時代(G4とかG5)やOS9以前はサポート外ですが、それ以外は何も変更する必要はありません

iOS変更なし

なにも変更せずに使えます

改善

アクセス・コピーなどの時間が圧倒的に早くなりました

まとめ

余っている(スペックが低くて通常業務不向き)WindowsPCを使って、共有サーバーを構築しました

手順紹介

未来の自分への忘備録を兼ねて、必要最低限の設定を記事にしました

費用

余りものPCがなかったので、PC購入など費用がかかりました

総額

今回かかった費用の総額

約10,300円

内訳

購入した商品の金額の概算

ファイルサーバー構築費用
  • DVDメディア:約100円
  • PC本体:約3,000円
  • SSD:1,200円
  • HDD:4,400円(2台購入し1台使用していない)
  • 電池(CR2032):約100円
  • GigaBitLANボード:約1,500円
  • SATAケーブル:在庫品のため値段不明
  • LANケーブル:在庫品のため値段不明

ほぼ無料も可能

PC本体・記録用HDDがあれば、ほぼ無料でファイルサーバー構築可能

カスタム可能

macのTImeMachine(タイムマシーン:Macのバックアップ)に対応させたり、共有エリアの制限など興味のある人は、これをベースにカスタムしてください

【まとめ】“余りものPCは宝の山”——FreeBSDで安定した自宅ファイルサーバーを構築しよう

今回の構築では、中古PC+FreeBSDという組み合わせが“低コスト・高安定”なファイルサーバー環境を実現できることを実感
sambaを使えばWindowsやmacOSとのファイル共有もスムーズで、
固定IP設定やwheelグループの扱いなど、UNIX系ならではのポイントも学びが多い内容でした

また、放置運用を前提にしたパスワード管理や、アクセス速度の改善策など、
“使い続けるための工夫”も重要な要素

クラウドやUSBでは物足りない人にとって、
自宅サーバーは“自由と安心を手に入れるDIY”のひとつです

次回は、TimeMachine対応や共有エリアの制限など、
さらに便利なカスタム設定にも挑戦してみたいですね。
余りものPCは、アイデア次第で最強の相棒になります。

スポンサーリンク

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA



reCaptcha の認証期間が終了しました。ページを再読み込みしてください。

  1. Emmanuel Chanel

    あの、 amd64 アーキテクチャ版は、 Intel の64bit CPU でも使えますよ。 Intel x86 の64bit拡張をしたのが AMD なので、 amd64 という名前ですが、 amd64 = x86_64 なくらいで。私の自宅サーバーは Intel Pentium 2コアですが、インストールした Ubuntu は amd64 です。 FreeBSD について https://www.freebsd.org/platforms/amd64/ を確認しましたが、実際そのように書いてあります。

    • みぞお

      貴重な情報ありがとうございます。
      情報をアップデートさせてもらいます。

ABOUT ME
みぞお
みぞお
おっさんサイクリスト
自転車趣味歴だけは長いサイクリスト。レースは観戦するもので、自転車旅を楽しんでいます。西日本を中心に活動しています。
スポンサーリンク
記事URLをコピーしました