Qmail搭建全攻略Wikipedia,自由的百科全書(shū)
[編輯]
簡(jiǎn)介Qmail搭建文檔可以基于Redhat AS3 & Qmail實(shí)現(xiàn)以下功能:
以上配置能夠滿足中小型企業(yè)的日常需求。 功能列表:
[編輯]
安裝準(zhǔn)備1)推薦在Red Hat Enterprise Linux Advanced Server 3.X或Red Hat Linux 9.0中部署本郵件系統(tǒng)。在AS4中測(cè)試時(shí),發(fā)現(xiàn)反垃圾部分由于缺少一個(gè)RPM包(在AS4安裝光盤(pán)中無(wú)法找到),因而反垃圾功能未能實(shí)現(xiàn)。另外,在開(kāi)始部署本郵件系統(tǒng)之前請(qǐng)務(wù)必確認(rèn)您的系統(tǒng)中已經(jīng)部署完成Apache+PHP+MySQL,否則Webmail和Web管理無(wú)法安裝! 要確認(rèn)下面的軟件是否已經(jīng)安裝: rpm -q gdbm rpm -q gdbm-devel rpm -q openssl rpm -q openssl-devel rpm -q stunnel rpm -q krb5-devel 如果你還沒(méi)有安裝, 請(qǐng)先安裝它們. 你可以到安裝光盤(pán)或是在這里找到它們的RPM包 http://www. 如果設(shè)置了防火墻,要打開(kāi)服務(wù)器的www 80、smtp 25和pop3 110三個(gè)端口。 2)卸載已有的郵件系統(tǒng),確認(rèn)沒(méi)有SMTP/POP/IMAP服務(wù)在運(yùn)行: /etc/init.d/sendmail stop netstat -na | grep 25 netstat -na | grep 110 netstat -na | grep 143 ntsysv 3)刪除已有的SMTP/POP/IMAP軟件: rpm -e --nodeps sendmail rpm -e --nodeps postfix 4)下載軟件 我把下文中所提到的軟件打成了一個(gè)包,下載地址為:http://nanu./qmail.tar.gz,我一般把軟件放在/usr/local/qmail_src下面,根據(jù)個(gè)人習(xí)慣吧。 cd /usr/local/qmail_src tar xzvf qmail.tar.gz cd Qmail tar xzvf netqmail-1.05.tar.gz cd netqmail-1.05 ./collate.sh 注意:./collate.sh這一步不要忘 [編輯]
安裝軟件1)daemontools daemontools是一個(gè)收集管理UNIX進(jìn)程的工具.用它來(lái)監(jiān)聽(tīng)qmail-send,qmail-smtpd,qmail-pop3d. 安裝: cd /usr/local/qmail_src/Qmail tar -zxvf daemontools-0.76.tar.gz cd admin/daemontools-0.76 patch -p1 < /usr/local/qmail_src/Qmail/netqmail-1.05/ 驗(yàn)證daemontools已經(jīng)正常運(yùn)行: sleep 5 ps ax | grep svscan 2)ucspi-tcp ucspi-tcp包括tcpserver和tcpclient,一個(gè)命令行工具來(lái)建立client-server應(yīng)用程序. 安裝: cd /usr/local/qmail_src/Qmail tar zxvf ucspi-tcp-0.88.tar.gz cd ucspi-tcp-0.88 patch -p1 < ../ucspi-tcp-0.88.a_record.patch patch -p1 < ../ucspi-tcp-0.88.errno.patch patch -p1 < ../ucspi-tcp-0.88.nobase.patch make make setup check 3)qmail 這個(gè)toaster補(bǔ)丁,是下面這幾個(gè)補(bǔ)丁的組合: smtp auth 0.4.2 qmail-queue (to allow for virus scanners) maildir++ patch support oversize dns packets (not necessary if you use dnscache) mfcheck (check that the envelope sender has a dns entry) tarpit delay qregex (regular expression matching in badmailfrom and badmailto) big concurrency (set the spawn limit above 255) 安裝: mkdir /var/qmail groupadd nofiles useradd -g nofiles -d /var/qmail/alias alias useradd -g nofiles -d /var/qmail qmaild useradd -g nofiles -d /var/qmail qmaill useradd -g nofiles -d /var/qmail qmailp groupadd qmail useradd -g qmail -d /var/qmail qmailq useradd -g qmail -d /var/qmail qmailr useradd -g qmail -d /var/qmail qmails 在這里把vpopmail用戶(hù)也加上 groupadd -g 89 vchkpw useradd -u 89 -g vchkpw vpopmail cd /usr/local/qmail_src/Qmail tar -xzf toaster-scripts-0.6.tar.gz cd netqmail-1.05/ bunzip2 -c ../qmail-toaster-0.6-1.patch.bz2 | patch -p0 cd netqmail-1.05 注:在RedHat上,需要為T(mén)LS補(bǔ)丁鏈接一個(gè)include文件: ln -s /usr/kerberos/include/com_err.h /usr/kerberos/include/ 當(dāng)你的服務(wù)器收到無(wú)效格式的郵件時(shí),會(huì)發(fā)送:"I am not going to accept that message at the moment,you can try again later",對(duì)方服務(wù)器收到后,幾秒鐘后又會(huì)發(fā)送同樣的郵件給你,造成多次的重復(fù)。 改為553后,你的服務(wù)器將直接發(fā)送:"I am not going to accept that message,don‘t try sending it again.",告訴對(duì)方的服務(wù)器不要再發(fā)這封無(wú)效的信件。 4)make make setup check 用你自己的主機(jī)名代替下面的mail. ./config-fast mail. cd /var/qmail/alias touch .qmail-postmaster .qmail-mailer-daemon .qmail-root chmod 644 /var/qmail/alias/.qmail* cd - echo 1 > /var/qmail/control/mfcheck echo ./Maildir/ >/var/qmail/control/defaultdelivery make cert 按提示輸入公司信息 make tmprsadh 注:這里可能要多等一會(huì) 用"crontab -e"在crontab里增加下面這條,每天晚上更新temp keys crontab -u root -e 01 01 * * * /var/qmail/bin/update_tmprsadh > /dev/null 2>&1 5)為qmail服務(wù)建立監(jiān)控目錄和日志文件: mkdir -p /var/qmail/supervise/qmail-send/log mkdir -p /var/qmail/supervise/qmail-smtpd/log mkdir -p /var/qmail/supervise/qmail-pop3d/log mkdir -p /var/qmail/supervise/qmail-pop3ds/log chmod +t /var/qmail/supervise/qmail-send chmod +t /var/qmail/supervise/qmail-smtpd chmod +t /var/qmail/supervise/qmail-pop3d/log chmod +t /var/qmail/supervise/qmail-pop3ds/log cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/send.run /var/qmail/supervise/qmail-send/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/send.log.run /var/qmail/supervise/qmail-send/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/smtpd.run /var/qmail/supervise/qmail-smtpd/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/smtpd.log.run /var/qmail/supervise/qmail-smtpd/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3d.run /var/qmail/supervise/qmail-pop3d/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3d.log.run /var/qmail/supervise/qmail-pop3d/log/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3ds.run /var/qmail/supervise/qmail-pop3ds/run cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/pop3ds.log.run /var/qmail/supervise/qmail-pop3ds/log/run echo 20 > /var/qmail/control/concurrencyincoming chmod 644 /var/qmail/control/concurrencyincoming chmod 755 /var/qmail/supervise/qmail-send/run chmod 755 /var/qmail/supervise/qmail-send/log/run chmod 755 /var/qmail/supervise/qmail-smtpd/run chmod 755 /var/qmail/supervise/qmail-smtpd/log/run chmod 755 /var/qmail/supervise/qmail-pop3d/run chmod 755 /var/qmail/supervise/qmail-pop3d/log/run chmod 755 /var/qmail/supervise/qmail-pop3ds/run chmod 755 /var/qmail/supervise/qmail-pop3ds/log/run mkdir -p /var/log/qmail/smtpd mkdir -p /var/log/qmail/pop3d mkdir -p /var/log/qmail/pop3ds chown -R qmaill /var/log/qmail 6)啟動(dòng)腳本: cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/rc /var/qmail/ cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/qmailctl /var/qmail/bin/ chmod 755 /var/qmail/rc chmod 755 /var/qmail/bin/qmailctl ln -s /var/qmail/bin/qmailctl /usr/bin ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail ln -s /var/qmail/bin/sendmail /usr/lib/sendmail 7)用daemontools來(lái)啟動(dòng)qmail-send和qmail-smtpd ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service 8)命令: 啟動(dòng),停止,重啟,查看隊(duì)列等 qmailctl start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help 9)檢查服務(wù) netstat -an | grep 25 ps -ef | grep qmail ps -efl | grep "service errors" | grep -v grep 10)日志: /var/log/maillog /var/log/qmail/current /var/log/qmail/pop3d/current /var/log/qmail/pop3ds/current /var/log/qmail/smtpd/current [編輯]
vpopmail的安裝1)定義 vpopmail是一個(gè)以qmail為基礎(chǔ)的虛擬域管理包 vpopmail的用戶(hù)和組我們前邊已經(jīng)建立了 2)配置 mkdir -p /home/vpopmail/etc a.設(shè)置默認(rèn)域,紅色部份改成你要設(shè)置的域。 echo "" > /home/vpopmail/etc/defaultdomain b.設(shè)置smtp規(guī)則,關(guān)閉open relays echo ‘127.0.0.1:allow,RELAYCLIENT=""‘ > /home/vpopmail/etc/tcp.smtp cd /home/vpopmail/etc ; tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp c.設(shè)置MySQL信息,第一個(gè)vpopmail是賬號(hào),xukixu為密碼,第二個(gè)vpopmail是數(shù)據(jù)庫(kù) echo "localhost|0|vpopmail|xukixu|vpopmail" > /home/vpopmail/etc/vpopmail.mysql chmod 640 /home/vpopmail/etc/vpopmail.mysql chown -R vpopmail.vchkpw /home/vpopmail/etc d.在MySQL里添加vpopmail的賬號(hào) mysql -uroot --pxukixu > CREATE DATABASE vpopmail; > GRANT select,insert,update,delete,create,drop ON vpopmail.* TO vpopmail@localhost IDENTIFIED BY ‘xukixu‘; > FLUSH PRIVILEGES; > QUIT 3)安裝: cd /usr/local/qmail_src/Qmail tar zxvf vpopmail-5.4.7.tar.gz cd vpopmail-5.4.7 4)帶數(shù)據(jù)庫(kù)支持 ./configure --enable-incdir=/usr/local/mysql/include make make install-strip 5)管理: echo ‘export PATH=$PATH:/home/vpopmail/bin‘ >> /etc/profile source /etc/profile a.添加域,紅色部份前面是域名,后面是管理員(postmaster)密碼 vadddomain xukixu b.添加用戶(hù),紅色部份為注解,不用輸入 vadduser -q 10485760S(郵箱大小) xukixu@(郵箱賬號(hào)) 1234(密碼) vmoduser -c 許靖(郵箱描述) xukixu@ c.設(shè)置郵箱容量達(dá)到90%的警告信息 vi /home/vpopmail/domains/.quotawarn.msg From: 郵箱管理員 Reply-To: postmaster@ To: 郵箱用戶(hù) Subject: 郵箱空間警告 Mime-Version: 1.0 Content-Type: text/html; charset=gb2312 Content-Transfer-Encoding: base64 您的郵箱空間已經(jīng)達(dá)到90%.如果想繼續(xù)使用,請(qǐng)刪除一些信件. 如果需要幫助,請(qǐng)聯(lián)系郵箱管理員: Email : postmaster@ 6)設(shè)置郵箱已滿的警告信息 echo "郵件被拒絕,用戶(hù)的郵箱空間已滿." > /home/vpopmail/domains/.over-quota.msg 7)啟動(dòng)腳本: cp /usr/local/qmail_src/Qmail/toaster-scripts-0.6/vpopmailctl /var/qmail/bin ln -s /var/qmail/bin/vpopmailctl /usr/bin chmod 755 /var/qmail/bin/vpopmailctl 8)用daemontools來(lái)啟動(dòng)qmail-pop3d和qmail-pop3ds ln -s /var/qmail/supervise/qmail-pop3d /service ln -s /var/qmail/supervise/qmail-pop3ds /service 9)命令:
vpopmailctl start|stop|restart|stat|pause|cont|help 10)檢查服務(wù) netstat -an | grep 110 ps -ef | grep qmail ps -efl | grep "service errors" | grep -v grep 11)帶數(shù)據(jù)庫(kù)支持 cd /usr/local/qmail_src/Qmail/netqmail-1.05/netqmail-1.05 patch -p0 < /usr/local/qmail_src/Qmail/chkuser-0.6.mysql.patch 12)修改libmysqlclient.a存在路徑 vi conf-mysql /usr/local/mysql/lib/libmysqlclient.a make clean make qmailctl stop make setup check qmailctl start 13)安裝選項(xiàng)參考: vpopmail 5.4.7 Current settings ------------------------------------------------------ vpopmail directory = /home/vpopmail uid = 89 gid = 89 roaming users = OFF --disable-roaming-users (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) domain quotas = OFF --disable-domainquotas (default) auth module = mysql --enable-auth-module=mysql mysql replication = OFF --disable-mysql-replication (default) mysql logging = ON --enable-mysql-logging mysql limits = OFF --disable-mysql-limits (default) MySQL valias = OFF --disable-valias (default) auth inc = -I/usr/include/mysql auth lib = -L/usr/lib/mysql -lmysqlclient -lz -lm system passwords = OFF --disable-passwd (default) pop syslog = show failed attempts with clear text password --enable-logging=p auth logging = ON --enable-auth-logging (default) all domains in one SQL table = --enable-many-domains (default) 14)POP3和SMTP測(cè)試 用outlook測(cè)試qmail的smtp和pop3是否正常,注意由于vpopmail支持虛擬域名,所以在outlook中設(shè)置郵件賬號(hào)時(shí),用戶(hù)名后要加上域名,如demo@demo.com。smtp是帶認(rèn)證的,在outlook中也要作相應(yīng)設(shè)置。建議先測(cè)試正常 后再進(jìn)行下一步安裝。如果qmail出現(xiàn)問(wèn)題,可查看mysql中的vpopmail數(shù)據(jù)庫(kù),/var/log下的mysqld和maillog日志記錄,這樣容易很快找出問(wèn)題。 [編輯]
安裝并運(yùn)行igenus到這里 (http://www.)下載最新的安裝包,我用的是igenus_2.0.2_20040901_release.tgz 1)安裝: cd /usr/local/qmail_src/Qmail tar zxvf igenus_2.0.2_20040901_release.tgz -C /var/www/ cd /var/www/ rm -rf html/ mv igenus html 2)建temp文件夾 cd /var/www/html/ mkdir temp chmod -R 0755 temp chown -R vpopmail:vchkpw temp mkdir /home/netdisk chmod -R 0755 /home/netdisk chown -R vpopmail:vchkpw /home/netdisk chmod -R 0755 /var/www/html/ chown -R vpopmail:vchkpw /var/www/html/ 3)修改httpd.conf vi /etc/httpd/conf/httpd.conf Group vchkpw User vpopmail DocumentRoot "/var/www/html/" /etc/rc.d/init.d/httpd restart //重啟apache,使修改生效 4)修改config_inc.php文件 cd /var/www/html/config vi config_inc.php $CFG_BASEPATH = "/var/www/html/"; \\改成你安裝的目錄 $CFG_MYSQL_HOST = ‘localhost‘; $CFG_MYSQL_USER = ‘vpopmail‘; \\vpopmail訪問(wèn)mysql的賬號(hào) $CFG_MYSQL_PASS = ‘xukixu‘; \\vpopmail訪問(wèn)mysql的密碼 $CFG_MYSQL_DB = ‘vpopmail‘; \\數(shù)據(jù)庫(kù) $CFG_TEMP = $CFG_BASEPATh."/temp"; \\改成你安裝的目錄的當(dāng)前目錄下 5)重新編制Mysql數(shù)據(jù)庫(kù)表格 a.刪除之前創(chuàng)建的域名 vdeldomain b.編輯數(shù)據(jù)庫(kù): mysql -uroot -pxukixu c.編輯/var/www/html/docs/iGENUS.sql vi /var/www/html/docs/iGENUS.sql 6)運(yùn)行 mysql -uroot -pxukixu </var/www/html/docs/iGENUS.sql 導(dǎo)入數(shù)據(jù)表。 7)設(shè)置igenus 定義允許上傳下載的郵件的大小 vi /etc/php.ini a.編輯/etc/php.ini max_execution_time=60 memory_limit=20M post_max_size = 10M file_uploads=on upload_max_filesize=10M register_globals=On session.bug_compat_42=0 session.bug_compat_warn=0 sendmail_path = /var/qmail/bin/qmail-inject b.編輯/etc/http/conf/httpd.conf AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps DirectoryIndex index.php index.html NameVirtualHost *:80 <VirtualHost *:80> ServerName mail.domain.net DocumentRoot /var/www/html </VirtualHost> 8)重啟apache: service httpd restart 9)如果需要,用vadddomain和vadduser添加新域名和新用戶(hù)。 最后打開(kāi)瀏覽器,輸入http:///, 就可以訪問(wèn)網(wǎng)站了 10)Qmail限制附件的大小 在/var/qmail/control/databytes 文件中設(shè)置附件的大小,可以實(shí)現(xiàn)對(duì)qmail附件大小的限制,一般安裝完成后,這個(gè)文件是沒(méi)有的,你可以自己創(chuàng)建。 smtp方式是以qmail的databytes作限制的 創(chuàng)建databytes并設(shè)置郵件最大為4m echo 4000000 >/var/qmail/control/databyte 11)限制單域的郵箱數(shù)量 vi /home/vpopmail/domains//.qmailadmin-limits 這樣就把郵箱總數(shù)限制在200個(gè),每個(gè)郵箱為50M了 12)用qmail封mailfrom vi/var/qmail/control/badmailfrom 這個(gè)控制文件實(shí)現(xiàn)拒收郵件功能的,每一個(gè)地址要單獨(dú)一行。而且,不用重起qmail就能生效。例如: peng@96633.net -----限制一個(gè)特定的用戶(hù) @sina.com -----限制整個(gè)域中的郵件 [編輯]
安裝并運(yùn)行iGenus_Admin1)下載 從www. 下載igenus_admin的安裝文件igenus_admin_0.1.tgz到/home/pkg 2)安裝 cd /usr/local/qmail_src/Qmail tar -xzvf igenus_admin_0.1.tgz -C /var/www/html/ 3)設(shè)置 vi /var/www/html/admin/includes/config_inc.php
4)保存退出 touch /etc/syspasswd.dat 5)登錄設(shè)置頁(yè)面 http:///admin/sys/ 用戶(hù):Admin密碼Admin來(lái)登錄.注意A要大寫(xiě)..這個(gè)管理賬號(hào)密碼登錄后可以改的 登錄后,首先點(diǎn)"更新數(shù)據(jù)庫(kù)"你就會(huì)看見(jiàn)你的域名啦.然后點(diǎn)"編輯"把"登錄權(quán)限 該域管理員(Postmaster)有權(quán)登錄進(jìn)行用戶(hù)管理"這一項(xiàng)打勾,確認(rèn)后,就可以用 http:///admin/ 來(lái)登錄管理了。 [編輯]
SpamAssassin1)簡(jiǎn)介 Spam是一個(gè)讓人討厭的字眼. 大部分的人都不喜歡它. 如果你想保護(hù)自己免受spam, 你就需要安裝SpamAssassin. 安裝SpamAssassin 要用到Time-HiRes、Digest-SHA1、HTML-Parser、perl-DB_File和HTML-Tagset. 如果你沒(méi)有安裝的話,必須首先安裝它,此文件均在RHAS3安裝光盤(pán)第二和第三張中。對(duì)應(yīng)的軟件包為: perl-Time-HiRes-1.38-3.i386.rpm perl-Digest-SHA1-2.01-15.1.i386.rpm perl-HTML-Parser-3.26-17.i386.rpm perl-HTML-Tagset-3.03-28.noarch.rpm perl-DB_File-1.804-88.i386.rpm 2)如需安裝請(qǐng)按照以下順序安裝RPM: perl-Time-HiRes* --> perl-Digest-SHA1* --> perl-HTML-Tagset* --> perl-HTML-Parser* --> perl-DB_File* 3)安裝SpamAssassin groupadd spamd useradd -g spamd -s /bin/false spamd 4)我們想要SpamAssassin 隨系統(tǒng)自動(dòng)啟動(dòng),安裝目錄中提供了一個(gè)起動(dòng)腳本 cp spamd/redhat-rc-script.sh /etc/rc.d/init.d/spamd vi /etc/rc.d/init.d/spamd 修改其中一行為上所示。 chmod 755 /etc/rc.d/init.d/spamd chkconfig --add spamd spamassassin的過(guò)濾模板在/etc/mail/spamassassin/local.cf,修改為: vi /etc/mail/spamassassin/local.cf 運(yùn)行ntsysv,將spamd設(shè)定的為開(kāi)機(jī)運(yùn)行. 5)進(jìn)行一個(gè)spam和non-spam的測(cè)試 spamassassin -t < sample-spam.txt > spamtest.txt less spamtest.txt spamassassin -t < sample-nonspam.txt > nospamtest.txt less nospamtest.txt #spamtest.txt文件在主題一段中將包含"*****SPAM*****" 這一行, 而nospamtest.txt文件中則沒(méi)有. 建立SpamAssassin的學(xué)習(xí)系統(tǒng) sa-learn --rebuild -D -p user_prefs [編輯]
Clamav1)添加所需的組和用戶(hù) groupadd clamav useradd -g clamav -s /bin/false clamav 2)安裝軟件 cd /usr/local/qmail_src/Qmail tar -xzvf clamav-0.86.2.tar.gz cd clamav-0.86.2 ./configure make check make install 3)測(cè)試Clamav clamscan --recursive --log=/tmp/clamscan.log ./ //掃描當(dāng)前目錄,測(cè)試clamscn是否運(yùn)行 cat /tmp/clamscan.log 4)升級(jí)clamscan病毒庫(kù) freshclam --verbose 5)創(chuàng)建freshclam日志記錄文件 mkdir -p /var/log/clamav touch /var/log/clamav/clamd.log chown clamav.clamav -R /var/log/clamav/ chmod 644 -R /var/log/clamav/ 6)創(chuàng)建clamav啟動(dòng)腳本 vi /etc/rc.d/init.d/clamav 7)使其能夠執(zhí)行 chmod 755 /etc/rc.d/init.d/clamav 8)隨開(kāi)機(jī)起動(dòng) echo /etc/rc.d/init.d/clamav start >/etc/rc.d/rc.local [編輯]
MailDrop and TNEF reader1)簡(jiǎn)介 TNEF是一個(gè)從"application/ms-tnef". 類(lèi)型中找出MIME附件的程序.這僅僅是微軟系統(tǒng)中的一種附件. TNEF程序允許將封裝成TNEF的附件提取出來(lái). 安裝TNEF并不是必須的, 但我強(qiáng)烈推薦安裝它! 2)安裝 maildrop cd /usr/local/qmail_src/Qmail tar -xjvf maildrop-1.7.0.tar.bz2 cd maildrop-1.7.0 ./configure make make install-strip make install-man 3)安裝 the tnef cd /usr/local/qmail_src/Qmail tar -xzvf tnef-1.2.3.1.tar.gz cd tnef-1.2.3.1 ./configure make make install 4)使用Maildrop調(diào)用SpamAssassin 在/home/vpopmail/domains/localhost.com(你創(chuàng)建的域)/ 建立mailfilter文件 touch mailfilter chown vpopmail:vchkpw mailfilter chmod 700 mailfilter 5)修改.qmail-default 內(nèi)容如下: | /usr/local/bin/maildrop ./mailfilter [編輯]
qmail-scanner&qms-analog1)為了能夠掃描郵件服務(wù)器中進(jìn)出的郵件, 我們需要安裝 qmail-scanner. 如果你之前沒(méi)有安裝perl-suidperl,我們還需要安裝它 cd /usr/local/qmail_src/Qmail rpm -Uvh perl-suidperl-5.8.0-88.3.i386.rpm 2)解壓qmail-scanner tar zxvf qmail-scanner-1.22.tgz 3)解壓qms-analog tar zxvf qms-analog-0.3.4.tar.gz 4)拷貝所需要的qms-analog文件到qmail-scanner安裝目錄 cp qmail-scanner-1.22-st-qms-20040530.patch /usr/local/qmail_src/Qmail/qmail-scanner-1.22/ 5)打上qms-analog補(bǔ)丁 cd /usr/local/qmail_src/Qmail/qmail-scanner-1.22 6)繼續(xù)安裝qmail-scanner,添加所需的組和用戶(hù) groupadd qscand useradd -g qscand -s /bin/false qscand 7)通過(guò)qms-config-script腳本來(lái)安裝qmail-scanner,編輯qms-config-script vi qms-config-script 8)修改下面紅色部份以達(dá)到我們的需求 #!/bin/sh 注意: "--admin" 和 "--domain" 參數(shù)組成了賬號(hào)"user"@"domain name". 警告消息將通過(guò)qmail-scanner 發(fā)往這個(gè)郵件賬號(hào), 所以必須確認(rèn)這是一個(gè)管理級(jí)別的賬號(hào). 另外,所有域的警告信息都會(huì)發(fā)給這個(gè)賬號(hào), 所以一定要小心. 9)保存并退出。 10)測(cè)試qmail-scanner安裝 ./qms-config-script 在第一步時(shí), 按y 允許qmail-scanner提前configure. 第二步時(shí), 按y,建立 qmail-queue-scanner.pl 文件. 測(cè)試如果沒(méi)有錯(cuò)誤 ,就可以進(jìn)行下一步安裝 ./qms-config-script install 看看/var/qmail/bin/qmail-scanner-queue.pl是否存在 chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl 然后用一個(gè)普通用戶(hù)登陸,執(zhí)行/var/qmail/bin/qmail-scanner-queue.pl -z setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z 11)在你的qmail啟動(dòng)腳本加入紅色部份 #!/bin/sh QMAILDUID=`id -u vpopmail` NOFILESGID=`id -g vpopmail` PATH=$PATH:/usr/local/bin:/var/qmail/bin QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl" export QMAILQUEUE MAXSMTPD=`cat /var/qmail/control/concurrencyincoming` exec /usr/local/bin/softlimit -m 40000000 /usr/local/bin/tcpserver -v -H -R -l 0 -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd /home/vpopmail/bin/vchkpw /bin/true 2>&1 12)重新啟動(dòng)smtp服務(wù) qmailctl stop qmailctl start qmailctl stat 13)測(cè)試程序 cd /usr/local/qmail_src/Qmail/qmail-scanner-1.22/contrib/ 這個(gè)腳本會(huì)設(shè)定的管理員郵件地址發(fā)送3個(gè)郵件,第一個(gè)郵件是一般的正常郵件,第二個(gè)郵件中會(huì)包含eicar.com測(cè)試病毒,第三個(gè)郵件同樣包含eicar.com測(cè)試病毒,不過(guò)所附帶的文件名不是eicar.com。 如果qmail-scanner安裝正確,管理員就應(yīng)該可以收到關(guān)于后面的兩個(gè)郵件的警告郵件。 如果系統(tǒng)出錯(cuò),可以查看/var/spool/qmailscan/qmail-queue.log日志文件。 qmail-scanner的特征過(guò)濾在/var/spool/qmailscan/quarantine-attachments.txt 14)主要的排錯(cuò)監(jiān)測(cè)日志 /var/spool/qmailscan/quarantine.log /var/spool/qmailscan/qmail-queue.log /var/spool/qmailscan/qms-events.log /var/log/clamav/clamd.log /var/log/maillog [編輯]
isoqlog1)簡(jiǎn)介 isoqlog是一個(gè)qmail日志分析工具,它是用perl寫(xiě)的,可以分析和統(tǒng)計(jì)qmail的運(yùn)行日志,并生成漂亮的HTML格式的報(bào)表,如果服務(wù)器上已經(jīng)安裝WEB服務(wù),管理員就可以通過(guò)瀏覽器來(lái)查看這些報(bào)表。相對(duì)于 qmailanalog,isoqlog分析的項(xiàng)目稍微少一些。 soqlog可以生成多個(gè)郵件域的報(bào)表;對(duì)于每個(gè)郵件域,isoqlog可以統(tǒng)計(jì)出每天、每月、每年的郵件流量以及字節(jié)數(shù),還生成相應(yīng)的統(tǒng)計(jì)柱狀圖;對(duì)于每天的報(bào)表,isoqlog可以根據(jù)郵件投遞的數(shù)量以及字節(jié)數(shù)的多少來(lái)對(duì)郵件用戶(hù)進(jìn)行排列。 1)安裝isoqlog cd /usr/local/qmail_src/Qmail tar zxvf isoqlog-2.1.1.tar.gz cd isoqlog-2.1.1 ./configure make make install make clean 2)配置isoqlog cd /usr/local/etc mv isoqlog.conf-dist isoqlog.conf 將下面紅色部份改成你的安裝目錄和主機(jī)名稱(chēng)。 #isoqlog Configuration file 3)保存并退出。 4)下一步是告訴isoqlog哪些虛擬域需要產(chǎn)生統(tǒng)計(jì)報(bào)表,我希望我的mail服務(wù)器能夠報(bào)告每個(gè)域的狀態(tài),所以只需要簡(jiǎn)單的創(chuàng)建了個(gè)鏈接即可: ln -s /var/qmail/control/rcpthosts isoqlog.domains 5)現(xiàn)在,isoqlog應(yīng)該能夠正常運(yùn)行了,運(yùn)行如下命令測(cè)試一下效果: /usr/local/bin/isoqlog 6)通過(guò)如下頁(yè)面查看輸出結(jié)果: http:///isoqlog 7)你可以點(diǎn)擊各個(gè)虛擬域名稱(chēng)顯示其報(bào)表。 8)我們希望isoqlog能夠即時(shí)提供報(bào)表,將如下內(nèi)容加入crontab crontab -e 58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null 每個(gè)小時(shí)的第58分鐘運(yùn)行一次 [編輯]
郵件系統(tǒng)維護(hù)1)郵件系統(tǒng)相關(guān)日志 /var/log/maillog /var/log/qmail/current /var/log/qmail/pop3d/current /var/log/qmail/pop3ds/current /var/log/qmail/smtpd/current /var/spool/qmailscan/qmail-queue.log /var/spool/qmailscan/qms-events.log /var/spool/qmailscan/quarantine.log 2)設(shè)置Qmail用戶(hù)郵箱的容量 # cd /home/vpopmail/bin #./vsetuserqutoa 10500000s --這個(gè)域,都設(shè)成10m的 #./vsetuserqutoa xuki@ 10500000s ---只把xuki@這個(gè)用戶(hù)單獨(dú)設(shè)置為10m。 3)批量添加用戶(hù) 例1: 新建一文件 batchadduser.sh,將以下內(nèi)容拷入文件中保存 ,運(yùn)行chmod u+x batchadduser.sh使其可執(zhí)行。 #!/bin/bash #batchadduser.sh: batch add mail user. #install step. #chmod u+x batchadduser #./batchadduser.sh domain datafile if [ $# -lt 2 ] then echo "usage: $0 domain datafile" exit 1 fi domain=$1 datafile=$2 addcmd=/home/vpopmail/bin/vadduser while read username passwd do $addcmd $username@$domain $passwd done < $datafile 運(yùn)行batchadduser.sh user即可批量添加用戶(hù)。 例2: 把用戶(hù)名放到一個(gè)文本文件中,一個(gè)名字一行,密碼和它的賬號(hào)一致,用戶(hù)自己再去改密碼。 while read line do echo $line ./vadduser $line $line done < user 臨時(shí)限制一個(gè)用戶(hù)的pop3 vmoduser -p email_addr or domain ( for the entire domain ) 修改默認(rèn)的域名 A: 要更改haohao.com為默認(rèn)域。 方法: 更改~qmail/control/ defaultdomain me plusdomains 逐一更改啟動(dòng)pop3和 smtp的啟動(dòng)腳本: 修改:email.3sk.com為haohaoo.com 在最上邊添加:export VPOPMAIL_DOMAIN=haohaoo.com 把一郵件域的名字比如a.com更改為b.com,如何實(shí)現(xiàn) 以下幾個(gè)步驟: a、cd /home/vpopmail/domains mv a.com b.com b、把vpopmail數(shù)據(jù)庫(kù)的vpopmail表導(dǎo)出把所有a.com改為b.com,然后刪除vpopmail表,再導(dǎo)入. c、把把vpopmail數(shù)據(jù)庫(kù)的dir_control表的a.com改為b.com d、在/home/qmail/control 目錄下把 virtualdomains和rcpthosts下的的a.com改為b.com. e、在/home/qmail/users目錄下把a(bǔ)ssign文件的a.com改為b.com f、需要運(yùn)行qmail-newu重新生成cdb。assign只是配置文件,cdb才是實(shí)際的數(shù)據(jù)文件。加快 qmail 投遞郵件速度 A: /var/qmail/control下面是qmail的控制文件,這兩個(gè)文件: Concurrentcylocal default: 10 最大本地同時(shí)傳送數(shù) Concurrencyremote default: 20 最大遠(yuǎn)程同時(shí)傳送數(shù) 更改域的默認(rèn)管理賬號(hào) A: vmoduser有個(gè)-a參數(shù),可以賦予用戶(hù)管理權(quán)限。 說(shuō)明:如果想全面禁用postmaster的特殊權(quán)限話,就只能改源代碼了。 QMAIL下的主要配置文件(/var/qmail/control目錄下): 文件名 默認(rèn)值 使用者 用途 badmailfrom none qmail-smtpd 黑名單地址 bouncefrom MAILER-DAEMON qmail-send 退回郵件 bouncehost me qmail-send 退回郵件 concurrencylocal 10 qmail-send 本地同時(shí)投遞郵件的數(shù)目 concurrencyremote 20 qmail-send 同時(shí)投遞至遠(yuǎn)程主機(jī)的數(shù)目 defaultdomain me qmail-inject 默認(rèn)域名 defaulthost me qmail-inject 默認(rèn)主機(jī)名 databytes 0 qmail-smtpd 郵件的最大容量 (0=無(wú)限制) doublebouncehost me qmail-send doublebounceto postmaster qmail-send envnoathost me qmail-send 沒(méi)有"@"的默認(rèn)域名 helohost me qmail-remote 主機(jī)名 idhost me qmail-inject Message-ID的主機(jī)名 localiphost me qmail-smtpd 本地IP的替代名 locals me qmail-send 傳遞至本地的域名 me 系統(tǒng)正式域名 various morercpthosts none qmail-smtpd 第二個(gè)rcpthosts percenthack none qmail-send 使用 "%"格式的域名 plusdomain me qmail-inject qmqpservers none qmail-qmqpc QMQP服務(wù)器的IP地址 queuelifetime 604800 qmail-send 在隊(duì)列中郵件保存的時(shí)間(秒) rcpthosts none qmail-smtpd 接收郵件的域名 smtpgreeting me qmail-smtpd smtproutes none qmail-remote timeoutconnect 60 qmail-remote SMTP連接超時(shí)時(shí)間 timeoutremote 1200 qmail-remote 等待遠(yuǎn)程主機(jī)的時(shí)間 timeoutsmtpd 1200 qmail-smtpd SMTP客戶(hù)連接超時(shí)的時(shí)間 virtualdomains none qmail-send 虛擬域名 Qmail限制附件大小 我的配置經(jīng)驗(yàn)==》Q(chēng)mail限制附件大?。? 1.在/var/qmail/control/databytes 中設(shè)置附件大小,這個(gè)文件要手動(dòng)建立,直接輸入數(shù)字就行,默認(rèn)單位為bytes,如10485760為10M; 2.Webmail中發(fā)送附件默認(rèn)只支持500K左右,如想支持5M附件,修改如下文件 # vi /etc/php.ini WebMail上傳附件大小限制 (解決上傳文件不能大于512KB的問(wèn)題) 更改/etc/httpd/conf.d/php.conf: LimitRequestBody 524288中的524288正好跟512KB相等,將其更改為10485760,設(shè)置允許最大上傳的附件為10MB。 [編輯]
FAQ (整理編寫(xiě): Nanu)1、iGENUS Admin無(wú)法添加域,返回一些數(shù)據(jù)庫(kù)查詢(xún)錯(cuò)誤? 執(zhí)行下面的操作問(wèn)題就可以解決了: # chown root /home/vpopmail/bin/vadddomain # chmod a+s /home/vpopmail/bin/vadddomain 2、用Outlook發(fā)送郵件的時(shí)候出現(xiàn)451, qq crashed # 4.3.0 錯(cuò)誤? 檢查/var/qmail/supervise/qmail-smtpd/run,查看exec /usr/local/bin/softlimit -m 40000000 是否為40000000,注意是7個(gè)0,如果小于40000000(40MB),則會(huì)出現(xiàn)451, qq crashed # 4.3.0 錯(cuò)誤。 3.用Outlook發(fā)送郵件的時(shí)候出現(xiàn)451 tempory qq failed 錯(cuò)誤? 這個(gè)問(wèn)題與Qmail、qmail-scanner和Clamav有關(guān),可以按照順序從新安裝Qmai、Clamav、qmail-scanner解決。但注意,重新安裝之前請(qǐng)先執(zhí)行: # qmailctl stop # /etc/rc.d/init.d/clamav stop 4.iGENUS Admin的登錄好像總是有問(wèn)題? iGENUS Admin有兩種登錄模式,一種時(shí)管理員模式(擁有所有域的控制權(quán)限);另一種是域管理模式(只能控制所屬域)。這兩種方式的登錄地址是不一樣的: 管理員模式:http://mail./admin/sys/ 域管理模式:http://mail./admin/ 5.何更改iGENUS Admin的管理員用戶(hù)名? 默認(rèn)情況下,iGENUS Admin的管理員用戶(hù)名為Admin,可以通過(guò)以下方式更改管理員用戶(hù)名: # vi /path-to-webmail/admin/include/config_inc.php 找到下面行: $CFG_SYSADMIN_NAME = "Admin"; 將Admin換成你所要的管理員用戶(hù)名。 |
|
來(lái)自: 農(nóng)夫子oice > 《Qmail》