Value-DomainではダイナミックDNSがデフォルトで利用できるようになっている。
試しにWeb画面上から更新してみるがなぜか更新されない。
以前利用していたDiCEという結構有名なソフトがあり、WindowsPCのタスクトレイに常駐させたり、サービスとしても実行可能だったりするものなのだが、これを使って更新すると正常に更新された。
いろいろ調査してみたが違いはイマイチはっきりせずのまま調査打ち切りでLinuxからスケジュールでDNSを書き換えることにする。
Valuedomain の DDNS を定期的に自動更新する 方法が、http://www.junkperl.com/myserver/
こちらに紹介されていたので参考にさせていただきました。
スクリプトが提供されているのでこれを使わせていただきます。
/home/marumusi/ValueDomain/配下にスクリプトをまるごとコピーしてパーミションを設定
スクリプト(vdddns.cgi)を開いて設定情報を書き換えておく
/etc/cron.hourly/autoipというファイルを作成する。中身は以下のとおり
ちなみのこのフォルダは、1時間ごとに実行される。
#!bin/sh cd /home/marumusi/valuedomain/ /usr/local/bin/perl vdddns.cgi
cronの実行が待てないのでコマンドラインから
cd /home/marumusi/valuedomain/
/usr/local/bin/perl vdddns.cgi
を実行してみる。正しく実行できれば
/home/marumusi/valuedomain/dat/debug.log
/home/marumusi/valuedomain/dat/ip.cgi というファイルが生成される。
ip.cgiには現在のIPアドレスが取得されている。
debug.logには実行結果が記録されているようだ。
status=0 OK が記録されていれば一応正常ということだろう。
後はCronが定期的に実行されるか確認だ。
※vdddns.cgiはwebブラウザから実行しても必ずエラーになるので実行しないようにとの注意書きがあった。
ここを読まずにとりあえず試したら確かにエラーで動かなかった。^^;
vdddns.cgi の変更箇所は以下のような感じ
#!/usr/local/bin/perl
を
#!/usr/bin/perl
に変更
@DOMAIN = (
{ “d” => “hoge.com”, “p” => “pw”, “h” => “*” },
を
@DOMAIN = (
{ “d” => “since20080425.blog32.fc2.com”, “p” => “123456789”, “h” => “*” },
に変更
この値は、ValueDomainのメニューからダイナミックDNS設定情報というところを見ると分かる
valuedomainのフォルダをPublic_htmlの外(外部からアクセスできない場所)にコピーして
vdddns.cgiのパーミションを755
datフォルダのパーミションを777
に変更
次にサーバーで
etc/cron.hourly(デフォルトで存在する毎時実行用のフォルダ)に以下のファイルを作成
autoipのファイル名で
#!/bin/sh
cd /home/marumusi/valuedomain/
/usr/bin/perl vdddns.cgi
と記述
ファイルのパーミションは777
で完了。
念のためスケジュールされているか/etc/crontabをみて確認。
動かない場合はログチェック
/home/valuedomain/dat/debug.log : 本スクリプトが吐き出すログ
/home/valuedomain/dat/ip.cgi : 最新のグローバルIPアドレス
/var/log/cron : cron のログ
/var/log/maillog : メール のログ
だそうです。
これらは、
http://www.junkperl.com/myserver/valuedomain.shtml#MANUAL
をみて設定しました。
コメント