bmuht_gpj.76252_a9753dd0257efecf683ccbc63f641a2a/6/8/6002/daolpu/enilnoavh/052.831.141.302//:ptth
Cài đặt nhanh và cấu hình Qmail + APOP
Bài viết này dành cho những bạn reinstall qmail và các thiết bị quản lý qmail .
thực hiện theo quá trình trong bài viết bạn có thể sử dụng được Qmail + APOP nhanh chóng mà không cần phải đi kiếm link hoặc các patch và đọc documents . tuy nhiên ý nghĩa của từng chương trình và lệnh sẽ không có dính kèm giải thích nào . nếu bạn chưa cài đặt qmail lần nào xin đọc bài viết "Qmail as a Mail Gateway" để biết thêm chi tiếc và cơ cấu cu. thể của qmail tại các link sau .
------------------------------
Phần 1 : http://www.vnhacker.org/hvaonline/posts/list/119.html
Phần 2 : http://www.vnhacker.org/hvaonline/posts/list/120.html
Phần 3 : http://www.vnhacker.org/hvaonline/posts/list/121.html
Phần 4 : http://www.vnhacker.org/hvaonline/posts/list/122.html
1. Qmail
ftp://ftp.jp.qmail.org/qmail/qmail-1.03.tar.gz
2. Tcpserver
ftp://ftp.jp.qmail.org/qmail/ucspi-tcp-0.88.tar.gz
3. Patch files
http://www.qmail.org/rpms/
4. daemontools
http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
5. checkpw
http://checkpw.sourceforge.net/checkpw/
6. checkpassword-0.90.tar.gz
http://cr.yp.to/checkpwd/install.html
Tạo các user cần thiết cho qmail
[root ]# mkdir /var/qmail
[root ]# groupadd -g 710 nofiles
[root ]# useradd -M -u 710 -g nofiles -s /bin/false -d /var/qmail/alias alias
[root ]# useradd -M -u 711 -g nofiles -s /bin/false -d /var/qmail qmaild
[root ]# useradd -M -u 712 -g nofiles -s /bin/false -d /var/qmail qmaill
[root]# useradd -M -u 713 -g nofiles -s /bin/false -d /var/qmail qmailp
[root ]# groupadd -g 711 qmail
[root ]# useradd -M -u 714 -g qmail -s /bin/false -d /var/qmail qmailq
[root ]# useradd -M -u 715 -g qmail -s /bin/false -d /var/qmail qmailr
[root ]# useradd -M -u 716 -g qmail -s /bin/false -d /var/qmail qmails
Compile and patch qmail
[root src]# tar zxvf qmail-1.03.tar.gz
[root src]# cd qmail-1.03
[root src]# wget http://www.qmail.org/rpms/patches/qmail-1.03.errno.patch
[root src]# wget http://www.qmail.org/qmail-smtpd-relay-reject
[root qmail-1.03]# patch -p1 < ../checkpw-1.00/qmail-popup-auth.patch
[root qmail-1.03]# patch -p1 < ../qmail-smtpd-relay-reject
[root qmail-1.03]# patch -p1 < ../qmail-1.03.errno.patch
[root qmail-1.03]# make setup check
[root qmail-1.03]# ./config-fast mail.example.jp
Qmail configuration
File : /var/qmail/control/locals
Code:
localhost (add)
mail.example.jp
example.jp (add)
File : /var/qmail/control/rcpthosts
Code:
localhost (add)
mail.example.jp
example.jp (add)
Tạo alias cho root
[root]# cd /var/qmail/alias
[root]# touch .qmail-postmaster .qmail-mailer-daemon .qmail-root
[root]# chmod 644 .qmail*
Chỉnh sửa Mailbox thành Maildir
[root]#cp /var/qmail/boot/home /var/qmail/rc
[root]#cat /var/qmail/rc
qmail-start ./Maildir/ splogger qmail
Tạo Maildir cho user
[root]# /var/qmail/bin/maildirmake Maildir
[root]# chown -R alias:nofiles Maildir
Tạo Maildir cho user đã tồn tại (ex: thanbai777)
[root alias]# su - thanbai777
[thanbai777]$ /var/qmail/bin/maildirmake ~/Maildir
[thanbai777]$ echo ./Maildir/ > ~/.qmail
Đưa Maildir vào /etc/skel
[root]# /var/qmail/bin/maildirmake Maildir
[root]# /var/qmail/bin/maildirmake /etc/skel/Maildir
Xoá sendmail và tạo symlink cho qmail
[root root]# rm /usr/lib/sendmail
[root root]# rm /usr/sbin/sendmail
[root root]# ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
[root root]# ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
Cài đặt Daemontools
# mkdir -p /package
# chmod 755 /package
# chmod +t /package
# cd /package
# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
# tar xvpfz daemontools-0.76.tar.gz
# cd daemontools-0.76/src
# wget http://www.qmail.org/rpms/patches/daemontools-0.76.errno.patch
# patch -p1 < daemontools-0.76.errno.patch
(error.h)
# cd admin/daemontools-0.76
# ./package/install
Creating /service...
Adding svscanboot to inittab...
init should start svscan now.
chương trình sẽ tự động thêm dòng sau vào /etc/initab đe^? khi khởi động linux , svscan có thể tự động chạy .
Code:
SV:123456:respawn:/usr/local/bin/svscanboot
Cài đặt tcpserver
# tar xvfz ../ucspi-tcp-0.88.tar.gz
# cd ucspi-tcp-0.88/
#wget http://www.qmail.org/rpms/patches/ucspi-tcp-0.88.errno.patch
#patch -p1 < ucspi-tcp-0.88.errno.patch
patching file error.h
# make setup check
Cấu hình cho tcpserver
[root ucspi-tcp-0.88]# cat /etc/tcp.smtp
Code:
192.168.11.:allow,RELAYCLIENT=""
127.:allow,RELAYCLIENT=""
[root ucspi-tcp-0.88]# /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
Cài đặt chương trình quản lý password : checkpassword-0.90
[root ]# cd /usr/local/src
[root src]# tar zxvf checkpassword-0.90.tar.gz
[root src]# cd checkpassword-0.90
[root checkpassword-0.90]# make setup check
[root checkpassword-0.90]# cd /var/qmail
Cài đặt chương trình quản lý password : checkpw-1.01
[root ]# tar zxvf checkpw-1.01.tar.gz
[root src]# cd checkpw-1.01
[root checkpw-1.01]# make setup check
POP before SMTP : Cài đặt relay-ctrl
[root src]# tar -zxvf relay-ctrl-3.1.1.tar.gz
[root src]# cd relay-ctrl-3.1.1
[root relay-ctrl-3.1.1]# make
[root relay-ctrl-3.1.1]# ./installer
* Nếu bị error sau
installer error: Could not change directory to '/usr/local/man':
Giải quyết bằng lệnh mkdir /usr/local/man
và chạy lạy ./installer
Cấu hình relay-ctrl
[root relay-ctrl-3.1.1]# cd /var/qmail/
[root]# mkdir -p /var/qmail/relay-ctrl/allow
[root]# chmod 700 /var/qmail/relay-ctrl
[root]# chmod 777 /var/qmail/relay-ctrl/allow
[root]# mkdir /etc/relay-ctrl
[root]# echo "/var/qmail/relay-ctrl/allow " > /etc/relay-ctrl/RELAY_CTRL_DIR
[root qmail]# echo "60" > /etc/relay-ctrl/RELAY_CTRL_EXPIRY
[root]# touch /etc/relay-ctrl/RELAY_CTRL_RELAYCLIENT
Tạo crontab cho relay-ctrl
[root]# crontab -e
Code:
* * * * * /usr/local/bin/envdir /etc/relay-ctrl /usr/local/bin/relay-ctrl-age
Bước cuối cùng là khởi động ( lại ) chương trình svscan trước khi hoặc sau khi chạy service qmail .
Code:
Sau cùng copy code sau vào file qmail và set permission với lệnh
Code:
# touch qmail
# chmod +x qmail
Script cho qmail
#!/bin/sh
# Source function library.
. /etc/rc.d/init.d/functions
[ -f /var/qmail/rc ] || exit 0
PATH=$PATH:/var/qmail/bin:/usr/local/bin
case "$1" in
start)
echo -n "Starting... qmail"
csh -cf '/var/qmail/rc &'
#For SMTP
envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -v -H -R -P -u 711 -g 710 0 smtp \
relay-ctrl-check /var/qmail/bin/qmail-smtpd 2>&1 | /var/qmail/bin/splogger smtpd 3 &
#For POP3
envdir /etc/relay-ctrl relay-ctrl-chdir \
tcpserver -H -R -P -v 0 pop3 /var/qmail/bin/qmail-popup hvaonline.net selectcheckpw \
relay-ctrl-allow /var/qmail/bin/qmail-pop3d Maildir 2>&1 | /var/qmail/bin/splogger pop3d 3 &
;;
stop)
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
rm -f /var/lock/qmail
;;
*)
echo "Usage: "$0" {start|stop}"
exit 1
esac
exit 0
=====================
Update : 27/11/2008
Tác giả : 777
Nguồn : vnhacker.org