Mac OS X を使って DDNSサービスを使う場合のメモです。
Webサーバーの公開はプロバイダの固定IPサービス、ホスティングサービス、またはブログサービスなどを利用するのが一般的ですが、ダイナミックDNS(DDNS)という技術を利用すれば接続毎にIPアドレスが変わる契約でも自宅のPCをWebサーバ等として公開することが可能です。
ありがたいことに、無料で提供していただいているDDNSのサービスもあります。このサーバーは、 家サーバー・プロジェクト(ieServer.Net) さんの DDNSサービスを使って公開しています。(ありがとうございます。)
DDNSでは、割り当ててもらったサブドメイン(このサーバーの場合は www.e-momonga.com)のIPアドレス(つまり自分のIPアドレス)が何かをDNSに登録してもらう必要があります。
固定IPでなければ、自分のIPアドレスはルーターの再起動(場合によっては設定変更)によって変わることがありますので、定期的に自分のIPアドレスを確認して変更があればDDNSサーバーの登録を更新しなければなりません。
家サーバー・プロジェクト(ieServer.Net) さんでは、汎用ダイナミックDNS設定クライアントソフト が公開されていますので、簡単にIPアドレスの更新を行うことができます。
Mac OS Xはunixでperlもデフォルトでインストールされていますので、IPアドレス更新サンプルスクリプト(ieServer.Net 専用) を使って自動的にIPアドレスの更新確認と設定でができます。
ただし、Mac OS Xは標準では wget がインストールされていませんので、スクリプトを一部修正する必要があります。とはいっても簡単で、 wget -q -O と書かれているところを curl に置き換えるだけで使えます。
具体的には、
$NEW_IP = <code>wget -q -O - $REMOTE_ADDR_CHK</code>;
を
$NEW_IP = <code>/usr/bin/curl $REMOTE_ADDR_CHK</code>;
に、そして、
$STATUS = <code>wget -q -O - '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'</code>;
を
$STATUS = <code>/usr/bin/curl '$DDNS_UPDATE?username=$ACCOUNT&domain=$DOMAIN&password=$PASSWORD&updatehost=1'</code>;
に変更してください。(curlのパスが違う場合は修正してくださいね)
後は、cronで自動的にこのスクリプトが実行されるようにしましょう。
ターミナルから crontab -e と入力して以下の通り設定します。
(*+3)/10 * * * * /usr/local/bin/ddns-update.pl
この設定例では、毎時7,17,27,37,47,57分にサーバーにアクセスし自分のIPアドレスを確認するようにしています。