#contents *必要なファイル [#db611fad] [[qmail-1.03.tar.gz:http://cr.yp.to/qmail.html]]~ &ref(qmail-date-localtime.patch);~ [[ucspi-tcp-0.88.tzr.gz:http://cr.yp.to/ucspi-tcp/install.html]]~ [[vpopmail-5.4.13.tar.gz:http://sourceforge.net/projects/vpopmail/]]~ [[autorespond-2.0.4.tar.gz:http://sourceforge.net/projects/qmailadmin/]]~ [[ezmlm-0.53.tar.gz:http://mlm.qmail.jp/ezmlm/]]~ [[ezmlm-idx-0.40.tar.gz:http://mlm.qmail.jp/idx/]]~ &ref(ezmlm-idx-0.53.400.unified_41.patch);~ [[qmailadmin-1.2.9.tar.gz:http://sourceforge.net/projects/qmailadmin/]] 他エラー対策パッチ~ &ref(qmail-1.03.errno.patch);~ &ref(ucspi-tcp-0.88.errno.patch); *グループ・ユーザーの作成 [#t6b1a2ef] # mkdir /var/qmail # /usr/sbin/groupadd nofiles # /usr/sbin/useradd -g nofiles -d /var/qmail/alias alias # /usr/sbin/useradd -g nofiles -d /var/qmail qmaild # /usr/sbin/useradd -g nofiles -d /var/qmail qmaill # /usr/sbin/useradd -g nofiles -d /var/qmail qmailp # /usr/sbin/groupadd qmail # /usr/sbin/useradd -g qmail -d /var/qmail qmailq # /usr/sbin/useradd -g qmail -d /var/qmail qmailr # /usr/sbin/useradd -g qmail -d /var/qmail qmails qmaild, qmaill, qmailp, qmailq, qmailr, qmailsユーザーはログインできないように/etc/passwdの/bin/bashを/bin/falseへ変更 *qmailインストール [#e02a16ad] # tar xvfz qmail-1.03.tar.gz # cd qmail-1.03 # patch < ../qmail-date-localtime.patch # patch < ../qmail-1.03.errno.patch # make # make setup check # ./config # ./config-fast ドメイン名 # cp /var/qmail/boot/home /var/qmail/rc # vi /var/qmail/rc ./Mailbox の部分を ./Maildir/ &color(red){(←最後のスラッシュが重要)}; *sendmail削除 [#f2794ffe] 入っていれば依存関連パッケージも含めて削除 # rpm -qa | grep sendmail # rpm -e sendmail-8.13.1-2 # ln -s /var/qmail/bin/sendmail /usr/lib/sendmail # ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail *tcpserverインストール [#p43a1a81] # cd .. # tar xvfz ucspi-tcp-0.88.tar.gz # cd ucspi-tcp-0.88 # patch < ../ucspi-tcp-0.88.errno.patch # make # make setup check *ezmlm-idxインストール [#n07949b5] # cd .. # tar xvzf ezmlm-0.53.tar.gz # tar xvzf ezmlm-idx-0.40.tar.gz # mv ezmlm-0.53/issub.c ezmlm-0.53/issub.bak # mv ezmlm-0.53/subscribe.c ezmlm-0.53/subscribe.bak # mv -f ezmlm-idx-0.40/* ezmlm-0.53 # cd ezmlm-0.53 # patch < idx.patch # patch < ../ezmlm-idx-0.53.400.unified_41.patch # make clean # make # make man # cp ezmlmrc.jp ezmlmrc # make setup このままだとメーリングリストは運営できないらしい *autorespondインストール [#effd150c] # cd .. # tar xvzf autorespond-2.0.4.tar.gz # cd autorespond-2.0.4 autorespondをコンパイルする前にautorespond.cの265行目に次の1行を挿入してからコンパイル。 265# fprintf(fdm,"Content-Type: text/plain; charset=\"ISO-2022-JP\"\n" ); 266# mfp = fopen( msg, "rb" ); # gcc -Wall -o autorespond autorespond.c # cp autorespond /var/qmail/bin/ *vpopmailインストール [#r6b1ed8e] # /usr/sbin/groupadd vchkpw # /usr/sbin/useradd -g vchkpw vpopmail ログインできないように /etc/passwd を編集 # cd .. # tar xvzf vpopmail-5.4.13.tar.gz # cd vpopmail-5.4.13 ~--enable-roaming-users : POP before SMTP機能を使用~ 1文字のアカウントを作る場合はソースを書き換える必要がある(弊害あるかも) # ./configure --enable-roaming-users=y # make # make install-strip *cronの設定 [#ad0649f4] vpopmailがsmtp用に許可したIPを毎時30分に定期的に掃除するように設定 # crontab -e # 30 * * * * /home/vpopmail/bin/clearopensmtp *qmailadminインストール [#bbda73c4] # cd .. # tar xvzf qmailadmin-1.2.9.tar.gz # cd qmailadmin-1.2.9 # ./configure --enable-htmldir=/usr/local/apache2/htdocs --enable-cgibindir=/usr/local/apache2/cgi-bin # make clean # make # make install-strip /usr/local/share/qmailadmin/lang/ja ファイルの先頭の行をiso-2022-jpに変更し、JISコードに変換 # cd /usr/local/share/qmailadmin/lang # lv -Oj ja > ja.jis # mv ja.jis ja *ドメイン追加 [#bf64e317] example.com部分は設定するドメインを指定 # cd /home/vpopmail/bin # ./vadddomain example.com Please enter password for postmaster: **** enter password again: **** 別のドメインをエリアスとして使用する場合は # ./vaddaliasdomain example-alias.com example.com *容量制限 [#ib745de4] 特定のメールドレスを5MBに制限する場合 # /home/vpopmail/bin/vsetuserquota メールアドレス 5m ドメイン全体で5MBに制限する場合 # /home/vpopmail/bin/vsetuserquota ドメイン 5m 制限をはずす場合 # /home/vpopmail/bin/vsetuserquota メールアドレス noquota *起動スクリプト作成 [#a20e1246] # vi /etc/rc.d/init.d/qmaild #!/bin/sh # # Startup script for the Qmail&VPopmail # # chkconfig: 345 85 15 # description: QMAIL # processname: qmaild # pidfile: /var/run/qmaild.pid # Source function library. . /etc/rc.d/init.d/functions # See how we were called. case "$1" in start) echo -n "Starting qmaild: " /usr/local/bin/tcpserver -H -R -x /home/vpopmail/etc/tcp.smtp.cdb \ -c 100 -u qmaild -g nofiles 0 smtp \ /var/qmail/bin/qmail-smtpd 2>&1 \ | /var/qmail/bin/splogger smtpd & /usr/local/bin/tcpserver -H -R -l0 0 110 \ /var/qmail/bin/qmail-popup example.com \ /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1 \ | /var/qmail/bin/splogger pop3d & /var/qmail/rc & echo touch /var/lock/subsys/qmaild ;; stop) echo -n "Shutting down qmail: " kill $(/sbin/pidof tcpserver) kill $(/sbin/pidof qmail-send) echo rm -f /var/lock/subsys/qmaild ;; restart) $0 stop $0 start ;; *) echo "Usage: $0 {start|stop|restart}" exit 1 esac exit 0 # chmod 755 /etc/rc.d/init.d/qmaild # /sbin/chkconfig --add qmaild qmailだけの場合と違って tcp.smtp.cdb の場所は /etc/tcp.smtp.cdb ではなくて /home/vpopmail/etc/tcp.smtp.cdb になるので注意~ 起動時に /usr/local/bin/tcpserver -H -R -x /etc/tcp.smtp.cdb とやってしまうと 553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)~ などと怒られてしまうので注意(私はこれに気が付かずにはまりました 画像が見えるようにhttpd.confにAlias設定 Alias /images/qmailadmin/ "/usr/local/apache2/htdocs/images/qmailadmin/" http://example.com/cgi-bin/qmailadmin にアクセスして管理する *クライアントソフト設定 [#y9e905d5] ユーザーID : 作成アカウント%example.com &color(red){(% をつけるところに注意)}; 送信は受信後にしかできないので注意 #exlink