ということで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 件のコメント:
コメントを投稿