この記事は、主にHP Microserverで、できるだけ簡単にFreeBSDを用いてNASとWebサーバー構築し、実用的に運用することを目的としている。以下の様な作りを目指す。
HP MicroserverでUSBメモリ2つあるいは3つをOS用にし、ストレージ用にHDD4台で運用。
USBメモリは安いが耐久性が弱いことが多いので、RaidZ-Mirrerを使い冗長性を確保。
ストレージHDDは容量と冗長性を確保するためRaid-Z1で運用。
Portは入れず、Packageだけで管理する。(ゼロデイ攻撃に弱くなるが、運用は簡単になる)
NASアクセス時、日本語ファイルを文字化けさせない
特にPortを入れないあたり、セキュリティに関して万全とはいえないので、自己責任で行うこと。
ただ、Packageでも実用上十分な堅牢性や機能性は確保できるのではないかと思う。
なお、前提知識としてある程度のネットワークやUNIXコマンドの知識のほか、viエディタを使えることが必要である。(多分この記事を読みながら調べれば済むはず)
ド素人では難しいが、PC中級者以上ならばできるのではないかと思う。
OSインストール
USBメモリを用いてインストールする。OS領域にUSBメモリを2つ使う場合、インストール先USB2つと、それとは別にインストール用USBが必要。
下記サイトより自分のマシンに合ったイメージをダウンロードし、インストール用USBにイメージを書き込む。大抵の場合はamd64-memstick.imgを選択すれば問題ない。
https://www.freebsd.org/ja/where.html
イメージのUSBへの書き込みはWin32DiskImagerを使う。
下記サイトからダウンロードする。
https://osdn.jp/projects/sfnet_win32diskimager/
USBに書き込んだら、インストール用USB、インストール先USBを刺してPCを起動。
このままEnterを押す。
Installを選択してEnter
YesでEnter
自分の使っているキーボードを選択してEner。(jp.106.kbd keymapを選択すればたいてい問題ない)
その後Continue with~(自分の選択したキーマップ)でEnter
ここでホスト名を入れる。今回は自宅サーバー用にドメインを取得していたのでそれを入力した。特にない場合は空欄でOKでも平気だったはず。
ここはlib32だけを選択した状態でEnter。選択はスペースキーで行う。不要なgames等はチェックを外す。(上記画面とは違うことに注意)
今回は、手軽に運用することを目的とするので、ソースからビルドするPorts treeはチェックを外した。 必要なソフトはパッケージで入手することになる。
インストール先のパーティション設定。今回はUSBを複数用いてZFSのMirrorモードを使うので、ZFSを選択しEnter
Pool Type/Disks:を選択しEnter
Mirrorを選択しEnter
インストール先のストレージを選択しEnter
これで 再びこの画面に戻り、Installを押すとインストールが開始されるはずなのだが、私の場合途中でエラーが出てしまった。どうやらPool Nameがzrootのままでは勧めないとの事だったので、適当な名前zroot1等にしてインストールしたらうまく行った。
しばらくこのような画面が続く。しばらく待機。
この画面まで来たら、rootのパスワードを設定。打ち間違えないように確認のパスワードもタイプする。
ネットワークカードを選択しEnter
IPv4で運用する場合Yes。大抵の場合はまだIPv4なのでOKを押す。
DHCPサーバーから適当なIPアドレスを割り当てる場合はYesを。特定のIPアドレスを使う場合はNOを選択し、次に進む
前画面でNOを選択した場合はここでIPアドレスを設定。
IPv6を使う場合はYesを、渡しの場合はまだ使わないのでNOを選択した。
DNSの設定。iSearchは自分のドメイン名を入力。なければ空欄でもいいかも。
IPv6はNoを押した場合、画像のようなIPv6DNSは表示されずIPv4DNSの設定だけになる。一つは設定が必要。大抵の場合DNSはルータのアドレスを入れればよい。
時刻の設定。大抵の場合NOを押す。
タイムゾーンの設定。自分が住んでいる国(AsiaのJapanese)を選択。
有効にするサービスの設定。sshdとpowerdはチェックを入れておく。10.3ではこの他にcrashdにデフォルトでチェックが入っていたのでそのまま有効にした。
ユーザーの追加でEnter
ユーザー名だけ任意の名前で入れたら、あとはEnterのまますすめる。途中、パスワードを撃ちこむだけそこは任意の文字列を入力。あとは何も考えずにそのままEnter
利用するユーザーの登録が終わったらnoを入力しEnter。
このままセットアップを完了してよければExitを選択しEnter
追加の設定をするか聞かれるが、特に必要なければNoを選んでEnter
再起動時するので、電源が切れた段階でインストール用USBを外す。
ここまで行けば、あとはリモートから管理できる・・・とおもいきや、次の設定を行うまでリモートからsuコマンドが使えず管理者コマンドが使用できないので、再起動したらrootでログインして次の設定を行う。 自分のユーザー名がhogeの場合
# vi /etc/group
(変更前)
wheel:*:0:root
(変更後)
wheel:*:0:root,hoge
これで変更を保存し終了すればリモート管理ができる。お疲れ様でした。
2024年4月18日追記
固定IPアドレスの設定
(現在のネットワーク設定とネットワークカード名の確認)
# ifconfig
(設定ファイルの編集)
# vi /etc/rc.conf
(変更後)
# 固定 IPv4 アドレスとサブネットマスク
ifconfig_em0="inet 10.0.0.30/24"
#ネットワークサービス再起動
# service netif restart
SSHDのポート変更
# vi /etc/ssh/sshd_config
(変更前)
#Port 22
(変更後)
Port 30022
(SSHD再起動)
# service sshd restart
参考(画像引用)
FreeBSD のインストール
https://www.freebsd.org/doc/ja_JP.eucJP/books/handbook/bsdinstall.html
メモ: FreeBSDでsuを使うにはユーザをwheelグループに所属させる
http://d.hatena.ne.jp/torazuka/20110505/wheel
初期設定 : ネットワークの設定
https://www.server-world.info/query?os=FreeBSD_14&p=initial_conf&f=3
FreeBSD: sshdの設定変更
https://www.zabutone.com/freebsd-sshd-configuration/