Sendmailのセッティング

せりか式 - Linux - サーバのセッティング - Sendmailのセッティング

Sendmail v8.12.7 の設定メモです
BerkleyDB 4.1.25がインストールされていることが前提になっています。
インストールしていない場合は、BerkleyDBのセッティング を参考にインストールしてください。

Sendmail v8.12.7のインストール

  1. sendmail.orgからSendmailの最新版をダウンロードする (最新版)
  2. ダウンロードしたファイルを /usr/local/src/ に移動し、解凍する
    $ mv sendmail.8.12.7.tar.gz /usr/local/src
    $ cd /usr/local/src
    $ tar xvzf sendmail.8.12.7.tar.gz
  1. 設定ファイルの作成
    $ tar xvzf sendmail.8.12.7.tar.gz
    $ cd sendmail-8.12.7
    $ cd devtools/Site
    $ vi site.config.m4      下記の内容のファイルを作成

site.config.m4
    APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB4.1/include')
    APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB4.1/lib')
    define(`confMANROOT', `/usr/share/man/man')
  1. コンパイル
    $ vi site.config.m4
    $ cd ../../
    $ ./Build
  1. インストール用の設定
    $ ./Build -c
    $ su
    # /usr/sbin/groupadd smmsp         sendmail用のグループ
    # /usr/sbin/useradd -g smmsp -s /bin/false smmsp  sendmail用のユーザ
    # mkdir /var/spool/mqueue
    # mkdir /var/spool/clientmqueue
    # chown smmsp:smmsp /var/spool/clientmqueue
    # chmod 770 /var/spool/clientmqueue
  1. Sendmail用設定ファイルの作成
    # chmod 770 /var/spool/clientmqueue
    # cd cf/cf
    # cp genelic_linux.mc sendmail.mc
    # vi sendmail.mc     以下のようにファイルを修正
    # ./Build sendmail.cf

sendmail.mc
    divert(0)dnl
    VERSIONID(`$Id: generic-linux.mc,v 8.1 1999/09/24 22:48:05 gshapiro Exp $')
    OSTYPE(linux)dnl
    define(`confSMTP_LOGIN_MSG', `$j Pastel Server/Original; $b')dnl
    DOMAIN(generic)dnl
    MAILER(local)dnl
    MAILER(smtp)dnl
  1. インストール
    # ./Build sendmail.cf
    # cp /usr/sbin/sendmail /usr/sbin/sendmail.orig       ファイルのバックアップをとっておく
    # cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.orig
    # ./Build install-cf
    # cd ../..
    # ./Build install
  1. access, aliasesの修正
    # ./Build install
    # cd /etc/mail
    # cp ../aliases* ./  /etcにあるaliasesを/etc/mailにコピーする
    # vi access          accessを以下の内容で作成する
    # vi aliases         aliasesを以下の内容に修正する
    # newaliases

access
    localhost.localdomain RELAY
    localhost             RELAY
    127.0.0.1             RELAY
aliases                  次の行はファイルの最後のほうにあります
    root:     serika     serikaには、自分のユーザ名を入れてください
  1. sendmailの起動
    # newaliases
    # /etc/rc.d/init.d/sendmail restart
    # ln -s /etc/rc.d/init.d/sendmail /etc/rc.d/rc3.d/S77sendmail   自動起動の設定
もし、/etc/rc.d/init.d/sendmailが無い場合は、以下に起動スクリプトの例を挙げておくので、自分で作成してください。
#!/bin/bash
# /etc/rc.d/init.d/sendmail

# Source function library and networking configuration.
. /etc/rc.d/init.d/functions
. /etc/sysconfig/network

[ -f /usr/sbin/sendmail ] || exit 0

RETVAL=0

start() {
        echo -n $"Starting sendmail: "
        /usr/bin/newaliases > /dev/null 2>&1
        for i in virtusertable access domaintable mailertable ; do
          if [ -f /etc/mail/$i ] ; then
              makemap hash /etc/mail/$i < /etc/mail/$i
          fi
        daemon /usr/sbin/sendmail -bd
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/sendmail
        return $RETVAL
}

stop() {
        echo -n $"Shutting down sendmail: "
        killproc sendmail
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/sendmail
        return $RETVAL
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        stop
        start
        RETVAL=$?
        ;;
  status)
        status sendmail
        RETVAL=$?
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart|status}"
        exit 1
esac

exit $RETVAL

トップへ