Sendmail v8.12.7 の設定メモです
BerkleyDB 4.1.25がインストールされていることが前提になっています。
インストールしていない場合は、BerkleyDBのセッティング を参考にインストールしてください。
$ mv sendmail.8.12.7.tar.gz /usr/local/src
$ cd /usr/local/src
$ tar xvzf sendmail.8.12.7.tar.gz
$ 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')
$ vi site.config.m4
$ cd ../../
$ ./Build
$ ./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
# 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
# ./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
# ./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には、自分のユーザ名を入れてください
もし、/etc/rc.d/init.d/sendmailが無い場合は、以下に起動スクリプトの例を挙げておくので、自分で作成してください。
# newaliases
# /etc/rc.d/init.d/sendmail restart
# ln -s /etc/rc.d/init.d/sendmail /etc/rc.d/rc3.d/S77sendmail 自動起動の設定
#!/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