simscan で迷惑メールを撃退!その6

By 大山 礼仁

補遺

PostgreSQL のインストールは、省略します。
PostgreSQL の情報誌などを参考にしてください。
/usr/local/pgsql 以下に標準的にインストールされているものと仮定します。

dspam のバージョンですが、
3.6.8 だと、全うに PostgreSQL に接続できなかった
(というか、テーブルが作製できません)
ので、やむなく、dspam-3.8.0 を手直しして使うことにしました。
パッチは、ここです。

まず、tar zxvf dspam-3.8.0.tar.gz で解凍して、
patch -p0 <dspam.patch とパッチを当てます。
cd dspam-3.8.0
./configure --enable-daemon \
--with-storage-driver=pgsql_drv \
--with-pgsql-includes=/usr/local/pgsql/include \
--with-pgsql-libraries=/usr/local/pgsql/lib \
--enable-virtual-users \
--enable-preferences-extension
とやって
make
svc -d /service/dspam
make install
svc -u /service/dspam
これで、dspam-3.8.0 はインストールできた。

なにか、最近は、dspam-3.9.0-BETA4 しか入手出来なくなってしまった。
それで、それ用のパッチも作成しておいた。
3.8.0 を 3.9.0-BETA4 に置き換えて試してもらいたい。

次に、データベースを用意する。
su - postgres
などで、
PostgreSQL 管理ユーザーになって
createuser -s dspam
createdb -O dspam dspam
で、ユーザと DB を作製する。
dspam-3.8.0/src/tools.pgsql_drv
にある、pgsql_objects.sql virtual_users.sql を、カレントディレクトリーにコピーして、
psql -U dspam dspam <pgsql_objects.sql
psql -U dspam dspam <virtual_users.sql
としてテーブルを作成する。
PostgreSQL の管理者を抜ける。
(dspam.conf にパスワードを書くけれども、かえって危ないのでパスワードを
ユーザには、つけずに、localhost から、Trust で接続するほうが良いかも)

次に、/usr/local/etc/dspam.conf を編集する。
(ちなみに、dspam.conf は、なぜか一般ユーザで読み出し可能でないとエラーが・・・・)
(そうそう、PostgreSQL の共有ライブラリーを ldconfig で追加することを忘れずに)
StorageDriver /usr/local/lib/libpgsql_drv.so
とする。
PgSQLServer 127.0.0.1
PgSQLPort 5432
PgSQLUser dspam
PgSQLPass password
PgSQLDb dspam
という行を追加する。
(パスワードは、適当に!なるべくどうでもいいものに)
これで、
svc -t /service/dspam
とやって、
svstat /service/dspam
/service/dspam: up (pid 24951) 26 seconds
と、0 とか、1 seconds になっていなかったら成功。
なっていたら、
/usr/local/bin/dspam --daemon
と、手で打ってエラーを見て対処しよう。

これで、dspam は、見事に PostgreSQL 対応になった。
一時間に数万通送られても平気だろう。

現在、学習が、若干遅いものの、順調です。
これで、本当に、迷惑メールを、撲滅できれば、良いのですが・・・・・・・・・・・・

戻る  トップページへ