その他の趣味
PR

[Freebsd]余りものPCでファイルサーバーを構築

みぞお
記事内に商品プロモーションを含む場合があります
Contents
  1. 自宅内ファイルサーバー
  2. 余りものPCでサーバー構築
  3. OSインストール
  4. ソフト・サービス設定(ローカル)
  5. ソフト・サービス設定(リモート)
  6. ファイルサーバーの設定
  7. 放置設定
  8. SAMBAアクセスが遅い(後日追記分)
  9. まとめ
スポンサーリンク【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を選んでください

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のバックアップ)に対応させたり、共有エリアの制限など興味のある人は、これをベースにカスタムしてください

スポンサーリンク

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

CAPTCHA


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