2005年10月1日土曜日

Mac miniとMac OS X Tigerで自宅サーバ構築(その1)

ということでMac miniとMac OS X Tigerで自宅サーバ構築することにしてみる。Mac miniにDebian入れても良かったんだけど、たまには違う事もしてみようと言う事で。portsな世界も結構好きだしね。

方向性としてはXcodeなgccとDarwinPortsで頑張る方向で。サービスは DNS, HTTP, SMTP, IMAP ぐらいで。bind, apache, postfix は標準で入ってるぽいので、DarwinPortsからcourier-imapをインストールする感じかな。

StartupItems

apacheの起動スクリプトは/System/Library/StartupItemsに入っている。ここはOSが提供しているサービスの起動スクリプト置き場で、サードパーティーの物は/Library/StartupItemsに置くのが流儀のようだ。

起動時に実際に起動するかどうかは/etc/hostconfigで設定する。

WEBSERVER={-YES-|-NO-|-AUTOMATIC-}

個別に起動/停止する場合はSystemStarterコマンドを用いる。

sudo SystemStarter {start|stop|restart} "Web Server"

apache の設定は /private/etc/httpd/httpd.conf で行う。

LaunchDaemons

bind, postfixの起動スクリプトは/System/Library/LaunchDaemonsに入っている。StartupItemsとの住み分けはよくわからないが、LaunchDaemonsはTigerから導入された物らしいので、今後はこっちに統一されて行くのかもしれない。StartupItemsと同じようにサードパーティーの物は/Library/LaunchDaemonsに置くのが流儀のようだ。

LauchDaemonsを実行するlaunchd自体はPID 1なシロモノで、init, inetd, crond, initscriptsあたりを統合したトンデモなdaemonのようだ。設定項目とかみてるとそれはそれでいい感じで、思わず車輪の再発明とかしたくなっちゃうねぇ。

起動時に実際に起動するかどうかはLaunchDaemons以下のXMLファイル内で設定する。Disabled が false かつ OnDemand が false のものが起動されるようだ?(全然自信はない)。XMLファイルを変更した場合は launchctl コマンドでリロードする?(全然自信はない)。

# launchctl unload org.isc.named.plist
# launchctl load org.isc.named.plist
# launchctl unload org.postfix.master
# launchctl load org.postfix.master

個別に起動/停止する場合はlaunchctlコマンドを用いる。

# launchctl stop org.isc.named.plist
# launchctl start org.isc.named.plist
# launchctl stop org.postfix.master
# launchctl start org.postfix.master

bind の設定は /private/etc/named.conf で行う。postfix の設定は /private/etc/postfix/main.cf で行う。

開発ツールインストール

courier-imap はDarwinPortsからインストールする事にするが、そのためにはまずは gcc をインストールしなくてはならない。ADC に入会して、xcode_tools_2.1.dmg をダウンロードし、その中の XcodeTools.mpkg をインストールする。これで gcc その他必要な開発ツールがインストールされる。

とりあえず今日はここまで。

0 件のコメント: