- - PR -
qmail 認証とqmailadmin
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-08-09 23:52
はじめまして。
@itや、別の参考サイトを探して、下記のようなセットアップコマンドをまとめてみました。 が、実際にやってみると、エラーとなりできません。 エラー内容:pop3で、認証できず、受信すらできない。 qmailadminにて、cgiが動作する領域に設置しているが、文字化け?っぽい感じで何もできない。 3週間ほど悩み、なんども確認していますが、できません。 あいまいな表現しかできず、もうしわけないですが、よろしければお力をお貸しください。 また、後日qmailでサーバを建てる人の道しるべになればと思います。 ############################################################################################# # qmail メール鯖 # tcpserver アクセス制限 # vpopmail バーチャルドメインでメール鯖 # checkpassword pop3認証 # pbs4q pop before smtp # ezmlm ML # autoresponse ML自動返信 # qmailadmin ML管理ツール ############################################################################################# ############################################################################################# ●パッチとqmail本体wget。 動かすグループ作成 mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias -s /bin/false alias useradd -g nofiles -d /var/qmail -s /bin/false qmaild useradd -g nofiles -d /var/qmail -s /bin/false qmaill useradd -g nofiles -d /var/qmail -s /bin/false qmailp groupadd qmail useradd -g qmail -d /var/qmail -s /bin/false qmailq useradd -g qmail -d /var/qmail -s /bin/false qmailr useradd -g qmail -d /var/qmail -s /bin/false qmails wget http://cr.yp.to/software/qmail-1.03.tar.gz (本体) wget http://cyberam.dip.jp/linux_server/mail/qmail-date-localtime.patch (qmailの生成するヘッダー内の日付をローカルタイムに修正するためのパッチ) wget http://www.ckdhr.com/ckd/qmail-103.patch (DNSに関するUDPパケットが512バイトを超えると処理できなくなるためのパッチ) wget http://qmail.org/qmail-smtpd-relay-reject (不正中継対策のパッチ) パッチ当て、インストール tar xvfz qmail-1.03.tar.gz cd qmail-1.03/ patch -p1 < ../qmail-date-localtime.patch patch -p1 < ../qmail-103.patch patch -p1 < ../qmail-smtpd-relay-reject make setup make check ./config-fast exsample.com コントロールファイル /var/qmail/control ・defaultdomain exsample.com ・locals localhost exsample.com /*ホスト名をDNSにて設定いないため、この二つのみ。 ・rcpthosts localhost exsample.com .exsample.com ・me exsample.com ・plusdomain exsample.com /*vpopで2ドメインする場合はここにもうひとつexsample2.com の設定が必要・・・? セキュリティホール対策(ある攻撃が行なわれるとqmail-smtpdがOSのリソースを使いきってしまうというもの) cd /var/qmail/bin mv qmail-smtpd qmail-smtpd2 vi qmail-smtpd #/bin/sh ulimit -d 1024 exec /var/qmail/bin/qmail-smtpd2 ${1+"$@"} chown root qmail-smtpd chgrp qmail qmail-smtpd chmod 755 qmail-smtpd sendmail停止 /etc/rc.d/init.d/sendmail stop サーバ起動時に起動しないようにする。 mv /etc/rc.d/rc2.d/S80sendmail /etc/rc.d/rc2.d/_S80sendmail mv /etc/rc.d/rc3.d/S80sendmail /etc/rc.d/rc3.d/_S80sendmail mv /etc/rc.d/rc5.d/S80sendmail /etc/rc.d/rc5.d/_S80sendmail sendmailラッパーで置き換え cd /usr/sbin mv sendmail sendmail.dist chmod 0 sendmail.dist ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail qmail起動スクリプdをコピー、実行、Maildir形式に書き換え。 cp /var/qmail/boot/home /var/qmail/rc /var/qmail/rc & vi /var/qmail/rc qmail-start ./Maildir/ splogger qmail ユーザ追加時にMaildir形式になるようひな形追加。 /var/qmail/bin/maildirmake /etc/skel/Maildir psで/var/qmail/rc をkillして ps -aef | grep qmail /var/qmail/rc & ############################################################################################# ●tcpserverをインストール wget ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz tar xvfz ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 make setup check ############################################################################################# ●vpopmailをwget wget http://inter7.com/vpopmail/vpopmail-5.2.1.tar.gz vpopmailを動かすユーザ、グループを作成。 groupadd -g 89 vchkpw useradd -g vchkpw -u 89 vpopmail インストール tar zxvf vpopmail-5.2.1.tar.gz cd vpopmail-5.2.1 ./configure --enable-default-domain=exsample.com --enable-admin-email=root@exsample.com --enable-roaming-users=y --enable-relay-clear-minutes=10 --enable-default-domain=areas.homelinux.net 初期値となるドメインを指定、これを指定するとこのドメインはユーザ名のみでPOPできる (VirtualDomainは通常user@areas.homelinux.netがPOPアカウントになる) --enable-roaming-users=y このオプションでPOP Before SMTPが有効になる --enable-relay-clear-minutes=10 このオプションにより10分間POPで取得したIPを保持しSMTP接続を許可する make make install-strip アクセス制限の設定 cd /home/vpopmail/etc vi tcp.smtp 192.168.1.1-100:allow,RELAYCLIENT="" # ←リレーを許可するIPを記述。 DBを作成 /usr/local/bin/tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp crontab -eで1分おきにDBを更新する。 1 * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null ############################################################################################# ●checkpasswordをwget wget http://cr.yp.to/checkpwd/checkpassword-0.90.tar.gz 解凍 # tar xvfz checkpassword-0.90.tar.gz # cd checkpassword-0.90 インストール先を/usr/local/binに変更する。 # vi conf-home /usr/local # make # make setup check ############################################################################################# ●pbs4qをwget wget http://mambo.kuhp.kyoto-u.ac.jp/~masahiro/pbs4q/pbs4q-0.2.1.tar.gz 解凍 tar xvfz pbs4q-0.2.1.tar.gz cd pbs4q make make install ここでqmaildのidを確認。 id qmaild tcpserver経由のqmail起動ファイルを作成。 /etc/rc.d/init.d/qmail に新規ファイルで作るのが普通です。 #!/bin/sh # # qmail: /var/qmail PATH=/var/qmail/bin:/usr/local/bin:/bin:/usr/bin [ -f /var/qmail/rc ] || exit 0 case "$1" in start) # Start daemons. echo "Starting qmail." csh -cf '/var/qmail/rc &' tcpserver -v -u 511 -g 501 -x /home/vpopmail/etc/tcp.smtp.cdb 0 smtp /usr/local/bin/pbs4q2_smtp /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 & tcpserver -v 0 pop3 /var/qmail/bin/qmail-popup exsample.com /usr/local/bin/checkpassword /usr/local/bin/pbs4q1 /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 & echo touch /var/lock/qmail ;; stop) # Stop daemons. echo "Shutting down qmail." PID=`/bin/ps -aefw | grep qmail | awk '{print $2}'` if [ ! -z "$PID" ] ; then /bin/kill ${PID} 1> /dev/null 2>&1 fi echo rm -f /var/lock/qmail ;; *) echo "Usage: S99qmail {start|stop}" exit 1 esac exit 0 qmailに実行属性をつける。 chmod 755 /etc/rc.d/init.d/qmail それぞれのランレベルで起動されるように、起動スクリプトとリンクを張る。 ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc2.d/S99qmail ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc3.d/S99qmail ln -s /etc/rc.d/init.d/qmail /etc/rc.d/rc5.d/S99qmail ############################################################################################# ●メーリングリスト用プログラムezmlmとパッチをwget。 wget http://cr.yp.to/software/ezmlm-0.53.tar.gz wget http://www.ezmlm.org/archive/0.40/ezmlm-idx-0.40.tar.gz パッチあてとインストール tar xvzf ezmlm-0.53.tar.gz tar xvzf ezmlm-idx-0.40.tar.gz ezmlm-idxをezmlmディレクトリに移してパッチを当て、makeします。 移動の際に同じファイル名のものがでますが全部上書きして構わないようです。 mv ezmlm-idx-0.40/* ezmlm-0.53/ cd ezmlm-0.53 patch < idx.patch make clean make 自動応答メッセージなどのファイルを日本語のものにしてインストール。 cp ezmlmrc.jp ezmlmrc make setup ############################################################################################# ●自動応答用プログラムautoresponseをwget。 wget http://inter7.com/devel/autorespond-2.0.2.tar.gz 解凍、インストール、設定。 tar zxvf autorespond-2.0.2.tar.gz cd autorespond-2.0.2 gcc -O2 -o autorespond autorespond.c strip autorespond cp autorespond /usr/local/bin/ chown root.root /usr/local/bin/autorespond chmod 555 /usr/local/bin/autorespond ############################################################################################# ●管理ツールのqmailadminをwget wget http://inter7.com/qmailadmin/qmailadmin-1.0.6.tar.gz tar zxvf qmailadmin-1.0.6.tar.gz cd qmailadmin-1.0.6 ./configure --enable-htmldir=/home/vpopmail/public_html --enable-cgibindir=/home/vpopmail/public_html/cgi-bin --enable-cgipath=/cgi-bin/qmailadmin enable-htmldir でApacheのDocumentRootと同じ場所を指定(例:/home/wwwroot) enable-cgibindir でApacheのcgi-binの場所を指定(例:usr/local/apache/cgi-bin) enable-cgipath は/cgi-bin/qmailadminのままで普通は問題が無い ApacheでExecCGIを忘れずに、そうしないとCGIが稼動しません。 make make install-strip ############################################################################################# ●WebMailソフトSqWebMail ./configure --enable-mimecharset=iso-2022-jp --enable-unicode=iso-2022-jp --enable-imagedir=/home/image --enable-cgibindir=/home --enable-imageurl=/image --enable-draftname=Draft --disable-autorenamesent | ||||
|
投稿日時: 2006-08-10 00:04
何をしたくて以下の手順、環境を構築したのか分からないと何が正しくて
何が抜けているのか、が他人にはわからないとおもいますが、どうでしょう。 また、目的が違えば手段も異なりますので、そちらが明確にならないと、 他の人の参考、というのは難しいと思われます。 | ||||
|
投稿日時: 2006-08-10 00:07
qmailはもう人に勧められるようなものではありませんし、新規にインストールすべきではないと思います。 参考: http://ya.maya.st/d/200602c.html#s20060225_1 | ||||
|
投稿日時: 2006-08-10 00:27
せん様、スフレ様 返信ありがとうございます。
メールサーバ構築が目標です。 構築する際に、MLと複数ドメイン管理とGUIで簡単に管理、不正中継防止ができればと思います。 qmailの参考記事、ありがとうございます。 一読してみました。 qmailは構築参考サイトを見る限りですと、堅牢だという評価?が多数あったため、今回qmailで構築しようと思っていました。 MLと複数ドメイン管理とGUIで簡単に管理、不正中継防止 ができ、お勧めの物がありましたら、ご教授いただければと思います。(ソフト名など) (構築方法は調べて、試して、できなかったらその時質問しにきます><;; 以上、よろしくお願いします。 | ||||
|
投稿日時: 2006-08-10 09:14
おはようございます。
いろんなことをいっぺんにやろうとして、結果的に出来ない、 ということになっている方を、よくみかけます。 1つずつ構築していったらどうでしょう? まずは UNIX アカウントでのシンプルな qmail 環境の構築まで出来ているか、など。 提示されている内容をみると、ミドルウェアの構築だけで、 どうやってドメイン追加しているかなどがわからないので、 そこら辺で手順間違えているとか?設定ファイル足りない? という、曖昧な回答しか出来ないような。。。 # 今からだと qmail よりも postfix だったりなんでしょうね。 # 私も qmail 卒業したいなぁ。。。 | ||||
|
投稿日時: 2006-08-10 10:18
pop3ですけどこの内容から判断するのは難しいでしょうねぇ。 ログとか見てます? どうやってテストしました? POP before SMTP使わない場合は試しました? まず、切り分けしないとどうにもならないのでは? apache?の設定とかも全然分かりませんからcgiの動作がうんぬんって言われても 書いてある内容からじゃ分かりませんよ。 あとは感想など。。。 ざっと見ましたけどこれは古いRedHat前提ですか? 最近のディストリビューションであればこのままやってもまずコンパイルすら通らないので 今の時期にまとめたものとしてはう〜んって感じなんですが。 有名なerrnoがらみもそうですが、ezmlmなんてlog関数がlibm(math.h)の log(3)とぶつかったりしますけど。 あとは、デーモン用のユーザとか作るときはuseraddに-Mオプションは使いませんか? 内容的にはchkconfigありきのシステムっぽいですがsendmail止めるなら # chkconfig sendmail off が一般的であってシンボリックリンクをmvするってのはスマートではないのでは? なので制御スクリプトもchkconfigの作法に則って作成して # chkconfig --add qmail とかするのがスマートかと思いますが如何でしょう? http://blog.unknown.jp/mt/archives/000243.html ちなみに所々example.com以外のドメインが記載されていますがそれは分かってて書いているんですよね? _________________ 桃李不言 下自成蹊 | ||||
|
投稿日時: 2006-08-10 12:56
vpopmail使うのに何でcheckpasswordを入れたのかがよく判らないのですが。
imap使うとか、その他何かしら特別な理由が無い限り、通常vpopmailを 使う際のPOPの認証はvchkpwで行なうものだと思いますよ。 POP before SMTPもvpopmailで対応してますし。 いろいろなサイトを参考にしすぎて、余計に混乱してるような気がします。 あれもこれも全部取り入れれば良いという訳でもありませんので、 もう一度自分が必要な機能の洗い出しと、それを満たすソフトの選定を やり直してみてはいかがでしょう? |
1