Solaris10(x86) に postfix + dovecot をインストールする
メモです。Postfixのパッケージ作成手順 for Solaris 10 とか http://www.db.is.kyushu-u.ac.jp/computer/solaris/solaris_optionsoft.html#section2 などを参考にしました。
はじめに postfix の構築に必要な以下のツールを sunfreeware (KDD Labs のミラー) からダウンロード・インストールします。
前準備として、各コマンドのパスを通しておきましょう*1。
$ cat ~/.profile # # Copyright (c) 2001 by Sun Microsystems, Inc. # All rights reserved. # # ident "@(#)local.profile 1.10 01/06/23 SMI" stty istrip PATH=/usr/bin:/usr/ucb:/etc:/usr/local/bin:/usr/ccs/bin:. export PATH
postfix のソースを展開し、make します。今回は 2.5.1 を使いました。
$ gzcat postfix-2.5.1.tar.gz | tar xf - $ cd postfix-2.5.1 $ make -f Makefile.init makefiles AUXLIBS='-L/usr/local/BerkeleyDB.4.4/lib/ -R/usr/local/BerkeleyDB.4.4/lib/ -ldb' $ make
ここで postfix 専用アカウント・グループを作成しておきます。
# groupadd -g 60100 postfix # groupadd -g 60110 postdrop # useradd -c "Postfix" -d /var/empty -g postfix -u 60100 -s /bin/false postfix
いよいよパッケージ化の作業です。
$ mkdir ~/postfix-pkg $ make non-interactive-package install_root=/home/xxx/postfix-pkg # su - # cd /home/xxx # chown -R root:root postfix-pkg/ # cd postfix-pkg/ # cp -pR etc/postfix ../postfix-conf
コピーした main.cf(../postfix-conf/main.cf) を編集し、パラメータを以下のように変更します。
queue_directory = /home/xxx/postfix-pkg/var/spool/postfix command_directory = /home/xxx/postfix-pkg/usr/sbin daemon_directory = /home/xxx/postfix-pkg/usr/libexec/postfix data_directory = /home/xxx/postfix-pkg/var/lib/postfix sendmail_path = /home/xxx/postfix-pkg/usr/lib/sendmail newaliases_path = /home/xxx/postfix-pkg/usr/bin/newaliases mailq_path = /home/xxx/postfix-pkg/usr/bin/mailq manpage_directory = /home/xxx/postfix-pkg/usr/local/man sample_directory = /home/xxx/postfix-pkg/etc/postfix
その後、ファイルのパーミッション設定を実施します。
# usr/sbin/postfix -c /home/xxx/postfix-conf set-permissions
続いて aliases ファイルの作成・調整です。
# cd etc/ # mkdir mail # cp postfix/aliases mail/ # ln -s ./mail/aliases aliases
それが終わったら SMF(Service Management Facility)用に以下の設定ファイルを作ります。sendmail 用の xml ファイルを流用するのが楽みたいですが、私は評価環境で動けばよいので Postfixのパッケージ作成手順 for Solaris 10 のものを頂戴しました。
var/svc/manifest/network/smtp-postfix.xml lib/svc/method/smtp-postfix etc/init.d/postfix
続いて prototype の作成に移ります。
# pkgproto . > prototype
で幾つか編集があるのですが、これまた Postfixのパッケージ作成手順 for Solaris 10 のものを頂戴しました。
次に以下のファイルを /home/xxx/postfix-pkg/ 下にコピーします。
pkginfo depend i.initd i.manifest i.preserve i.renamenew i.renameold r.manifest
これらのファイルは /var/sadm/pkg/SUNWsndmr/ 以下にあるはずです。find などで探してください。
ちなみに pkginfo に関しても Postfixのパッケージ作成手順 for Solaris 10 のものを頂戴し、その後は
# pkgmk -r `pwd` # cd /var/spool/pkg/ # pkgtrans -s . SYpostfix.pkg
実行し、めでたく完成しました :)。
*1:私の場合は太字の箇所の追記が必要でした。