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

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

  • <strong id="5koa6"></strong>
  • Qmail+LDAP安裝配置實例<一>

    發表于:2007-07-02來源:作者:點擊數: 標簽:
    目前網上關于qmail+LDAP的配置不是很多,而且大多數是英文的。而qmail和openldap的配置沒有詳細的配置文檔。前一段時間因為工作關系配置了qmail+LDAP的 服務器 ?,F在將其整理處理,以供大家參考。希望對于大家有所幫助。 Qmail 是基于類似 UNIX 操作系統的I

    目前網上關于qmail+LDAP的配置不是很多,而且大多數是英文的。而qmail和openldap的配置沒有詳細的配置文檔。前一段時間因為工作關系配置了qmail+LDAP的服務器?,F在將其整理處理,以供大家參考。希望對于大家有所幫助。
    Qmail 是基于類似UNIX操作系統的Internet Mail Transfer Agent (MTA) 。我的安裝環境是linux7.1 內核是2.4.2,gcc version 2.96,組件全部安裝。
    安裝步驟
    1.操作系統:
    Red Hat Linux 7.1 kernel 2.4.2 gcc 2.96
    2.所需軟件包:
    qmail-1.03.tar.gz ()
    ucspi-tcp-0_88_tar.gz ()
    checkpassword-0_90_tar.gz ()
    qmail-ldap-1_03-20010301_patch.gz ()
    openldap-2_0_7.tgz ()
    daemontools,
    3.主機IP地址和域名配置,在本例中為:
    IP:172.18.6.111
    域名:longshine.com
    4. System requirements
    5. 安裝步驟
    將所有需要安裝的包拷貝到/usr/local/src/qmail目錄項目
    mkdir -p /usr/local/src/qmail
    mv *.tar.gz /usr/local/src/qmail
    然后解開安裝下面步驟解開這些包
    su -
    umask 022
    cd /usr/local/src/qmail
    tar zxvf qmail-1.03.tar.gz
    tar xvf ucspi-tcp-0.88.tar.gz
    tar zxvf daemontools-0.70.tar.gz
    tar zxvf checkpassword-0.90.tar.gz
    解開的數據包應該處在qmail-1.03, ucspi-tcp-0.88, daemontools-0.70和checkpassword-0.90目錄下,進入qmail目錄。
    cd qmail-1.03
    建立相應的安裝目錄
    由于qmail安裝程序會產生其需要的子目錄,所以只要生成安裝所需的"home" 目錄:
    mkdir /var/qmail
    ln -s /usr/man /var/qmail/man
    mkdir /etc/qmail
    ln -s /etc/qmail /var/qmail/control
    ln -s /usr/sbin /var/qmail/bin
    生成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
    編譯安裝
    現在可以編譯安裝qmail:
    make setup check
    在編譯安裝完成,需要進行配置如果DNS配置正確,只需執行下面的命令:
    ./config
    如果config在DNS中不能找到主機名,則需要執行config-fast 腳本:
    ./config-fast longshine. com
    qmail 現在已經安裝起來了,下面開始是啟動和配置qmail。
    安裝 ucspi-tcp
    進入 ucspi-tcp 目錄:
    cd /usr/local/src/qmail/ucspi-tcp-0.88
    make
    make setup check
    這樣ucspi-tcp 安裝起來了。
    安裝daemontools
    進入 daemontools 目錄:
    cd /usr/local/src/qmail/daemontools-0.70
    make
    make setup check
    安裝checkpassword
    進入 checkpassword 目錄:
    cd /usr/local/src/qmail/checkpassword-0.90
    make
    make setup check
    注: 在某些LINUX版本中(我的安裝環境redhat 7.1), 如Red Hat 7,可能在編譯過程中會生成錯誤:
    ./compile tai64nlocal.c
    tai64nlocal.c: In function `main@#:
    tai64nlocal.c:54: warning: assignment makes pointer from integer without a cast
    tai64nlocal.c:55: dereferencing pointer to incomplete type
    等等….
    如果這樣按照下面說明編輯tai64nlocal.c
    #include
    更改為:
    #include
    生成/service 目錄:
    mkdir /service
    最后配置svscan 使得當系統啟動時候自動允許。編輯 /etc/inittab 文件將下面一行加入文件最后(注意是在一行中):
    SV:123456:respawn:env - PATH=/usr/local/bin:/usr/sbin:/usr/bin:/bin svscan /service /dev/console 2>/dev/console
    然后執行下面命令重新讀人/etc/inittab:
    kill -HUP 1
    可以使用"ps -ef | grep svscan" 或者 "ps waux | grep svscan" 證實svscan 正在運行。
    啟動qmail
    2.8.1. /var/qmail/rc
    編輯產生/var/qmail/rc文件將下面命令進入其中
    #!/bin/sh
    # Using stdout for logging
    # Using control/defaultdelivery from qmail-local to deliver messages by default
    exec env - PATH="/var/qmail/bin:$PATH"
    qmail-start "`cat /var/qmail/control/defaultdelivery`"
    chmod 755 /var/qmail/rc
    mkdir /var/log/qmail
     在qmail中,支持三種郵件存儲方式,分別是典型的/var/spool/mail方式、傳統的Unix user/Mailbox方式和新的 user/Maildir方式,其中前兩種方式為大多數的郵件客戶端所支持,但是它們均存在安全上的隱患,所以在這里使用了第三種方式,下面分別敘述三種方式的建立方法:
      /var/spool/mail 方式
      #cp /var/qmail/boot/proc /var/qmail/rc
      user/Mailbox 方式
      #cp /var/qmail/boot/home /var/qmail/rc
      user/Maildir 方式
      1)#cp /var/qmail/boot/home /var/qmail/rc
    2)建立相應的郵件用戶,例如:
    #useradd test
      #passwd test
      3)使用qmail提供的工具建立Maildir,命令如下:
      $ /var/qmail/bin/maildirmake Maildir
      $ echo ./Maildir/ >.qmail
      (注意這里必須以用戶權限建立郵箱)
      4) 為了使root用戶也能收發郵件,使用如下命令:
      # su alias
      $ cd
      $ /var/qmail/bin/maildirmake Maildir
      $ echo ./Maildir/ >.qmail
    # echo ./Mailbox/ >/var/qmail/control/defaultdelivery
    系統start-up 文件
    生成qmailctl 腳本
    #!/bin/sh
    # For Red Hat chkconfig
    # chkconfig: - 30 80
    # description: the qmail MTA
    PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
    export PATH
    QMAILDUID=`id -u qmaild`
    NOFILESGID=`id -g qmaild`
    case "$1" in
    start)
    echo "Starting qmail"
    if svok /service/qmail-send ; then
    svc -u /service/qmail-send
    else
    echo qmail-send service not running
    fi
    if svok /service/qmail-smtpd ; then
    svc -u /service/qmail-smtpd
    else
    echo qmail-smtpd service not running
    fi
    if [ -d /var/lock/subsys ]; then
    touch /var/lock/subsys/qmail
    fi
    ;;
    stop)
    echo "Stopping qmail..."
    echo " qmail-smtpd"
    svc -d /service/qmail-smtpd
    echo " qmail-send"
    svc -d /service/qmail-send
    if [ -f /var/lock/subsys/qmail ]; then
    rm /var/lock/subsys/qmail
    fi
    ;;
    stat)
    svstat /service/qmail-send
    svstat /service/qmail-send/log
    svstat /service/qmail-smtpd
    svstat /service/qmail-smtpd/log
    qmail-qstat
    ;;
    doqueue|alrm|flush)
    echo "Sending ALRM signal to qmail-send."
    svc -a /service/qmail-send
    ;;
    queue)
    qmail-qstat
    qmail-qread
    ;;
    reload|hup)
    echo "Sending HUP signal to qmail-send."
    svc -h /service/qmail-send
    ;;
    pause)
    echo "Pausing qmail-send"
    svc -p /service/qmail-send
    echo "Pausing qmail-smtpd"
    svc -p /service/qmail-smtpd
    ;;
    cont)
    echo "Continuing qmail-send"
    svc -c /service/qmail-send
    echo "Continuing qmail-smtpd"
    svc -c /service/qmail-smtpd
    ;;
    restart)
    echo "Restarting qmail:"
    echo "* Stopping qmail-smtpd."
    svc -d /service/qmail-smtpd
    echo "* Sending qmail-send SIGTERM and restarting."
    svc -t /service/qmail-send
    echo "* Restarting qmail-smtpd."
    svc -u /service/qmail-smtpd
    ;;
    cdb)
    tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
    chmod 644 /etc/tcp.smtp.cdb
    echo "Reloaded /etc/tcp.smtp."
    ;;
    help)
    cat < stop -- stops mail service (smtp connections refused, nothing goes out)
    start -- starts mail service (smtp connection accepted, mail can go out)
    pause -- temporarily stops mail service (connections accepted, nothing leaves)
    cont -- continues paused mail service
    stat -- displays status of mail service
    cdb -- rebuild the tcpserver cdb file for smtp
    restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
    doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
    reload -- sends qmail-send HUP, rereading locals and virtualdomains
    queue -- shows status of queue
    alrm -- same as doqueue
    flush -- same as doqueue
    hup -- same as reload
    HELP
    ;;
    *)
    echo "Usage: $0 {start|stop|restart|doqueue|flush|reload|stat|pause|cont|cdb|queue|help}"
    exit 1
    ;;
    esac

    exit 0

    此腳本可以通過獲得
    使用vi 生成/var/qmail/bin/qmailctl基本將上面內容放入其中, 然后將其安裝在
    /etc/init.d
    /etc/rc.d/init.d
    執行下面命令,產生鏈接:
    ln -s ../init.d/qmail /etc/rc0.d/K30qmail
    ln -s ../init.d/qmail /etc/rc1.d/K30qmail
    ln -s ../init.d/qmail /etc/rc2.d/S80qmail
    ln -s ../init.d/qmail /etc/rc3.d/S80qmail
    ln -s ../init.d/qmail /etc/rc4.d/S80qmail
    ln -s ../init.d/qmail /etc/rc5.d/S80qmail
    ln -s ../init.d/qmail /etc/rc6.d/K30qmail
    ln -s /var/qmail/bin/qmailctl /etc/init.d/qmail
    使得腳本可以執行 qmailctl且進入系統命令中
    chmod 755 /var/qmail/bin/qmailctl
    ln -s /var/qmail/bin/qmailctl /usr/bin
    supervise 基本
    現在產生qmail services目錄:
    mkdir -p /var/qmail/supervise/qmail-send/log
    mkdir -p /var/qmail/supervise/qmail-smtpd/log
    chmod +t /var/qmail/supervise/qmail-send
    chmod +t /var/qmail/supervise/qmail-smtpd
    生成/var/qmail/supervise/qmail-send/run 文件:
    #!/bin/sh
    exec /var/qmail/rc
    生成/var/qmail/supervise/qmail-send/log/run 文件:
    #!/bin/sh
    exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail
    生成 /var/qmail/supervise/qmail-smtpd/run 文件:
    #!/bin/sh
    QMAILDUID=`id -u qmaild`
    NOFILESGID=`id -g qmaild`
    MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
    exec /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -c "$MAXSMTPD"
    -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd 2>&1
    生成concurrencyincoming 控制文件:
    echo 20 > /var/qmail/control/concurrencyincoming
    chmod 644 /var/qmail/control/concurrencyincoming
    生成/var/qmail/supervise/qmail-smtpd/log/run 文件:
    #!/bin/sh
    exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtpd
    使得所生成的腳本可執行:
    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
    建立log 目錄:
    mkdir -p /var/log/qmail/smtpd
    chown qmaill /var/log/qmail /var/log/qmail/smtpd
    將supervise 鏈接到/service:
    ln -s /var/qmail/supervise/qmail-send /var/qmail/supervise/qmail-smtpd /service
    注: qmail 系統應該自動起來。如果不想此時候啟動,執行:
    qmailctl stop@#

    原文轉自: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>