« たらこたっぷり | メイン | サーバ移行 -> OSX »

2004年11月30日

ddclient の OSX へのインストールメモ

自宅サーバ WebLogic化計画に向けてちょこちょこ設定。
古い Linux ベースのサーバから OSX へ移行。まずは手始めに Dynamic DNS の更新クライアント - ddclient を移行する。最新版は 3.6.5。

Google で"ddclient を OSX へインストール!"みたいなのを調べたけどもぴったりの記事がないのでちょっと苦労した。ひとまずココから辿って起動スクリプトのマナーを勉強。

OSX のブートストラップは特殊でユーザ独自の起動スクリプトは /Library/StartupItems 以下に配置するらしい。/etc/rcn.d みたいなもん。ランレベルみたいのはないけども、StartupParameters.plist でNTのサービスみたいに簡単に依存関係を設定できる。

# mkdir /Library/StartupItems/ddclient
# cp ddclient3.6.5/sample-etc_ddclient.conf /Libary/StartupItems/ddclient/ddclient.conf
# cp ddclient3.6.5/ddclient /Libary/StartupItems/ddclient/ddclient.pl

StartupParameters.plist の作成
# vi StartupParameters.plist
------------
{
Description = "Dynamic DNS Updating client";
Provides = ("Dynamic DNS Updater");
Requires = ("Disks");
Uses = ("Disks");
OrderPreference = "None";
}
---------

ddclient.conf の編集

#use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address
#protocol=dyndns2
#server=members.dyndns.org
有効化↓
use=web, web=checkip.dyndns.org/, web-skip='IP Address' # found after IP Address

pid=/var/run/ddclient.pid # record PID in file.
#login=your-login # default login
#password=test # default password
#mx=mx.for.your.host # default MX
#backupmx=yes|no # host is primary MX?
#wildcard=yes|no # add wildcard CNAME?
↓以下のように編集
pid=/Library/StartupItems/ddclient/ddclient.pid # record PID in file.
login=Dynamic DNS ユーザID # default login
password=Dynamic DNS パスワード # default password
#mx=mx.for.your.host # default MX
backupmx=no # host is primary MX?
wildcard=no # add wildcard CNAME?

#以下登録してあるホスト名だけ繰り返し
server=members.dyndns.org, ¥
protocol=dyndns2 ¥
yusuke.homeip.net
#server=members.dyndns.org, ¥
#protocol=dyndns2 ¥
#morehostname.dyndns.org

起動スクリプトの配置
--------/Library/StartupItems/ddclient
#!/bin/sh

##
# ddclient
##

. /etc/rc.common

StartService ()
{
ConsoleMessage "Starting ddclient"
cd /Library/StartupItems/ddclient
./ddclient.pl -file ./ddclient.conf -cache ./ddclient.cache
}

StopService ()
{
ConsoleMessage "Stopping ddclient"
cd /Library/StartupItems/ddclient
kill `cat ./ddclient.pid`
}

RestartService ()
{
ConsoleMessage "Restarting ddclient"
cd /Library/StartupItems/ddclient
kill `cat ./ddclient.pid`
./ddclient.pl -file ./ddclient.conf -cache ./ddclient.cache
}

RunService "$1"
-----------------

Linux で動いてる ddclient を止めて、サービス起動の確認
-------
# SystemStarter start "Dynamic DNS Updater"
Welcome to Macintosh.
Initializing network
Starting ddclient
Startup complete.
Hangup
# ps -U root|grep ddclient
591 ?? S 0:00.10 ddclient.pl - sleeping for 139 seconds
------
これでOk。

投稿者 yusuke : 2004年11月30日 01:27

トラックバック

このエントリーのトラックバックURL:
http://yusuke.homeip.net/diary/mt/mt-tb.cgi/145

コメント