このページへのアクセスが多いので、その後のレポートにリンクを張っておきます
東芝のHDD/DVDレコーダ RD-S601を購入しました。もちろんこの機種を選んだ理由はパソコンの連携ができるからです。
まずはリモートへの動画転送。最初はネットdeダビング機能を使って転送しようとしたが、DLNAに対応しているとのことでRDLNAというソフトを使って簡単に転送できました。
次にメールでの予約。Docomoのこのiアプリを使うことでこれも素直に実現。いくぶん便利にはなるのですが、チャンネル名がわからなかったり、その他オプションのデフォルト値を設定できなかったりとあまり満足のいくものではありません。いずれWebベースのツールを作ろうかな。
RDのWebサーバに アクセスすれば、予約やら録画の確認などいろいろできますが、このポートをインターネットにそのまま公開するのは恐いので、インターネット経由でのアクセス用にはapacheのproxy機能を使用してhttpsで実現。これでパスワードを平文で流さなくてすみます。プロキシ部分の設定はこんな感じ。
UseCanonicalName on ProxyRequests Off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass / http://192.168.1.4:80/ ProxyPassReverse / http://192.168.1.4:80/
最初は以下のように階層を掘って(hogeの部分 VARDIAに転送していましたが、
ProxyPass /hoge/ http://192.168.1.4:80/ ProxyPassReverse /hoge/ http://192.168.1.4:80/
VARDIAが出力するHTMLに絶対リンクがあるため、うまく動きませんでした。よって、新しくダイナミックDNSでDNS名を取得し、名前ベースのVIrtualHostを使ってサーバ名直下で運用することでうまくいきました。ただし、ネットdeモニターのようにJAVAでサーバに直接接続しにいく機能は使えないようです。
これでインターネットからいつでもVARDIAにアクセスできるようになったのですが、VARDIAの電源がOFFの場合はWebサーバにアクセスできません。よってリモートからVARDIAの電源をWOLでONにするスクリプトを記述して自宅サーバに設置。内容は以下のようにいたって簡単なものです。
<?php echo "RD WOL<BR>\n"; $a = exec("/usr/bin/wakeonlan 00:xx:xx:xx:xx:xx"); echo $a; echo "<BR>\n"; ?>
今回はPHPで記述しました。これをApacheに設置して、携帯などからURLを叩けば電源を入れることができます。
ちなみにwakeonlanというコマンド(Debianではapt-getでインストールできた)でWOLのパケットが投げられ、電源をONにします。 00:xx:xx:… はVARDIAのMACアドレスです。
さて、これで電源ONもリモート操作できるようになったのですが、VARDIAの起動は時間がかかるし、内部処理中(□が表示窓に表示されている)の場合はなぜかONにできないため、遠隔にいると状態がわかりません。なので、以下のスクリプトを書いて設置しました。
<?php echo "Ping<BR>\n"; $a = exec(" ping -c 1 192.168.1.4 | grep icmp_seq"); echo $a; echo "<BR>\n"; echo "TCP Port 80 Scan<BR>\n"; $a = exec("/usr/bin/nmap -sT 192.168.1.4 -p 80 | /bin/egrep open"); echo $a; echo "<BR>\ndone"; ?>
これで、pingでネットワークを確認、nmapでポート80が空いているかが確認できます。
ひとまずはこれで設定終了です。