RedHatサーバインストール
tcpserver0.88インストール
インストール準備
ソースファイルの準備
tcpserveで必要なファイルを準備する。
- ucspi-tcp-0.88.tar.gz ※ダウンロード先:http://www.emaillab.org/djb/tools/ucspi-tcp/install.html
コンパイル環境の確認(Solarisの場合のみ)
ccが/usr/ucb/ccを参照するためコンパイルできない。そのため標準でインストールされるgccを使用できるようにする。
# mv /usr/ucb/cc /usr/ucb/cc.org
# ln -s /opt/sfw/bin/gcc /usr/ucb/cc
後、コンパイル環境のPATH2つ(/usr/ucb、/usr/ccs/bin)が設定されているか確認し、設定されていな場合PATHを設定する。
# PATH=$PATH:/usr/ccs/bin:/usr/ucb
# export PATH
インストール tcpserver
ファイルの展開
ダウンロードした各種ファイルを作業ディレクトリにコピーし展開する。
例:/usr/local/SOURCES
$ cd /usr/local/SOURCES
$ tar zxvf ucspi-tcp-0.88.tar.gz
コンパイル
展開したディレクトリでコンパイルする。
$ cd ucspi-tcp-0.88
# make
# make setup check
コンパイルが成功した場合、各ファイルは"/usr/local/bin"以下にインストールされる。
環境設定
tcpserverを環境に合うファイルを設定する。尚、tcpserverのルールファイルは、ディレクトリー"/etc/tcpserver"に置く。
# mkdir /etc/tcpserver
# cd /etc/tcpserver
qmailのqmai-smtp用の設定ファイルを作成する。
# vi smtprule.txt
127.0.0.1:allow,RELAYCLIENT=""
192.168.1.:allow,RELAYCLIENT=""
#
:allow
qmai-smtp用のDBファイルを作成する。
# /usr/local/bin/tcprules smtprule.db smtprule.tmp < smtprule.txt
qmailのqmail-pop3d用の設定ファイルを作成する。
# vi poprule.txt
127.0.0.1:allow
192.168.1.:allow
#
:deny
qmail-pop3d用のDBファイルを作成する。
# /usr/local/bin/tcprules poprule.db poprule.tmp < poprule.txt
起動スクリプトの設定
qmail-smtpdでの対応
qmailで作成した、/etc/rc.d/init.d/qmaildのstartの部に追加する。
# vi /etc/rc.d/init.d/qmaild
echo -n $"Start Up qmail-smtpd: "
/usr/local/bin/tcpserver -x /etc/tcpserver/smtprule.db -v -u [qmaild UID] -g [nofiles GID] 0 smtp \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
/etc/rc.d/init.d/qmaildのstopの部に追加する。
# vi /etc/rc.d/init.d/qmaild
killproc qmail-send
qmail-pop3dでの対応
qmailで作成した、/etc/rc.d/init.d/qmaildのstartの部に追加する。
# vi /etc/rc.d/init.d/qmaild
echo -n $"Start Up qmail-pop3: "
/usr/local/bin/tcpserver -x /etc/tcpserver/poprule.db 0 pop3 /var/qmail/bin/qmail-popup mail.sindbad.ne.jp \
/bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir &
POP befor SMTP環境インストール
インストール準備
ソースファイルの準備
POP befor SMTP環境で必要なファイルを準備する。
- daemontools-0.76.tar.gz ※ダウンロード先:http://cr.yp.to/daemontools/install.html
- relay-ctrl-3.1.1.tar.gz ※ダウンロード先:http://untroubled.org/relay-ctrl/
コンパイル環境の確認(Solarisの場合のみ)
ccが/usr/ucb/ccを参照するためコンパイルできない。そのため標準でインストールされるgccを使用できるようにする。
# mv /usr/ucb/cc /usr/ucb/cc.org
# ln -s /opt/sfw/bin/gcc /usr/ucb/cc
後、コンパイル環境のPATH2つ(/usr/ucb、/usr/ccs/bin)が設定されているか確認し、設定されていな場合PATHを設定する。
# PATH=$PATH:/usr/ccs/bin:/usr/ucb
# export PATH
インストール daemontools
ファイルの展開
ダウンロードした各種ファイルをディレクトリにコピーし展開する。
※なお、解凍した場合そのディレクトリに"admin"が作られ、以下にプログラムがインストールされる。
また、"/command/"が作られ、以下にリンクが作成される。
例:/usr/local
# cd /usr/local
# tar zxvf daemontools-0.76.tar.gz
コンパイル daemontools
展開したディレクトリでコンパイルする。
# cd admin/daemontools-0.76
# ./package/install
コンパイルが成功した場合、各ファイルは"/usr/local/admin/"以下にインストールされ、"/command"にシンボルリンクされる。
# /command/envdir -> /usr/local/admin/daemontools/command/envdir
# /usr/local/admin/daemontools -> daemontools-0.76
インストール relay-ctrl
ファイルの展開
ダウンロードした各種ファイルをディレクトリにコピーし展開する。
例:/usr/local/SOUIRCE
# cd /usr/local/SOUIRCE
# tar zxvf relay-ctrl-3.1.1.tar.gz
※Solaris環境の場合、ソースを修正する必要があります。
conf-ld
修正:gcc -s -lsocket -lnsl ※"-lsocket -lnsl"を追加
relay-ctrl-send.c
修正:/* #include "fork.h" */ ※"#include "fork.h"をコメント
コンパイル relay-ctrl
展開したディレクトリでコンパイルする。
# cd relay-ctrl-3.1.1
# make
# ./installer
コンパイルが成功した場合、各ファイルは"/usr/local/bin/"以下にインストールされる。
環境設定
relay-ctrlによるアクセス許可の一時ファイルを配置するディレクトリの作成を行う。
# mkdir /var/spool/relay-ctrl/allow
# chmod 700 /var/spool/relay-ctrl
# chmod 777 /var/spool/relay-ctrl/allow
relay-ctrlによる設定ファイルを配置するディレクトリの作成を行う。
# mkdir /etc/relay-ctrl
relay-ctrlの設定ファイルを作成する。
# echo "/var/spool/relay-ctrl/allow" > /etc/relay-ctrl/RELAY_CTRL_DIR
※アクセス許可の一時ファイルを配置するディレクトリ
# echo "900" > /etc/relay-ctrl/RELAY_CTRL_EXPIRY
※アクセス許可の時間
relay-ctrlのアクセス許可の期限処理を"cron"に追加する。
# crontab -e
* * * * * /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-age
起動スクリプトの再設定
qmail-smtpdのPOP befor SMTP対応
# vi /etc/rc.d/init.d/qmaild
echo -n $"Start Up qmail-smtpd: "
/command/envdir /etc/relay-ctrl \
/usr/local/bin/relay-ctrl-chdir \
/usr/local/bin/tcpserver -x /etc/tcpserver/smtprule.db -v -u [qmaild UID] -g [nofiles GID] 0 SMTP \
/usr/local/bin/relay-ctrl-check \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
qmail-pop3dのPOP befor SMTP対応
# vi /etc/rc.d/init.d/qmaild
echo -n $"Start Up qmail-pop3: "
/usr/local/bin/envdir /etc/relay-ctrl \
/usr/local/bin/relay-ctrl-chdir \
/usr/local/bin/tcpserver -x /etc/tcpserver/poprule.db 0 pop3 /var/qmail/bin/qmail-popup mail.sindbad.ne.jp \
/bin/checkpassword \
/usr/local/bin/relay-ctrl-allow \
/var/qmail/bin/qmail-pop3d Maildir &
SPAM対応
受信拒否リストによる対応
受信拒否リストを作成する。
# vi /var/qmail//var/qmail/control/badmailfrom
xxxx@xxx.com ※メールアドレス指定
@xxx.com ※ドメイン指定
MAPS RBLによる対応
ucspi-tcp-0.88に含まれる、rblsmtpdを用いる。
設定方法:/usr/local/bin/rblsmtpd -r [参照先サーバ]
# vi /etc/rc.d/init.d/qmaild
echo -n $"Start Up qmail-smtpd: "
/command/envdir /etc/relay-ctrl \
/usr/local/bin/relay-ctrl-chdir \
/usr/local/bin/tcpserver -x /etc/tcpserver/smtprule.db -v -u [qmaild UID] -g [nofiles GID] 0 SMTP \
/usr/local/bin/rblsmtpd -r relays.ordb.org -r all.rbl.jp -r bl.spamcop.net -r sbl-xbl.spamhaus.org -r list.dsbl.org \
/usr/local/bin/relay-ctrl-check \
/var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &