qmailサーバー構築

PostfixがCentOSには入っています。僕は最初Postfixの方でメールサーバーを構築していました。しかし複数ドメインのやり方がわかりませんでした。そこで知人に聞いたらqmailを使用していると聞きました。qmailと名前は以前会社で聞いたことあったのと実際に使った事あるので驚きはしませんでしたが、簡単にインストールできたり設定が楽とききました。そこでqmailの導入を決定しました。
qmailって何?
qmailはsendmailの後に作られたものです。現在では開発は終わっているのですがセキュリティーの高さと設定のしやすから愛用している人がおおいパッケージの一つです。実際参考サイトは沢山あるのでインストールするときはその参考サイトを閲覧してそのまま試しました。
参考サイト:メールサーバー構築(qmail+Courier-IMAP)
バーチャルドメイン設定(vpopmail)
qmail導入のメリット
qmailを導入すると、ドメイン毎にメールユーザーを作成して運用するといったバーチャルドメインでの管理が比較的楽になります。また、WEBブラウザでユーザーの追加、削除ができるようになりとても便利です。
qmailのデメリット
qmailのデメリットとしては、まず参考サイトに貼ってあるリンクの殆どがリンク切れが多くファイルのダウンロードするのに探さないといけないというのがあります。実際に自分がインストールするときにファイル名を入力してダウンロードできるファイルを探すことから始めました。
今回僕が参考サイトで得ることができなかったのですが集めたファイルのURLを貼っておこうと思います。
- qmail本体
- ftp://ftp.eu.uu.net/pub/unix/mail/qmail/qmail-1.03.tar.gz
- localtime
- http://www.filewatcher.com/m/qmail-date-localtime.patch.gz.741.0.0.html
- SMTP
- http://tomclegg.net/qmail/qmail-smtpd-auth-0.31.tar.gz
- 不正中継対応拒否
- http://www.qmail.org/qmail-smtpd-relay-reject
qmailadminの導入
qmailadminを導入してみました。ここからバーチャルドメインでのユーザーを追加したりメーリングリストを作成したりできます。
参考サイト
メール サーバー構築(qmail+Courier-IMAP)
バーチャルドメイン設定(vpopmail)
追記:メールクライアントから送信サーバーに接続できない
クライアントのメールソフトの設定をしていたら、受信メールに接続できるけど送信サーバーに接続できないという現象が起きました。これはプロバイダが導入している『Outbound Port25 Blocking』が原因で25番ポートが遮断されています。この問題はqmailのSMTPをサブミッションに変更することで問題解決できるみたいです。
サブミッションポートの設定
ポート:587の設定があるかを確認します。
[sourcecode language="plain"]
less /etc/services
------
submission 587/tcp msa # mail message submission
submission 587/udp msa # mail message submission
------
[/sourcecode]
qmailの設定ファイルを変更しサブミッションポートの有効化
[sourcecode language="plain"]
vi /etc/init.d/qmaild
-----------
# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
-----------
↓
-----------
# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 submission \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
-----------
[/sourcecode]
ファイルの中身は人によって違うと思います。
終わったらqmailを再起動します
メールクライアントベッキーの設定
僕はベッキーを使っているのですが、ポートを587に変更するだけではなくCRAM-MD5のチェックを外してください。これで送れるようになります。
ローカルドメインは受信できない
ローカルドメイン同士も送受信できない場合は、以下の設定を見直してください
[sourcecode language="plain"]
/var/qmail/control
cat locals
[/sourcecode]
この中にもしドメイン名やdnsが入っているなら削除して、『localhost』にしましょう。ここにドメイン名をいれるとローカル同士でのメールも送受信できなくなります。
引用元:qmailメモ
ローカル同士のメールの送受信はできるけど外部からのメールが受信できない
今回一番時間がかかったのはこの部分だと思います。同じサーバー同士はメールのやりとりはできるのですが外部からのメール(Gmail・Yahoomail)といったとこからメールの受信ができなくなりました。これはサブミッションポートの設定をしてsmtpを外したからおきました。そこでSMTPとサブミッションポートを以下の用に設定したら解決しました
[sourcecode language="plain"]
/etc/init.d/qmail
# SMTP
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp rblsmtpd -r relays.ordb.org \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
# SMTP→サブミッションへ変更
tcpserver -qv -l0 -HR -u `id -u vpopmail` -g `id -g vpopmail` \
-x /home/vpopmail/etc/tcp.smtp.cdb 0 submission rblsmtpd -r relays.ordb.org \
qmail-smtpd `hostname` /home/vpopmail/bin/vchkpw /bin/true 2>&1|\
splogger smtp &
[/sourcecode]
両方を有効化することで僕の場合は解決しました。
まとめ
今回問題点はこれだけではなくて、MLを作成したけども上手くいかなかったなど色々ありました。この内容は更新したりしてちょっとわかりづらいというとこがあると思うので新しく記事を書いて問題点をまとめてそこまでの解決の道のりを載せていきたいと思います。
追記:qmailサーバー構築における問題点
今回インストールしたqmailの問題点を追記しました。
この記事に関する技術サポート・ご相談
「手順通りにいかない」「自社環境への構築を代行してほしい」など、
インフラ・サーバー周りでハマった際はお気軽にご相談ください。
※ Googleフォームへ移動します(初回相談無料)
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS
