Sendmail 等がインストールされている場合は、可能ならばそれを削除しておこう。 パッケージの依存関係等の問題で削除できない場合は、次のように sendmail, newaliases, mailq コマンドをリネームしておくのが吉。
# mv /usr/sbin/sendmail /usr/sbin/sendmail.OFF # mv /usr/bin/newaliases /usr/bin/newaliases.OFF # mv /usr/bin/mailq /usr/bin/mailq.OFF
OSによってはコマンドが上記以外の場所にあるかもしれない (たとえば、Solaris の場合は sendmail コマンドは /usr/lib/sendmail にある)。
OS に postfix ユーザ, postfix グループ, postdrop グループを作成する。
# adduser --system --group --no-create-home postfix # addgroup --system postdrop
# useradd -r postfix # groupadd -r postdrop
# groupadd postfix # groupadd postdrop # useradd postfix
次のようにしてインストールする。
% tar xpvfz /somewhere/postfix-2.1.1.tar.gz % cd postfix-2.1.1 % make -f Makefile.init makefiles % make % su # make install # newaliases
make install 時に以下の質問がされるが、通常はすべてデフォルトのままで良いので、ひたすらリターンキーを押す。
install_root: [/] tempdir: [/workdir/postfix-2.1.1] config_directory: [/etc/postfix] daemon_directory: [/usr/libexec/postfix] command_directory: [/usr/sbin] queue_directory: [/var/spool/postfix] sendmail_path: [/usr/sbin/sendmail] newaliases_path: [/usr/bin/newaliases] mailq_path: [/usr/bin/mailq] mail_owner: [postfix] setgid_group: [postdrop] html_directory: [no] manpage_directory: [/usr/local/man] readme_directory: [no]
次のようにしてインストールする。ただし、Postfix は停止する必要がある。
% tar xpvfz /somewhere/postfix-2.1.1.tar.gz % cd postfix-2.1.1 % make -f Makefile.init makefiles % make % su # postfix stop # make upgrade
Postfix はインストール直後の状態では、次のように動作する。
自ホスト名は OS に設定されたホスト名である(uname -n コマンドや hostname コマンドで確認できる)。 自ドメイン名は、自ホスト名の先頭から最初の「.」までを取り除いたものである。
設定に問題なければ、Postfix を起動してみよう。 何か問題があれば、起動するのはちょっと待って、「基本的な設定」を先に見るべし。
# /usr/sbin/postfix start
postfix/postfix-script: starting the Postfix mail system
正常に起動しただろうか。ちなみに Postfix を停止するには次のコマンドを実行する。
# /usr/sbin/postfix stop
postfix/postfix-script: stopping the Postfix mail system
次のようにして、ちゃんと SMTP サーバとして起動したかどうかを確かめられる。
% telnet 127.0.0.1 25 Trying 127.0.0.1... Connected to 127.0.0.1. Escape character is '^]'. 220 ホスト名 ESMTP Postfix QUIT 221 Bye Connection closed by foreign host.
mail コマンドでメールを送ってみて、ちゃんとメールが届けばOK。 一応、自サーバ宛と、外部宛の両方に送ってみよう (携帯電話のメールアドレスがお手軽だが、携帯電話会社によっては平気で数時間遅れることもあるので注意)。
% mail 宛先メールアドレス Subject: test test . Cc:
自サーバ宛に送った場合は、「/var/mail/ユーザ名」ファイルに送ったメールが格納されているはずだ。