qmail+vpopmail 入れるのにこんなに苦労するとは…!!

まず始めに

メール受信はなんとかできていたのですが、どうしてもメール送信が出来ませんでした。ポート587にしても、pop before SMTPにチェックを入れてもダメでした。結果的にインストールがダメダメってことだった様です。
553 sorry, that domain isn’t in my list of allowed rcpthosts (#5.7.1) 」この様にエラーが表示されていました。
私と同じ現象だと思っていた以下のリンク先ですが、
qmail+vpopmailでopen-smtpファイルが作成されない - Linux Square - @IT
私の方ではopen-smtpファイルは作成されており、それでもとエラーを吐き出します。
それでも、3回ぐらいインストールしなおしたのですが…^^;
と、ここまで書いてて、色々実験してたらうまくいきました!上手く行った流れは以下のとおり。

更に始めに。

参考サイトを見ながらインストールをしていましたが、色々と障害が出てしまったので自分の為にまとめておく。まず、参考サイトで利用しているqmailやvpopmailのバージョンによって、多少、直さないといけない部分も出てきたりする模様。


参考にしたサイト。
それ行けLinux~qmail/vpopmail~
今回インストールしたバージョン

  • qmail-1.03.tar.gz
  • vpopmail-5.4.33.tar.gz
  • ucspi-tcp-0.88.tar.gz

参考サイトと見比べるとバージョンが違うのが分かる。ううむ。
参考サイトと違う所だけを書く。

[1]ソースコードのダウンロードについて

ダウンロード先がリンク切れなので、ぐぐって探すw

[2]サービス用ユーザー作成について

このまま作成したら良い。
メモ:グループ一覧を見るためには「/etc/group」を参照する。ユーザ一覧は「/etc/passwd」を参照する。間違ってグループを登録してしまった場合は、「groupdel xxx」で削除できる。ただし、グループを指定してuseraddされている場合は削除できないので、事前に「userdel yyy」で、関連ユーザーを削除しておく。

[3]qmailのmake及びインストールについて

記載通りに進めると

patch -p1 < ../qmail-smtpd-relay-reject

を行うときにエラーとなってしまう。error.hを編集しておく必要があるそうだ。

vi error.h でファイルを開き、
extern int errno;  ⇒ #include<errno.h>
と変更して保存する。

再度上記の行を実行する。※もしかしたら -p1 じゃなくて -p0 の場合もある??
一度「make setup check」をしてinstallファイルが作られたら、再度「make setup check」をしてもファイルが上書きされません。(上書きさせるためには何か方法があるのでしょうか)作り直しする場合は、リネームしてから、ファイルの解凍からやり直して下さい。

[4]設定ファイルの編集について

問題ないのでそのまま。

[5]tcpserverのインストールについて

[3]と同じようにerror.h関連でエラーとなってしまいます。あと、行を足す必要があるらしいので、「ucspi-tcp-0.88.errno.patch」というファイルをぐぐってパッチを当てて下さい。

cd ucspi-tcp-0.88/
patch -p1 < ../ucspi-tcp-0.88.errno.patch

こんな感じで実行して下さい。そうすれば「make setup check」できます。

[6]vpopmailのmake及びインストールについて

./configure –enable-roaming-users=y –enable-relay-clear-minutes=10 –enable-tcpserver-file=/home/vpopmail/etc/tcp.smtp –enable-default-domain=ryouto.jp –enable-logging=y

という行がありますが、このままでは正常に進めない模様です。default-domainは書いているとエラーになるようなので、消しておきます。「–enable-tcpserver-file」という文字は「–enable-tcpserver-path」とするそうです?

./configure –enable-roaming-users=y –enable-relay-clear-minutes=10 –enable-tcpserver-path=/home/vpopmail/etc/tcp.smtp –enable-logging=y

成功すると以下のように表示されるはずです。

vpopmail 5.4.33
Current settings
—————————————
vpopmail directory = /home/vpopmail
domains directory = /home/vpopmail/domains
uid = 721
gid = 721
roaming users = ON –enable-roaming-users
tcpserver file = /etc/tcp.smtp
open_smtp file = /home/vpopmail/etc/open-smtp
rebuild tcpserver file = ON –enable-rebuild-tcpserver-file (default)
password learning = OFF –disable-learn-passwords (default)
md5 passwords = ON –enable-md5-passwords (default)
file locking = ON –enable-file-locking (default)
vdelivermail fsync = OFF –disable-file-sync (default)
make seekable = ON –enable-make-seekable (default)
clear passwd = ON –enable-clear-passwd (default)
user dir hashing = ON –enable-users-big-dir (default)
address extensions = OFF –disable-qmail-ext (default)
ip alias = OFF –disable-ip-alias-domains (default)
onchange script = OFF –disable-onchange-script (default)
domain quotas = OFF –disable-domainquotas (default)
auth module = cdb –enable-auth-module=cdb (default)
auth inc = -Icdb
auth lib =
system passwords = OFF –disable-passwd (default)
pop syslog = show successful and failed login attempts –enable-logging=y
auth logging = ON –enable-auth-logging (default)
spamassassin = OFF –disable-spamassassin (default)
maildrop = OFF –disable-maildrop (default)

[7]POP before SMTPについて

上の表示例では「tcpserver file = /etc/tcp.smtp」と書いてますが、一般的?には「tcpserver file = /home/vpopmail/etc/tcp.smtp」って書かれるかと思います。
[7]で説明しているpathを上記で表示されたpathに変更してやりましょう。つまり私の場合は

tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp

ではなく、

tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

としました。

[8]仮想ドメイン(virtual domain)、仮想ユーザー(virtual user)の作成について

問題ないのでそのまま。

[9]起動スクリプトの作成について

友人からいただいていたスクリプトがあったのでそれを利用していました。よくよく中を見ると、「tcpserver」のpathが「/home/vpopmail/etc/tcp.smtp.cdb」となっていました。このpathも「/etc/tcp.smtp.cdb」に書き換えて実行してます。

なんてことでしょう…

やっとでうまくいきました。再インストールすること3回ぐらい。いやぁ、すごい時間を消費しました…。でも次からはサラッっと進めそうな気がします。
オワタ\(^o^)/


投稿日

カテゴリー:

,

投稿者:

タグ:

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です