最終更新日:2003年7月27日
いつもの通りインストール手順はLinuxをベースに説明します。その他のOSを使っている人は読み替えてください。なお、RedHatなどのディストリビューションに同梱されているPostfixはバージョンが古かったりしますので、できるだけ新しいバージョンをお使いくさだい。
最新は、Postfixのダウンロードサイトから入手してください。 ここでは、2003年7月13日現在の最新のpostfix-2.0.13のソースであるpostfix-2.0.13.tar.gzを例に説明します。
Debian系の場合は、
# apt-get update; apt-get install postfix
として最新版を入手できます。
このとき、以下のようなインストールタイプを確認してしてくるので、取りあえず「Internet Site」を選ぶ。
また、続いてPoxtfixサーバのドメイン正式名(FQDN)を確認してくるので、DNSに登録されている名前を入力します。
パッケージを使ってインストールした場合には、「5.sendmailからの切り替え」に進んでください。 ソースファイルからコンパイルする方は以下を実行してください。
前準備として、グループとユーザを登録します。
グループの登録
# groupadd postfix [Enter]
# groupadd postdrop [Enter]
ユーザの登録
# adduser -G postfix postfix [Enter:]
入手したソースを解凍してコンパイルを実行します。
# tar zxvf postfix-2.0.13.tar.gz [Enter]
# cd postfix-2.0.13 {Enter]
# make [Enter]
コンパイルが終了したら、結果をインストールします。 このとき幾つかの質問い答える必要があります。(殆ど、デフォルトで問題ない筈です。)
# make install [Enter] ;; install_root: [/] [Enter] ;; tempdir : [/tmp/postfix-x.x.x] [Enter] ;; config_directory: [/etc/postfix] [Enter] ;; daemon_directory: [/usr/libexec/postfix] [Enter] ;; (以下、略) ;; #
(Linuxの場合)起動用スクリプトを以下のように作成します。
(Linuxの場合: /etc/rc.d/init.d/postfix)
#!/bin/sh # # postfix Postfix Mail Transfer Agent # # chkconfig: 2345 80 30 # description: Postfix is a Mail Transport Agent, which is the program \ # that moves mail from one machine to another. # processname: master # pidfile: /var/spool/postfix/pid/master.pid # config: /etc/postfix/main.cf # config: /etc/postfix/master.cf # # Source function library. ------------------- (1) . /etc/rc.d/init.d/functions # Source networking configuration. ------------ (2) . /etc/sysconfig/network # Check that networking is up. ---------------- (3) [ ${NETWORKING} = "no" ] && exit 0 # ---------------------------------- 以上までは環境によっては不要 [ -x /usr/sbin/postfix ] || exit 0 [ -d /etc/postfix ] || exit 0 [ -d /var/spool/postfix ] || exit 0 RETVAL=0 start() { # Start daemons. echo -n "Starting postfix: " /usr/sbin/postfix start 2>/dev/null 1>&2 && success || failure RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/postfix echo return $RETVAL } stop() { # Stop daemons. echo -n "Shutting down postfix: " /usr/sbin/postfix stop 2>/dev/null 1>&2 && success || failure RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/postfix echo return $RETVAL } reload() { echo -n "Reloading postfix: " /usr/sbin/postfix reload 2>/dev/null 1>&2 && success || failure RETVAL=$? echo return $RETVAL } abort() { /usr/sbin/postfix abort 2>/dev/null 1>&2 && success || failure return $? } flush() { /usr/sbin/postfix flush 2>/dev/null 1>&2 && success || failure return $? } check() { /usr/sbin/postfix check 2>/dev/null 1>&2 && success || failure return $? } restart() { stop start } # See how we were called. case "$1" in start) start ;; stop) stop ;; restart) stop start ;; reload) reload ;; abort) abort ;; flush) flush ;; check) check ;; status) status master ;; condrestart) [ -f /var/lock/subsys/postfix ] && restart || : ;; *) echo "Usage: postfix {start|stop|restart|reload|abort|flush|check|status|condrestart}" exit 1 esac exit $?
作成したスクリプトに実行権限を与え、その後chkconfig コマンドを実行してスクリプトを登録します。
他のOSの場合には上記スクリプトを参考に、起動時に実行できるスクリプトを完成させてください。
# chmod +x postfix [Enter]
# chkconfig --add postfix [Enter]
#
以上で、スクリプトは完成です。
なお、(1)〜(3)はRedHat系のスクリプトに使われている記述です。 使っている環境によってはこの指定をするとPostfixの起動がうまくいかないことがあるので、その場合には(1)から(3)までの設定を無くして試してください。
一般的なLinuxやFreeBSDまたはUnixを使っている場合には、すでにMTAとしてsendmailが動いている筈です。 Postfixを起動するにはこのsendailを停止する必要があります。LinuxでRedHa系の場合には「ntsysv」コマンドによって、TurboLinuxの場合には「turboservice」コマンドによってsendmailが停止できますので停止するようにしてください。FreeBSDでは、/etc/defaults/rc.confの中でsendailを起動に実行するように記述されている箇所があるのでこれを修正します。
なお、RedHatの場合で、パッケージとしてPostfixを導入してある場合には、
# alternatives --config mta
でsendmailからpostfixへ切り替えることができる。(redhat-9からは、redhat-switch-mailでも良い)
Debian系ではapt-getにてPostfixパッケージをインストールした時点で、Sendmailが削除され Postfixへ切り替わります。
Homeへ戻る
Copyright© 1998-2003 ROBATA.ORG