Dell Optiplex GXa SolarisTM 9  x86  9/04

POP Before SMTP with sendmail-8.13.3 + smtpfeed

戻る
こちら に引っ越します。今後このページの更新はありません。

1. BerkeleyDB.4.2.52のインストール
2. drac-1.12のインストール
3. qpopper4.0.5のインストール
4. smtpfeed-1.18のインストール
5. sendmail-8.13.3のインストール
6. sendmail-8.13.3の設定
6-2. (バーチャルドメインの設定)
sendmail-8.13.3
作業ディレクトリを作成
$ mkdir /opt/src/sendmail-8.13.3
作業ディレクトリに移動
$ cd /opt/src/sendmail-8.13.3
sendmailアーカイブをダウンロード
$ wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.13.3.tar.gz
sendmailアーカイブを解凍展開
$ tar xozf sendmail.8.13.3.tar.gz
インストール: sendmailディレクトリのdevtools/OSに移動
$ cd /opt/src/sendmail-8.13.3/sendmail-8.13.3/devtools/OS
SunOS.5.9m4 を ../Site/SunOS.5.9.m4 としてコピーする。
$ cp SunOS.5.9 ../Site/SunOS.5.9.m4
コピーしたファイルSunOS.5.9.m4 をviで開く。
$ vi ../Site/SunOS.5.9.m4
以下のように修正して保存する。
##################################################### # $Id: SunOS.5.9,v 8.9 2002/03/21 23:59:26 gshapiro Exp $ dnl DO NOT EDIT THIS FILE. dnl Place personal settings in devtools/Site/site.config.m4 define(`confCC', `gcc') define(`confLDOPTS_SO', `-G') define(`confBEFORE', `sysexits.h') define(`confMAPDEF', `-DNEWDB -DNIS -DNISPLUS -DMAP_REGEX') define(`confENVDEF', `-DSOLARIS=20800 -DNETINET6') define(`confSM_OS_HEADER', `sm_os_sunos') define(`confLIBS', `-lsocket -lnsl') define(`confMTCCOPTS', `-D_REENTRANT') define(`confMTLDOPTS', `-lpthread') define(`confMBINDIR', `/usr/lib') define(`confEBINDIR', `/usr/lib') define(`confSBINGRP', `sys') define(`confINSTALL', `${BUILDBIN}/install.sh') define(`confDEPEND_TYPE', `CC-M') define(`confLIBDIRS', `-L/usr/local/BerkeleyDB.4.1/lib') APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB.4.1/include') PUSHDIVERT(3) sysexits.h: if [ -r /usr/include/sysexits.h ]; \ then \ ln -s /usr/include/sysexits.h; \ fi POPDIVERT #####################################################
セキュリティを高めるため、このサーバーを経由して配信されたメール のヘッダ部分に表示されるバージョン番号(8.13.3/8.13.3)を変える。 もしも自分が使っているバージョンにセキュリティホールが見つかってし まった場合、クラッカーはその情報を元に攻撃を仕掛けてくる可能性があ るので、ソースを少々書き換えて、表示させるバージョンを架空のものに してしまう。 (後のsendmail.cfのDZの書き換えも忘れずに) ディレクトリを移動する。
$ cd /opt/src/sendmail-8.13.3/sendmail-8.13.3/sendmail
version.cをviで開く。
$ vi version.c
最下行(18行目)を以下のように書き換えて保存する。 (" "の中は適当に)
/* ##### 変更前 ##### */ char Version[] = "8.13.3"; /* ##### 変更後例 ##### */ char Version[] = "2008";
ディレクトリを移動する。
$ cd ../
コンパイル
$ /bin/sh ./Build -c -f /opt/src/sendmail-8.13.3/sendmail-8.13.3/devtools/Site/SunOS.5.9.m4
SuperUserになって、マニュアルがインストールされるディレクトリを作っておく。
$ su Password: # mkdir /usr/share/man/cat1 # mkdir /usr/share/man/cat5 # mkdir /usr/share/man/cat8
新しいグループsmmspを作成する。
# groupadd smmsp
新しいユーザーsmmspを作成する。
# useradd -g smmsp -s /bin/false smmsp
新しいディレクトリclientmqueueを作成する。
# mkdir /var/spool/clientmqueue
各バイナリとディレクトリのパーミッションを変更しておく。
# chown root:smmsp /usr/lib/sendmail # chown smmsp:smmsp /var/spool/clientmqueue # chmod 770 /var/spool/clientmqueue
インストールする。
# /bin/sh ./Build install # exit $
dracへの対応。 ディレクトリを移動する。
$ cd /opt/src/sendmail-8.13.3/sendmail-8.13.3/cf/feature/
新規ファイル drac.m4を作成する。
$ vi drac.m4
内容は以下のように記述して保存する。(tabとスペースの違いに注意!)
##################################################### divert(-1) # # drac for sendmail.mc # divert(0) VERSIONID(`drac.m4, for sendmail-8.13.*') divert(-1) define(`_CHECK_BY_DRAC_',`dnl # check by drac R`$'* $: $&{client_addr} R$+ $: $(drac `$'1 $: ? $) R? `$'@ ? R$+ `$'@ `$'#OK') LOCAL_CONFIG Kdrac ifdef(`confDRAC_DBTYPE',confDRAC_DBTYPE,`btree') -a@rej@ -o ifdef(`confDRAC_DB', confDRAC_DB,`/etc/mail/dracd') #####################################################
ディレクトリを移動する。
$ cd /opt/src/sendmail-8.13.3/sendmail-8.13.3/cf/m4/
proto.m4 をviで開く。
$ vi proto.m4
SLocal_check_rcptという行を検索して、以下のようにすぐ下に1行追加記述して保存する。 (8.13.3と8.13.2と8.13.1と8.13.0の場合は1930行目、8.12.11の場合は1884行目、8.12.10の場合は1882行目、 8.12.9の場合は1880行目、8.12.7の場合は1876行目、8.12.5と8.12.4の場合は1871行目だった)
SLocal_check_rcpt ifdef(`_CHECK_BY_DRAC_', _CHECK_BY_DRAC_) # <-新規追加記述行 Scheck`'_U_`'rcpt