OpenIndianaで楽しいDLNAサーバ
はじめに
せっかくopenindianaでちょっと素敵なNASを仕立てたので、NASに放り込んだコンテンツを有効活用すべくDLNAサーバを動かしたいと思うのは当然の流れですよね。だがしかし、そこはopenindiana(以後面倒なのでoiと略す)。oiは素人に大変厳しいOSなので、aptやらyumやらでヒャッハーすることなんてできやしない。pkgなるapt相当のものがあって、多少はものが入るんだけど、種類が少なかったり古かったりでいまいちだし*1、もちろんDLNAサーバなんていう気の利いたものがあるはずもない。 そこで、VM上でLinuxを動かして、LinuxにDLNAサーバをやらせることにした。
環境
- hpの初代microserver
- openindiana 151a
Virtualboxの準備
oiにはSolarisコンテナなる仮想化環境があるらしい。しかし、Linuxが動くのかどうか全くわからなかった*2ので、多少は親しみのもてるVirtualboxを使うことにする。もともとSunがやってただけあって、oi用のバイナリもちゃんとあるのが素晴らしいですね。
# 本体のダウンロードとインストール $ wget http://download.virtualbox.org/virtualbox/4.3.6/VirtualBox-4.3.6-91406-SunOS.tar.gz $ tar xvf VirtualBox-4.3.6-91406-SunOS.tar.gz $ sudo pkgadd -d VirtualBox-4.3.6-SunOS-amd64-r91406.pkg # extpackのダウンロードとインストール $ wget http://download.virtualbox.org/virtualbox/4.3.6/Oracle_VM_VirtualBox_Extension_Pack-4.3.6-91406.vbox-extpack $ sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.3.6-91406.vbox-extpack
VirtualboxでLinuxを動かす
普段はGUIでやってる仮想マシン作成をコマンドラインでやるのは結構大変。マニュアルを読みながら、時にGoogleに教えてもらいながらやるんだけど、マニュアルを読むのが一番正確だしわかりやすいと思う。普段はDebianな僕だけど、今回は何を思ったかUbuntuにした。
# VM作成 $ VBoxManage createvm -name "ubuntu" -register # 基本設定。DVDのブート順位を上げる。DLNAサーバにするのでブリッジ接続にする。 $ VBoxManage modifyvm "ubuntu" --ostype Ubuntu_64 --memory 1536 -acpi on -boot1 dvd -nic1 bridged --bridgeadapter1 bge0 # 仮想HDD用のファイルを作る。特に何も調べずにVDIにしてしまったけど、よかったんだろうか。。。 # サイズはMB単位で指定 $ VBoxManage createhd -filename "ubuntu13.vdi" -size 20000 # 仮想SATAポートを用意する $ VBoxManage storagectl "ubuntu" --name "SATA" --add sata # SATAポートにHDD用ファイルとISOファイルをぶら下げる $ VBoxManage storageattach "ubuntu" --storagectl "SATA" --port 0 --device 0 --type hdd --medium ubuntu13.vdi $ VVBoxManage storageattach "ubuntu" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium ubuntu13.iso # VM起動。画面を飛ばすのがちょっと面倒だったので、RDPでつなぐために以下コマンドで起動する。 $ VBoxHeadless --startvm "ubuntu" # Linuxのインストールが終わったら、一旦シャットダウンしてISOファイルをアンマウントする。 $ VBoxManage controlvm "ubuntu" poweroff $ VBoxManage storageattach "ubuntu" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium none # 再度VMを起動 $ VBoxHeadless --startvm "ubuntu"
NFSマウントとDLNAサーバの準備
ubuntuを入れたので、あとはずいぶん楽。DLNAサーバはmediatombがあるし、ファイルはNFSでアクセスすればいい。
# まずは必要なものをインストール $ sudo aptitude install nfs-common nfs-client mediatomb # NFSでマウントする $ sudo mount -t nfs <サーバ名>:/path/to/share/dir /path/to/mount/point
mediatombの設定
こことここを見ながらやる。 拡張子によってはmediatombにスキャンしてもらえない場合があった*3ので注意。これで完成。
iPadで試運転してみたけど、特にストレスなく動画が見られて大変ハッピー。
おわりに
OpenIndiana(でLinuxを動かした上)でDLNAサーバを動かすことができた。OpenIndianaはもうちょっといろんなパッケージを使えるようにしてくれないかなあと思う次第です。