玄箱でホームサーバ

建売で液晶テレビで紹介したように、REGZA42Z2000はLAN上に接続したハードディスクにデジタル放送をハイビジョン録画することができます。動作保障されているのは東芝が指定している特定の機種(BUFFALO社製等)のみですが、基本的には以下の条件を満たせば動作します。
・100Mbps以上で動作し、スループット(実効動作速度)が20Mbps以上で書き込める。
・NAS(Network Attached Strage)がSMB/CIFSプロトコルで動作する。

たとえば100BASE-TXに対応したそれなりに早いPCであれば動作します。私の以下のPCでも動作しました。
・Pentium4 2.8G 1.5GbyteMemory ギガビットイーサ対応 WindowsXPpro

ただし、このPCを録画用に利用するのは少々不便です。常時起動しておくには消費電力が高すぎるし、いろんな作業で不定期に再起動をしたりする必要があるからです。では東芝指定のハードディスクを買うかとなると、価格が高いこともあり今ひとつです。

そこで筆頭候補になるのが玄箱(KUROBOX)です。玄箱はハードディスクを別に購入して組み込むタイプのNAS装置で多くの魅力的な機能を具備しています。
消費電力が低い。玄箱のCPUは低スペックで余分なハードウェアが一切ついていないので、PCに比べて圧倒的に低消費電力になります。常時起動の装置には最適です。
ハードディスクは好きなものを選ぶことができる。
私は静音性からディスクは日立(IBM)と決めているので魅力的ですし、大容量のものを安く購入することができます。
・玄箱はLinuxで動作しているので、NAS以外にさまざまな機能を”無保証・ノーサポート”で組み込むことができる。
実はこのWebサーバも玄箱にインストールしたApacheというWebサーバで実現しています。DNSサーバやメールサーバもインストールして運用しています。現在のところ我が家の玄箱は、
REGZA録画保存サーバ

PC録画保存サーバ
(mpegならREGZAで視聴可能)
デジカメ写真保存サーバ
(REGZAで閲覧可能)
Webサーバ

DNSサーバ

メールサーバ

PCファイルバックアップサーバ
として稼働中です。
これだけのことが玄箱(15,000円)+320GBHDD(10,000円)で実現するのですからお買い得です。

玄箱には低スペックの初代玄箱とCPUのアップグレード、メモリの倍増、ギガビットイーサ対応を実現した玄箱HG(KURO-BOX/HG)があります。今購入するならHGが断然お勧めです。私はamazonで購入しました。クーポン還元を考えるとかなり安く購入できます。

amazonで玄箱を検索

とりあえずNASとして動作させ、REGZA42Z2000に使用するだけなら特殊な設定は不要です。説明書にしたがってセットアップすればすぐに使用できます。

私の場合は、後にApache(Webサーバ)、BIND(DNSサーバ)、qmail(メールサーバ)を導入しましたが、全て「玄箱の本」を参考にしました。この本は玄箱をそこそこ使い込みたい人には最適な本です。(Linuxのディストリビューションそのものを入れ替えるようなパワーユーザー向きではありません。)

amazonで玄箱の本を検索

玄箱に関する情報は「玄箱の本」に譲りますが、本に載っていない小技を以下に紹介します。

・自動共有化抑止
玄箱の初期の状態では以下の二つのパーテーションが作成されます。
/     2GB
/mnt  全容量 - 2GB
つまり、2GBをシステム領域に確保した上で/mntにNASとして共有使用する様に設定されています。デフォルトは/mnt/shareが共有ディレクトリになります。当然このWebコンテンツはシステム領域に置くべきものではないので/mnt/wwwrootに配置したいのですが、なんと玄箱は再起動するたびに自動的に/mnt配下の全ディレクトリを共有に設定してしまいます。(再起動のたびにsmb.confを書き換えてしまいます。)つまり共有したくないユーザデータも全て共有されてしまうのです (強制共有)。これは困りました。いろいろ調べてみると「勝手に共有処理」をしているスクリプトが見つかりました。
/etc/init.d/chkshare
です。
スクリプトが最終的に呼び出しているコマンドはバイナリーなので、詳細は解析できませんでしたが、以下に示すように変更することで「勝手に共有処理」を回避することができました。特に弊害も出ていないのでこれで完了とします。
 echo "Samba configration file generating..."
 /bin/mkcode -s > /dev/null
 /bin/nkf -sEO /etc/samba/smb.conf /tmp/smb.conf
 mv -f /tmp/smb.conf /etc/samba/smb.conf
の部分を以下のようにコメントアウト
# echo "Samba configration file generating..."
# /bin/mkcode -s > /dev/null
# /bin/nkf -sEO /etc/samba/smb.conf /tmp/smb.conf
# mv -f /tmp/smb.conf /etc/samba/smb.conf


・ftpでのアップロード時のパーミッション変更
玄箱は標準の状態でftpサーバの機能を備えています。問題はファイルをアップロードした場合のパーミッションが640(他人は読めない)になっていることです。これではWebコンテンツのアップロードをするたびにパーミッションの変更が必要になり不便です。私は当初、wu-ftpdというサーバが導入されていると思い込み、/etc/wu-ftpd/ftpaccessにdefumask 022を追加したのですが、状況が変わりません。よくよく調べてみると「wu-ftpdのファイルは導入されているが、実際に稼動しているのはwu-ftpdではない!!」ことが分かりました。
/etc/inetd.confを見て事実を理解するまで長いことかかりました・・・。思い込み恐るべし。
で解決策は簡単でinetd.confの中のin.ftpdに-u 022を付加すればOKです。これでスムーズにWebコンテンツのメンテナンスができるようになりました。

サイトのトップへ戻る