• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 在Linux下安裝郵件服務器Qmail(二)

    發表于:2007-05-25來源:作者:點擊數: 標簽:
    # 安裝SpamAssassin groupadd spamd useradd -g spamd -s /bin/false spamd cd /home/pkg tar -xzvf Mail-SpamAssassin-3.0.1.tar.gz cd Mail-SpamAssassin-3.0.1 export LC_ALL=C perl Makefile.PL make make install #我們想要SpamAssassin 隨系統自動啟動
    # 安裝SpamAssassin

    groupadd spamd

    useradd -g spamd -s /bin/false spamd


    cd /home/pkg
    tar -xzvf Mail-SpamAssassin-3.0.1.tar.gz
    cd Mail-SpamAssassin-3.0.1

    export LC_ALL=C
    perl Makefile.PL
    make
    make install

    #我們想要SpamAssassin 隨系統自動啟動,安裝目錄中提供了一個起動腳本

    cp spamd/redhat-rc-script.sh /etc/rc.d/init.d/spamd

    vi /etc/rc.d/init.d/spamd

    SPAMDOPTIONS="-d -c -u spamd -H /home/spamd -m5 -H"
    修改其中一行為上所示。

    chmod 755 /etc/rc.d/init.d/spamd

    chkconfig --add spamd

    spamassassin的過濾模板在/etc/mail/spamassassin/local.cf,修改為:

    required_hits 5.0
    rewrite_subject 1
    subject_tag ********SPAM********
    report_safe 1
    defang_mime 0
    rewrite_subject 0
    report_header 1
    use_terse_report 1
    use_bayes 1
    auto_learn 1
    skip_rbl_checks 1
    use_razor2 0
    use_dclearcase/" target="_blank" >cc 0
    use_pyzor 0

    score SUBJ_FULL_OF_8BITS 0.0
    score BASE64_ENC_TEXT 0.0
    score BAYES_99 0.1
    score BAYES_90 0.1
    score SUBJ_ILLEGAL_CHARS 0.1
    score FROM_ILLEGAL_CHARS 0.5
    score HEAD_ILLEGAL_CHARS 0.5
    score MIME_BASE64_TEXT 0.5
    ok_locales en zh

    chmod 755 /etc/rc.d/init.d/spamd
    chkconfig --add spamd
    service spamd start

    # 進行一個spam和non-spam的測試
    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文件中則沒有.

    建立SpamAssassin的學習系統
    #sa-learn --rebuild -D -p user_prefs
    sa-learn --dump all可以查看自學習的數據信息


    --------------------------------------------------------------------------------

    Clamav

    添加所需的組和用戶

    groupadd clamav
    useradd -g clamav -s /bin/false clamav

    安裝軟件
    tar -xzvf clamav-0.80.tar.gz
    cd clamav-0.80
    ./configure
    make check
    make install

    測試Clamav
    clamscan --recursive --log=/tmp/clamscan.log ./ //掃描當前目錄,測試clamscn是否運行
    cat /tmp/clamscan.log

    更改/usr/local/etc/freshclam.conf文件,去掉下面選項前面的#:
    vi /usr/local/etc/freshclam.conf
    #Example \前面加上#
    UpdateLogFile /var/log/freshclam.log \去掉前面的#
    LogSyslog \去掉前面的#

    更改/usr/local/etc/clamav.conf文件,去掉下面選項前面的#:

    vi /usr/local/etc/clam.conf
    #Example \前面加上#
    LogFile /var/log/clamav/clamd.log \去掉前面的#
    LogFileMaxSize 2M \去掉前面的#
    LogTime \去掉前面的#
    PidFile /var/run/clamd.pid \去掉前面的#
    DataDirectory /var/lib/clamav \去掉前面的#,并且修改路徑為/usr/local/share/clamav
    LogSyslog \去掉前面的#
    ScanMail \去掉前面的#

    升級clamscan病毒庫
    freshclam --verbose

    把freshclam加入crontab 定時更新病毒庫,自動掃描/home目錄

    crontab -e

    0 1 * * * freshclam --quiet -l /var/log/freshclam.log

    0 6 * * * /usr/local/bin/clamscan --recursive --infected --exclude /usr/local/share/clamav/viruses.db --exclude /usr/local/share/clamav/viruses.db2 --log=/var/log/clamscan.log /home


    創建freshclam日志記錄文件

    mkdir -p /var/log/clamav
    touch /var/log/clamav/clamd.log
    chown clamav.clamav -R /var/log/clamav/

    chmod 644 clamav.clamav -R /var/log/clamav/


    touch /var/log/freshclam.log
    chmod 644 /var/log/freshclam.log
    chown clamav:clamav /var/log/freshclam.log

    創建clamav啟動腳本
    vi /etc/rc.d/init.d/clamav

    #!/bin/sh
    #
    # Startup / shutdown script for Clam Antivirus


    case "" in
    start)
    /usr/local/sbin/clamd && echo -n 'Clamd started'
    /usr/local/bin/freshclam -d -c 2 -l /var/log/freshclam.log
    echo -n ' freshclam started'
    ;;

    stop)
    /usr/bin/killall clamd > /dev/null 2>&1 && echo -n 'Clamd stoped'
    /usr/bin/killall freshclam > /dev/null 2>&1 && echo -n ' freshclam Stoped'
    ;;

    *)
    echo ""
    echo "Usage: `basename ` { start | stop }"
    echo ""
    exit 64
    ;;
    esac

    使其能夠執行
    chmod 755 /etc/rc.d/init.d/clamav

    隨開機起動
    echo /etc/rc.d/init.d/clamav start >/etc/rc.d/rc.local


    --------------------------------------------------------------------------------

    qmail-scanner&qms-analog

    為了能夠掃描郵件服務器中進出的郵件, 我們需要安裝 qmail-scanner. 如果你之前沒有安裝perl-suidperl,我們還需要安裝它

    cd /home/pkg
    rpm -Uvh perl-suidperl-5.8.0-88.3.i386.rpm

    解開qmail-scanner...

    tar zxvf qmail-scanner-1.22.tgz

    解壓qms-analog...

    tar zxvf qms-analog-0.3.4.tar.gz

    cd qms-analog-0.3.4

    make all

    下一步,我們拷貝所需要的qms-analog文件到qmail-scanner安裝目錄

    cp qmail-scanner-1.22-st-qms-20040530.patch /home/pkg/qmail-scanner-1.22/

    cp qms-config-script /home/pkg/qmail-scanner-1.22/

    現在,讓我們打上qms-analog補丁

    cd /home/pkg/qmail-scanner-1.22

    chmod 755 qms-config-script

    patch -p1 < qmail-scanner-1.22-st-qms-20040530.patch

    繼續安裝qmail-scanner,添加所需的組和用戶

    groupadd qscand
    useradd -g qscand -s /bin/false qscand

    我們通過qms-config-script腳本來安裝qmail-scanner,編輯qms-config-script

    vi qms-config-script

    修改下面紅色部份以達到我們的需求

    #!/bin/sh

    if [ "" != "install" ]; then
    INSTALL=
    else
    INSTALL="--install"
    fi

    ./configure --domain domain.com \
    --qmail-queue-binary /var/qmail/bin/qmail-queue \
    --admin postmaster \
    --local-domains "domain1.com,domain2.com,......" \
    --add-dscr-hdrs yes \
    --dscr-hdrs-text "X-Antivirus-MYDOMAIN" \
    --ignore-eol-check yes \
    --sa-quarantine 0 \
    --sa-delete 0 \
    --sa-reject no \
    --sa-subject ":SPAM:" \
    --sa-alt yes \
    --sa-debug no \
    --notify admin \
    --redundant yes \
    --lang en_GB \
    --debug yes \
    --unzip yes \
    --scanners clamscan,verbose_spamassassin \
    "$INSTALL"

    注意: "--admin" 和 "--domain" 參數組成了帳號"user"@"domain name". 警告消息將通過qmail-scanner 發往這個郵件帳號, 所以必須確認這是一個管理級別的帳號. 另外,所有域的警告信息都會發給這個帳號, 所以一定要小心.

    保存并退出。

    現在我們測試qmail-scanner安裝

    ./qms-config-script

    在第一步時, 按y 允許qmail-scanner提前configure. 第二步時, 按y,建立 qmail-queue-scanner.pl 文件.

    測試如果沒有錯誤 ,就可以進行下一步安裝

    ./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

    然后用一個普通用戶登陸,執行/var/qmail/bin/qmail-scanner-queue.pl -z

    setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -z //如果沒有Can't do setuid出現,安裝OK

    setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -r //查看qmailscan當前包含的特征

    setuidgid qscand /var/qmail/bin/qmail-scanner-queue.pl -g //保存qmailscan定義特征的修改,使他生效。

    chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
    chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl


    chown -R qscand:qscand /var/spool/qmailscan

    vi /var/qmail/supervise/qmail-smtpd/run

    在你的qmail啟動腳本加入紅色部份
    #!/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

    后重新啟動smtp服務

    qmailctl stop

    qmailctl start

    qmailctl stat

    這里有測試程序

    cd /home/pkg/qmail-scanner-1.23/contrib/

    chmod 755 test_installation.sh

    ./test_installation.sh -doit

    這個腳本會設定的管理員郵件地址發送3個郵件,第一個郵件是一般的正常郵件,第二個郵件中會包含eicar.com測試病毒,第三個郵件同樣包含eicar.com測試病毒,不過所附帶的文件名不是eicar.com。
    如果qmail-scanner安裝正確,管理員就應該可以收到關于后面的兩個郵件的警告郵件。
    如果系統出錯,可以查看/var/spool/qmailscan/qmail-queue.log日志文件。
    qmail-scanner的特征過濾在/var/spool/qmailscan/quarantine-atachments.txt

    主要的排錯監測日志
    /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


    --------------------------------------------------------------------------------

    MailDrop and TNEF reader

    TNEF是一個從"application/ms-tnef". 類型中找出MIME附件的程序.這僅僅是微軟系統中的一種附件.

    TNEF程序允許將封裝成TNEF的附件提取出來. 安裝TNEF并不是必須的, 但我強烈推薦安裝它!

    # 安裝 maildrop
    cd /home/pkg
    tar -jzvf maildrop-1.7.0.tar.bz2
    cd maildrop-1.7.0
    ./configure
    make
    make install-strip
    make install-man

    # 安裝 the tnef
    cd /home/pkg
    tar -xzvf tnef-1.2.3.1.tar.gz
    cd nef-1.2.3.1
    ./configure
    make
    make install



    使用Maildrop調用SpamAssassin

    在/home/vpopmail/domains/localhost.com(你創建的域)/ 建立mailfilter文件
    touch mailfilter
    chown vpopmail:vchkpw mailfilter
    chmod 700 mailfilter


    mailfilter內容如下:

    VPOP="| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox"
    VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`

    if ( $SIZE < 262144 )
    {
    exception {
    xfilter "/usr/bin/spamc -f -u $EXT@$HOST"
    }
    }

    if (/^X-Spam-Flag: YES/)
    {
    # try filtering it using user-defined rules
    exception {
    include $VHOME/Maildir/.mailfilter
    }
    # then try delivering it to a Spam folder
    exception {
    # to "$VPOP"
    to "$VHOME/Maildir/.Spam/"
    }
    # ah well, I guess they'll just have to live with disappointment
    exception {
    to "$VPOP"
    }
    }
    else
    {
    exception {
    include $VHOME/Maildir/.mailfilter
    }
    exception {
    to "$VPOP"
    }
    }

    修改.qmail-default內容如下:
    | /usr/local/bin/maildrop ./mailfilter


    --------------------------------------------------------------------------------

    QmailAnalog & qlogtools

    Qmailanalog針對qmail的日志進行一些最基本的分析,并將結果發送到你指定的位置。在我的方案中,設置qmailanalog每天晚上運行,并將結果發送給管理員。在使用qmailanalog時,我們還將會用到 qlogtools軟件包。qlogtools提供一系列分析qmail日志的工具,這些工具將文件中誨澀難懂的日志轉換成便於我們閱讀和能夠理解的報告。當安裝完成Qmailstats和Qlogtools后,我將會創建一個腳本讓它每天晚上運行,并將報告發送到管理員郵箱。這個腳本也可用到我們先前安裝的qms-analog,qms-analog將會提供qmail-scanner運行狀態報告。

    先安裝qmailanalog

    cd /home/pkg/

    tar zxvf qmailanalog-0.70.tar.gz

    cd qmailanalog-0.70

    patch < /home/pkg/qmailanalog-0.70.errno.patch

    make && make setup check

    安裝qlogtools

    cd /home/pkg/

    tar zxvf qlogtools-3.1.tar.gz

    cd qlogtools-3.1

    patch < /home/pkg/qlogtools_errno.patch

    make

    ./installer

    現在我們要創建一個腳本,并將它添加到cron,讓其每天晚上運行并產生報告。

    下面是一個可靠的腳本,它將會收集qmailanalog輸出的信息并產生報告。

    紅色部份改成你的域名。
    vi /var/qmail/bin/qmailstats

    #!/bin/sh
    # Qmailanalog invocation script
    PATH=/usr/local/qmailanalog/bin:/var/qmail/bin:/bin:/usr/bin:/usr/local/bin
    QMAILSTATS="/tmp/q.$$"
    EMAILMSG="/tmp/qms.$$"
    umask 077
    cat /var/log/qmail/* /var/log/qmail/pop3d/* /var/log/qmail/pop3ds/* /var/log/
    qmail/smtpd/* | tai64n2tai | awk '' | matchup > $QMAILSTATS 5>/dev/null

    DATE=`date +'%D'`

    echo "To: postmaster@yourdomain.com" > $EMAILMSG
    echo "From: postmaster@yourdomain.com" >> $EMAILMSG
    echo "Subject: Nightly Qmail Stats Report for $DATE" >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    zoverall < $QMAILSTATS >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    zfailures < $QMAILSTATS >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    zdeferrals < $QMAILSTATS >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~ L a s t 2 4 H o u r s ~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    cat /var/spool/qmailscan/qms-events.log | qms-analog 24 >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A l l R e c o r d s ~~~~~~~~~~~~~~~~~~~~~~~~~~~~" >> $EMAILMSG
    cat /var/spool/qmailscan/qms-events.log | qms-analog 0 >> $EMAILMSG
    cat $EMAILMSG | qmail-inject

    rm -f $QMAILSTATS
    rm -f $EMAILMSG

    設置此腳本可執行

    chmod 750 /var/qmail/bin/qmailstats

    現在,讓我們運行腳本

    /var/qmail/bin/qmailstats

    確認你的管理員郵箱,你將會收到一份非常詳盡的報告。

    如果測試運行正常,那就加入cron讓其每天早上3點運行。

    crontab -e

    0 3 * * * /var/qmail/bin/qmailstats 1>/dev/null 2>/dev/null


    --------------------------------------------------------------------------------

    isoqlog

    isoqlog是一個qmail日志分析工具,它是用perl寫的,可以分析和統計 qmail的運行日志,并生成漂亮的HTML格式的報表,如果服務器上已經安裝WEB服務,管理員就可以通過瀏覽器來查看這些報表。相對于 qmailanalog,isoqlog分析的項目稍微少一些。

    isoqlog可以生成多個郵件域的報表;對于每個郵件域,isoqlog可以統計出每天、每月、每年的郵件流量以及字節數,還生成相應的統計柱狀圖;對于每天的報表,isoqlog可以根據郵件投遞的數量以及字節數的多少來對郵件用戶進行排列。

    #安裝isoqlog

    cd /home/pkg

    tar zxvf isoqlog-2.1.1.tar.gz

    cd isoqlog-2.1.1

    ./configure

    make

    make install

    make clean

    cd isoqlog


    mkdir /var/www/html/isoqlog

    cp -pr ./htmltemp/images ./htmltemp/library /var/www/html/isoqlog


    #配置isoqlog

    cd /usr/local/etc

    mv isoqlog.conf-dist isoqlog.conf

    vi isoqlog.conf

    將下面紅色部份改成你的安裝目錄和主機名稱。

    #isoqlog Configuration file

    logtype = "qmail-multilog" #log type qmai-multilog, qmail-syslog, sendmail, postfix
    logstore = "/var/log/qmail" #
    domainsfile = "/usr/local/etc/isoqlog.domains" #
    outputdir = "/var/www/html/isoqlog" #html outpur directory
    htmldir = "/usr/local/share/isoqlog/htmltemp"
    langfile = "/usr/local/share/isoqlog/lang/english"
    hostname = "mail.domain.com"

    maxsender = 100
    maxreceiver = 100
    maxtotal = 100

    maxbyte = 100

    保存并退出。

    下一步是告訴isoqlog哪些虛擬域需要產生統計報表,我希望我的mail服務器能夠報告每個域的狀態,所以只需要簡單的創建了個鏈接即可:

    ln -s /var/qmail/control/rcpthosts isoqlog.domains

    現在,isoqlog應該能夠正常運行了,運行如下命令測試一下效果:

    /usr/local/bin/isoqlog

    通過如下頁面查看輸出結果:

    http://domain.com/isoqlog

    你可以點擊各個虛擬域名稱顯示其報表。


    我們希望isoqlog能夠即時提供報表,將如下內容加入crontab

    crontab -e

    58 * * * * /usr/local/bin/isoqlog 1>/dev/null 2>/dev/null

    每個小時的第58分鐘運行一次


    --------------------------------------------------------------------------------



    MRTG

    安裝 MRTG
    多路由器通信監視器(MRTG)是在網絡鏈路上監控通信負載的一件工具。 MRTG 產生包含圖表的HTML網頁,它可以將系統中的通信情況實時的顯示在頁面上。 我們可以在我們的系統上使用它來監控電子郵件和spam情況。

    # 安裝 zlib (壓縮的圖形文件包)
    cd /home/pkg
    tar -xzf zlib-1.1.4.tar.gz
    mv zlib-1.1.4/ zlib
    cd zlib
    ./configure
    make
    cd ..

    # 安裝 libpng (PNG圖片格式包)
    tar -xzf libpng-1.2.7.tar.gz
    mv libpng-1.2.7/ libpng
    cd libpng
    make -f scripts/makefile.std CC=gcc ZLIBLIB=../zlib ZLIBINC=../zlib
    rm *.so.* *.so
    cd ..

    # 安裝 gd (制圖軟件包)
    tar -xzf gd-1.8.3.tar.gz
    mv gd-1.8.3/ gd
    cd gd
    make INCLUDEDIRS="-I. -I../zlib -I../libpng" LIBDIRS="-L../zlib -L. -L../libpng" LIBS="-lgd -lpng -lz -lm"
    make install
    cd ..

    # 編譯 MRTG
    tar -xzf mrtg-2.10.15.tar.gz
    cd mrtg-2.10.15/
    ./configure --prefix=/usr/local/mrtg-2 –-with-gd=/home/pkg/gd/ --with-z=/home/pkg/zlib/ --with-png=/home/pkg/libpng/
    make
    make install
    所有MRTG需要的軟件包都安裝在了 /usr/local/mrtg-2 目錄下. 你現在可以安全的刪除上面編譯的源碼. 但是你最好留著,以便你編譯下一個版本的MRTG時所需.

    通過安裝inter7的qmailmrtg ,我們將在我們的系統上安裝MRTG

    # 編譯 qmailmrtg
    cd /home/pkg
    tar -xzf qmailmrtg7-4.0.tar.gz
    cd qmailmrtg7-4.0
    make
    make install
    mkdir /var/www/html/qmailmrtg
    cp qmail.mrtg.cfg index.html /var/www/html/qmailmrtg
    cd /usr/local/apache/htdocs/qmailmrtg/
    修改 qmail.mrtg.cfg 和 index.html文件, 將所有出現FQDN 的地方都改成你的完整域名(例如: test.com). 如果你的HTTP MRTG目錄并不是默認的 (例如: 你并沒有把 /var/www/html/作為你的web根目錄), 則必須在/var/www/html/qmailmrtg/qmail.mrtg.cfg 文件中修改WorkDir變量為正確的路徑. 如果你不需要記錄某項服務, 你可以在所不需要記錄的服務每一行的前面加一個# 來注釋掉它,并刪除index.html中對應的服務項目。

    你可以修改 pop3和smtp所在的行, 設置MaxBytes參數來重寫tcpserver中-cX所在行.

    你還可以修改concurrency來重寫concurrencyremote或concurrencylocal 的值. 如果這些文件在/var/qmail/control 目錄下并不存在,則qmail默認的值為20.

    下面是我們的最后一步,將下面一段添加到crontab中, 以使我們能每五分鐘升級一次MRTG數據. 運行如下命令:

    crontab -e
    添加下面一段 (使MRTG每五分鐘運行一次) 然后退出crontab:

    */5 * * * * /usr/local/mrtg-2/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg 2>&1 > /dev/null
    現在運行MRTG三次來安裝它. 你將會收到3次警告消息. 之后,你將不會再收到警告了.

    env LANG=C /usr/local/mrtg-2/bin/mrtg /var/www/html/qmailmrtg/qmail.mrtg.cfg
    現在應該安裝好了. 為了能顯示些信息,我們等待15分鐘的日志記錄. 你可以通過下面的地址來檢查圖形監控情況:

    http://your.host.name/qmailmrtg/
    查看它們的圖形監控情況!



    --------------------------------------------------------------------------------

    測試
    測試igenus

    http://domain.com/

    測試qmailadmin


    http://domain.com/cgi-bin/qmailadmin

    測試vQadmin


    http://domain.com/cgi-bin/vqadmin/vqadmin.cgi
    測試SMTP認證
    # telnet localhost 25

    Trying 127.0.0.1...

    Connected to mail.domain.com (127.0.0.1).
    Escape character is '^]'.
    220 mail. domain.com ESMTP
    EHLO hostname
    250-mail.domain.com
    250-AUTH LOGIN CRAM-MD5 PLAIN
    250-AUTH=LOGIN CRAM-MD5 PLAIN
    250-PIPELINING
    250 8BITMIME
    測試POP3
    # telnet localhost 110
    Trying 127.0.0.1...
    Connected to localhost.localdomain.
    Escape character is '^]'.
    +OK Hello there.
    user xy.wang@domain.com
    +OK Password required.
    pass [password]
    +OK logged in.
    quit
    +OK Bye-bye.
    Connection closed by foreign host.

    測試IMAP
    # telnet localhost 143
    Trying 127.0.0.1...
    Connected to localhost.localdomain(127.0.0.1).
    Escape character is '^]'.
    * OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information.
    a001 login user@test.com [password]
    a001 OK LOGIN Ok.
    a001 logout
    * BYE Courier-IMAP server shutting down
    a001 OK LOGOUT completed
    Connection closed by foreign host.


    --------------------------------------------------------------------------------

    郵件系統維護:
    郵件系統相關日志
    /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

    設置Qmail用戶郵箱的容量
    # cd /home/vpopmail/bin
    #./vsetuserqutoa domain.com 10500000s --domain.com這個域,都設成10m的
    #./vsetuserqutoa xuki@domain.com 10500000s ---只把xuki@domain.com這個用戶單獨設置為10m。

    批量添加用戶

    例1:

    新建一文件 batchadduser.sh,將以下內容拷入文件中保存 ,運行chmod u+x batchadduser.sh使其可執行。

    #!/bin/bash
    #batchadduser.sh: batch add mail user.
    #install step.
    #chmod u+x batchadduser
    #./batchadduser.sh domain datafile
    if [ $# -lt 2 ]
    then
    echo "usage: domain datafile"
    exit 1
    fi
    domain=
    datafile=
    addcmd=/home/vpopmail/bin/vadduser
    while read username passwd
    do
    $addcmd $username@$domain $passwd
    done < $datafile

    user文件內容的格式
    username1 passwd
    username2 passwd2
    ............


    運行batchadduser.sh user即可批量添加用戶。

    例2:

    我把用戶名放到一個文本文件中,一個名字一行,密碼和它的帳號一致,用戶自己再去改密碼。

    while read line
    do
    echo $line
    ./vadduser $line $line
    done < user


    有選擇地清理不需要的Mail Queue


    1、處理隊列中的郵件:

    如想在隊列中的郵件馬上傳遞,可以
    # kill -HUP qmail-send
    要刪除隊列中的郵件
    1) 停止QMAIL
    2) mv /var/qmail/queue/lock /var/qmail/;find /var/qmail/queue/ -type f -exec rm {} \; ;mv /var/qmail/lock /var/qmail/queue/
    3) 重啟QMAIL.
    隊列中的郵件包含在以下目錄中 /var/qmail/queue//hash/#number
    2、在郵件隊列中快速刪除從一個地方發過來但又不存在的郵件 設bad.jite.com是這個域??梢枣I入以下命令
    # echo # > ~alias/.qmail-baddomain-default
    # echo bad.jite.com:alias-baddomain>> /var/qmail/control/virtualdomains
    # echo bad.jite.com:127.0.0.1 >> /var/qmail/control/smtproutes
    然后運行/var/qmail/bin/qmail-tcpok,給qmail-send 一個HUP信號
    3、刪除隊列中的大量廣告信息

    先停止QMAIL.
    1) 停止qmail, qmail-smtpd
    2) 在以下默認目錄下 /var/qmail/queue/mess
    find /var/qmail/queue/mess -type f -exec grep "^Subject:dss" {} \; -print -exec rm {} \;
    3) 運行queue-fix清除相關文件,
    4) 重啟qmail.

    使用sh備份qmail+mysql數據到指定的ftp地址的方法
    備份vpopmail的domains目錄、qmail的control目錄和mysql的var數據存放目錄,使用crontab定時進行操作。下面是腳本文件,具體的目錄視自己的系統更改:
    mkdir /var/qmailbakup
    cd /var/qmailbakup
    touch qmailbakup.sh
    chmod 755 qmailbakup .sh
    vi qmailbakup.sh
    [code:1:d480555598]
    #!/bin/sh
    DATE=`date +%Y-%m-%d-%H`
    cd /var/qmailbakup/
    tar cvzf domains.$DATE.tar.gz /home/vpopmail/domains
    tar cvzf control.$DATE.tar.gz /var/qmail/control
    tar cvzf mysql.$DATE.tar.gz /usr/local/mysql/var
    ftp -n 192.168.0.21 << ! //你的ftp服務器的地址
    user qmail qmailbakup //ftp用戶名和密碼,注意要有put權限
    binary
    put domains.$DATE.tar.gz
    put control.$DATE.tar.gz
    put mysql.$DATE.tar.gz
    bye
    !
    rm -f domains.$DATE.tar.gz control.$DATE.tar.gz mysql.$DATE.tar.gz //刪除本機產生的文件,如果你想在本服務器也保存一份備份,去掉該項即可。
    [/code:1:d480555598]
    使用crontab定時執行:
    vi /etc/crontab
    00 20 * * 0-6 /var/qmailbakup/qmailbakup.sh
    這樣每天晚上8:00執行改備份程序。
    給新浪發信的解決辦法
    qmail
    echo "我的郵件服務器的真實域名(A記錄)" > /var/qmail/control/helohost

    臨時限制一個用戶的pop3
    vmoduser -p email_addr or domain ( for the entire domain )

    修改默認的域名
    A:
    要更改haohao.com為默認域。
    方法:
    更改~qmail/control/
    defaultdomain
    me
    plusdomains
    逐一更改啟動pop3和 smtp的啟動腳本:
    修改:email.3sk.com為haohaoo.com
    在最上邊添加:export VPOPMAIL_DOMAIN=haohaoo.com

    將一個系統的Qmail用戶完整地轉移到另一個系統
    A:
    a.cdb配置的?那么請把/home/vpopmail/domains這個文件夾備份好就可以了。用戶和密碼文件,還有用戶信件都在這個目錄下。
    還應該備份/var/qmail/control下的相關配置文件。

    b.如果是以MYSQL數據庫方式來存儲用戶認證信息的
    只需要備份
    ~vpopmail/domain下的所有郵件
    /var/qmail/control的配置文件
    MYSQL數據庫目錄下的vpopmail庫目錄。一般是/var/lib/mysql(RPM)、/usr/local/mysql/data、/usr/local/mysql/var下面。


    把一郵件域的名字比如a.com更改為b.com,如何實現
    以下幾個步驟:
    1、cd /home/vpopmail/domains
    mv a.com b.com
    2、把vpopmail數據庫的vpopmail表導出把所有a.com改為b.com,然后刪除vpopmail表,再導入.
    3、把把vpopmail數據庫的dir_control表的a.com改為b.com
    4、在/home/qmail/control 目錄下把 virtualdomains和rcpthosts下的的a.com改為b.com.
    5、在/home/qmail/users目錄下把assign文件的a.com改為b.com
    6、需要運行qmail-newu重新生成cdb。assign只是配置文件,cdb才是實際的數據文件。
    加快 qmail 投遞郵件速度
    A: /var/qmail/control下面是qmail的控制文件,這兩個文件:
    Concurrentcylocal default: 10 最大本地同時傳送數
    Concurrencyremote default: 20 最大遠程同時傳送數
    更改域的默認管理賬號
    A: vmoduser有個-a參數,可以賦予用戶管理權限。

    如果想全面禁用postmaster的特殊權限話,就只能改源代碼了。

    QMAIL下的主要配置文件(/var/qmail/control目錄下):
    文件名 默認值 使用者 用途
    badmailfrom none qmail-smtpd 黑名單地址
    bouncefrom MAILER-DAEMON qmail-send 退回郵件
    bouncehost me qmail-send 退回郵件
    concurrencylocal 10 qmail-send 本地同時投遞郵件的數目
    concurrencyremote 20 qmail-send 同時投遞至遠程主機的數目
    defaultdomain me qmail-inject 默認域名
    defaulthost me qmail-inject 默認主機名
    databytes 0 qmail-smtpd 郵件的最大容量 (0=無限制)
    doublebouncehost me qmail-send
    doublebounceto postmaster qmail-send
    envnoathost me qmail-send 沒有"@"的默認域名
    helohost me qmail-remote 主機名
    idhost me qmail-inject Message-ID的主機名
    localiphost me qmail-smtpd 本地IP的替代名
    locals me qmail-send 傳遞至本地的域名
    me 系統正式域名 various
    morercpthosts none qmail-smtpd 第二個rcpthosts
    percenthack none qmail-send 使用 "%"格式的域名
    plusdomain me qmail-inject
    qmqpservers none qmail-qmqpc QMQP服務器的IP地址
    queuelifetime 604800 qmail-send 在隊列中郵件保存的時間(秒)
    rcpthosts none qmail-smtpd 接收郵件的域名
    smtpgreeting me qmail-smtpd
    smtproutes none qmail-remote
    timeoutconnect 60 qmail-remote SMTP連接超時時間
    timeoutremote 1200 qmail-remote 等待遠程主機的時間
    timeoutsmtpd 1200 qmail-smtpd SMTP客戶連接超時的時間
    virtualdomains none qmail-send 虛擬域名


    Qmail限制附件大小
    我的配置經驗==》Qmail限制附件大?。?br />1.在/var/qmail/control/databytes 中設置附件大小,這個文件要手動建立,直接輸入數字就行,默認單位為bytes,如10485760為10M;
    2.Webmail中發送附件默認只支持500K左右,如想支持5M附件,修改如下文件
    # vi /etc/php.ini

    post_max_filesize=5M //320行
    upload_max_filesize=5M //405行
    session.bug_compat_42=0 //加入到641行
    session.bug_compat_warn=0

    # vi /etc/httpd/conf.d/php.conf
    LimitRequestBody 5242880 //修改14行的值為5M

    WebMail上傳附件大小限制 (解決上傳文件不能大于512KB的問題)
    更改/etc/httpd/conf.d/php.conf:

    LimitRequestBody 524288中的524288正好跟512KB相等,將其更改為10485760,設置允許最大上傳的附件為10MB。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>