僕は Core2Duo な MacBook を持っているんだけど、以前から MacOSX で納得のいってなかったのは、 MTA が IPv6 に対応していないこと。そー。MacOSX では Postfix が default で入っているのだけど、こいつが IPv6 に対応していないX-(。
なので最近は、FreeBSD の sendmail のバージョンがアップする度に MacOSX に sednamil をインストールしている。今回はそのインストール方法についてまとめて掲載してみよう。まぁ、一種の自分の忘却録みたいなモンだけどね(^^;;。
僕の手元には FreeBSD があるので MacOSX に最新版の sendmail をインストールするときには FreeBSD が必須となっています。以下、MacOSX に sendmail をインストールするときに必要なもの。
1. FreeBSD の /etc/mail 配下一式。FreeBSD STABLE などから tar で固めて持ってきましょう;-)。
2. /usr/ports/mail/sendmail/files/site.config.m4 と site.config.m4.ipv6
IPv6 対応にする sendmail にするためには以下のコマンドを打って site.config.m4 を作成すれば良いでしょう。
% cd /usr/ports/mail/sendmail/files/
% cat site.config.m4 site.config.m4.ipv6 > ~/site.config.m4
|
3. sendmail-8.14.1 のソースコード。
さぁ。準備は整いましたか?では続いて sendmail の build と行ってみましょうか。
1. MacOSX 上で sendmail のソースを展開します。
2. Build スクリプトを実行します。大体以下のような感じ。os と rel は uname -a コマンドを実行し、自分の MacOSX のバージョンに合わせます。
% cd /usr/local/src
% tar xvzfp sendmail.8.14.1.tar.gz
% cd sendmail-8.14.1
% ./Build -c -f ~/site.config.m4 -E os=Darwin -E rel=8.9.1
|
次に build が終わったらインストールしますがその前にディレクトリを掘って上げます。なお、Build install では mail.local をインストールしてくれないのでこれだけは手でインストールします。また、sendmail.cf を作成するために cf ディレクトリを /usr/share/sendmail/ 配下にコピーします。
# mkdir /var/spool/clientmqueue
# mkdir /etc/mail
# mkdir /usr/share/man/cat1
# mkdir /usr/share/man/cat5
# mkdir /usr/share/man/cat8
# ./Build install -E os=Darwin -E rel=8.9.1
# cp -pr ./obj.Darwin.8.9.1./mail.local/mail.local /usr/libexec/
# cp -pr cf /usr/share/sendmail/
|
以上で sendmail のインストールは完了です。
FreeBSD から /etc/mail 配下を持って来ているのでそれをそのまま MacOSX に展開します。/etc/mail 配下では bsdmake とたたくと m4 マクロから sendmail.cf を作成してくれることでしょう。
しかし、これだけでは sendmail が動作しないのが MacOSX です。sendmail が正しく動作するために環境を整える必要があります。
まずは NetInfo マネージャで sendmail が動作するユーザを登録します。これは FreeBSD の /etc/passwd、group ファイルと同じでいいでしょう。 以下の二つを NetInfo マネージャ から users と groups に登録します。
- /etc/passwd
smmsp:*:25:25:Sendmail_Submission_User:/var/spool/clientmqueue:/usr/sbin/nologin
|
次に各種ディレクトリの整合性を取ります。sendmail 用のディレクトリを作成します。また、sendmail は自分が参照するディレクトリが 775 だと動かないのでそれを直してあげる必要があります。裏を返すと MacOSX は全然安全では無い OS。と言うことですね・・X-(。
# chown root:smmsp /usr/sbin/sendmail
# chown smmsp:smmsp /var/spool/clientmqueue
# chown root:smmsp /var/mail
# chown root:daemon /var/spool/mqueue
#chmod 40770 /var/spool/clientmqueue
#chmod 40750 /var/spool/mqueue
# chmod 40755 /Users/
# chmod 40755 /Users/takachan/
# chmod 40755 /
# cp /dev/null /var/log/sendmail.st
|
さてと・・。最後の三つの chmod でディレクトリのバーミッションを変更していますが、これやると、一般ユーザから NetInfo マネージャが動作しなくなります(ユーザ情報の登録・変更などができなくなります)。怖いですねぇ・・。しかし、775 になっている OS はそーそー使いたくないものです。この際だから 755 に変更してしまいましょう。
NetInfo マネージャが使えなくなると困るので、ログイン画面から root でログインできるようにします。NetInfo マネージャで root にパスパードを設定してあげれば良いです。そうすれば、NetInfo マネージャを使いたい場合は、いつでも root でログインして利用することができます。
以上で sendmail のインストールは完了です。後はスタートアップスクリプトを書くだけです。まぁ、あれなんですけど、/etc/hostconfig から起動するようにしましょうかね。以下の行を /etc/hostconfig に書きます。
# User Services
MAILSERVER=-YES-
|
でもって起動スクリプトSendmail を用意しました。これを /Library/StartupItems/ に展開すれば、起動時に sendmail が起動するようになるでしょう。
さて、これで以上ですが、あなたも MacOSX で IPv6 な MTU の世界をお楽しみください;-)。