Skip to content

2009.06.04 02:56

qmail설치

조회 수 8871 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. ucspi-tcp 설치
   
    wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
   
    tar zxvf ucspi-tcp-0.88.tar.gz
   
    cd ucspi-tcp-0.88
   
    make
    ** make시 오류가 발생할 경우 해당 os의 gcc 버전이 높아서 발생하는 문제이므로 
       ucspi-tcp 폴더 안의 err.h 파일에 #incldue <errno.h>을 추가함으로써 해결할수 있다.                    
   
    make setup check

2. daemontools 설치
   
    wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz

    mkdir /usr/local/package

    tar  zxvf daemontools-0.76.tar.gz

    cd /usr/local/package/admin/daemontools-0.76

    /package/install
    ** install 시에 오류 발생할 경우
    /usr/local/package/admin/daemontools-0.76/src/error.h에 #include <error.h>를 추가한다.
 
3. qmail 설치

    wget ftp://ftp.eu.uu.net/pub/unix/mail/qmail/qmail-1.03.tar.gz

    wget http://people.kldp.org/~eunjea/qmail/patch/qmail-ej-cocktail-14.tar.gz   --> 칵테일 패치
    
    tar zxvf qmail-1.03.tar.gz

    tar zxvf qmail-ej-cocktail-14.tar.gz

    cd qmail-1.03

    patch -p1 < ../qmail-ej-cocktail-14/cocktail.patch

    vi conf-spawn
    -->con-spawn을 수정, OS별로 설정값이 다름, 레드햇일경우 509로 수정

    큐메일 유저, 그룹 추가
    groupadd -r nofiles
    useradd -r -g nofiles -d /var/qmail/alias alias
    useradd -r -g nofiles -d /var/qmail/qmail qmaild
    useradd -r -g nofiles -d /var/qmail/qmail qmaill
    useradd -r -g nofiles -d /var/qmail qmailp
    groupadd -r qmail
    useradd -r -g qmail -d /var/qmail qmailq
    useradd -r -g qmail -d /var/qmail qmailr
    useradd -r -g qmail -d /var/qmail qmails
    
     make

     make setup check
 
     ./config
     --> config에서 오류 발생시 ./config-fast mail.도메인 실행
     
     컨트롤 파일 수정
     vi /var/qmail/control/defaultdomain
     --> 자신이 사용하고자 하는 도메인으로 설정
     vi /var/qmail/control/locals
     --> localhost로 설정
     vi /var/qmail/control/me
     --> mail.도메인
     vi /var/qmail/control/plusdomain
     --> mail.도메인
     cat /dev/null > /var/qmail/control/rcphosts

      qmail 데몬을 위한 디렉토리와 스크립트 파일 생성
      vi /var/qmail/rc
      #!/bin/sh
      exec env - PATH="/var/qmail/bin:$PATH"
      qmail-start ./Maildir/
      chmod 755 /var/qmail/rc
      mkdir -p /var/qmail/supervise/qmail-send/log   
      mkdir -p /var/qmail/supervise/qmail-smtpd/log
      chmod 1755 /var/qmail/supervise/qmail-send
      chmod 1755 /var/qmail/supervise/qmail-smtpd
     
       vi /var/qmail/supervise/qmail-send/run
       --> #!/bin/sh
            exec /var/qmail/rc

       vi /var/qmail/supervise/qmail-send/log/run
       --> #!/bin/sh
            exec /usr/local/bin/setuidgid qmail
             /usr/local/bin/multilog t /var/log/qmail

      
       vi /var/qmail/supervise/qmail-smtpd/run
       --> #!/bin/sh
             0_UID=`id -U qmaild`
             0_GID=`id -g qmaild`
             exec /usr/local/bin/softlimit -m 2000000
             /usr/local/bin/tcpserver -vRHl 0
             -x /etc/tcp.smtp.cdb
             -u $0_UID -g $0_GID 0 25 /var/qmail/bin/qmail-smtpd Z>& 1 

        
         vi /var/qmail/supervise/qmail-smtpd/log/run
         -->  #!/bin/sh
                exec /usr/local/bin/setuidgid qmail
                /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

        
        큐메일을 위한 로그 디렉토리 생성
        mkdir -p /var/log/qmail/smtpd
        chown qmaill /var/log/qmail /var/log/qmail/smtpd        
        

        Alias설정
        큐메일은 root로 메일을 배달하지 않으므로 반드시 알리아즈를 만들어 줘야 함
        postermaster, mailer-daemon 오는 메일도 알리아즈해서 사용하는 것이 편리
        ex)system@jinkalee.com 으로 알리아즈
        --> echo system@jinkalee.com > /var/qmail/alias/.qmail-root
              echo system@jinkalee.com > /var/qmail/alias/.qmail-postermaster
              echo system@jinkalee.com > /var/qmail/alias/.qmail-mailer-daemon
              chmod 644 /var/qmail/alias/.*

      
       qmail 바이너리 파일 소프트 링크
       MTA를 필요로 하는 프로그램이 Sendmail을 사용하기 때문에 qmail 바이너리 파일을
       sendmail로 링크해 주는 것이 좋음
       --> mv /usr/lib/sendmail /usr/lib/sendmail.default
             ln -s /var/qmail/bin/sendmail /usr/lib
             mv /usr/sbin/sendmail /usr/sbin/sendmail.default
             ln -s /var/qmail/bin/sendmail /usr/sbin

       
       qmail 시작
       ln -s /var/qmail/supervise/qmail-send /service/
       ln -s /var/qmail/supervise/qmail-smtpd/ /service/

      
       qmail 부트스크립트 다운로드
       wget http://pkg.tini4u.net/mta/qmail/source/qmail_init.tar.gz
       tar zxvf qmail_init.tar.gz
       mv qmail /etc/rc.d/init.d/qmail
       chkconfig --add qmail
       chkconfig --level 345 qmail on
       *** chkconfig가 안될경우 path경로가 잡혀있지 않은 것이 원인
            /sbin/chkconfig --옵션 이런식으로 적어주면 됨


4. mysql 설치 ( 기본 설치 참조)
    mysql 공유 라이브러리 위치 설정
    cd /usr/local/mysql/lib
    cat >> /etc/ld.so.conf
    vpopmail DB 및 유저 생성


5. vpopmail 설치
    vpop메일 운영을 위한 유저와 계정 생성
    groupadd -r vchkpw
     useradd -r -g vchkpw vpopmail
     mkdir -p /home/vpopmail/etc/
     chmod 755 /home/vpopmail/
    

    vpop메일 설치
    chmod 777 /home/vpopmail/etc/
    wget http://nchc.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.17.tar.gz
    tar zxvf vpopmail-5.4.17
   ./configure --enable-roaming-users --enable-tcprules-prog=/usr/local/bin/tcprules
  --enable-tcpserver-file=/etc/tcp.smtp --enable-relay-clear-minutes=15 --enable-logging=p
  --disable-ip-alias-domains --disable-passwd --enable-clear-passwd --enable-auth-module=mysql
  --enable-many-domains=y --enable-valias=y --enable-mysql-limits=y --enable-auth-module=mysql
  --enable-incdir=/usr/local/mysql/include/mysql --enable-libdir=/usr/local/mysql/lib/mysql
  --enable-domain-quotas=y
  --------------------------  설명 ----------------------------
  // roaming 옵션 목록
  --enable-roaming-users          :enable roaming users functionality
  --enable-tcprules-prog=path    :defaults to /usr/local/bin/tcprules
  --enable-tcpserver-file=path    :defaults to /home/vpopmail/etc/tcp.smtp
  --enable-relay-clear-minutes=15  :defaults to 180
  //mysql 옵션 목록
  --enable-auth-module=mysql                     :mysql 사용하겠다
  --enable-incdir=/usr/local/mysql/include... :include 경로
  --enable-libdir=/usr/local/mysql/lib....       :lib 경로
  --enable-many-domains   :도메인별로 테이블을 생성관리 할것이라면 --enable-many-domains=n 옵션을 사용한다.
  --enable-mysql-limits      :mysql을 이용한 쿼터 설정
  --enable-logging=y : 모든 pop 로그인 기록과 오류 메시지를 남긴다.
  --enable-logging=n : 아무런 로그도 남기지 않는다.
  --enable-logging=e : 오류/ 치명적인 오류 메세지를 기록한다.
  --enable-logging=p : 오류 로그에 암호를 포함한다.
  --enable-logging=v : --enable-logging=y 와 같으며 사용자 암호를 로그에 포함한다.

  --enable-default-domain :주서버의 메일 계정도 모두 가상 도메인의 메일 계정과 동일하게 관리 할수 있다.
  --enable-domain-quotas: 도메인별 쿼터 설정 (--enable-mysql-limits 옵션과 같이 사용)
  --enable-many-domains : 도메인별로 테이블을 생성한다는 옵션
  --enable-mysql-limits : 쿼터 설정데 대한 세부 옵션 (README.vlimit 파일 참고)
  --------------------------  설명 ----------------------------
    
     --> --enable-relay-clear-minutes=15 : pop3인증후 15분동안 아무런 서버 사용이 없을경우 자동으로
          relay을 닫아 open relay가 되어 스패머들의 타겟이 되는것을 막음
     --> tcp.smtp릴레이 파일을 임시 생성하는 이유는 위 옵션에 파일경로를 지정해 줬기 때문이며
           자동설정을 사용하지 않고 tcpserver-file경로를 지정해주는 이유는 아무런 옵션이 없는 경우
           시스템에서 자동으로 찾게 되며, 이런 경우 /etc/tcp.smtp를 대부분 찾기 때문
  
    make
    make install-strip
    chmod 755 /home/vpopmail/etc/
    chown vpopmail.vchkpw /home/vpopmail/etc/

   --> mysql을 소스컴파일로 설치했을때 mysql library를 못 찾을 경우
        --enable-incdir=/mysql/path/to/include
        --enable-lib-dir=/mysql/path/to/lib 을 옵션으로 넣어 준다 .


     기본 도메인 설정, Mysql 설정, SMTP릴레이 설정
     echo "jinkalee.com" > /home/vpopmail/etc/defaultdomain
     chown vpopmail.vckpw /home/vpopmail/etc/defaultdomain
     chmod 640 /home/vpopmail/etc/defaultdomain
     vi /home/vpopmail/etc/vpopmail.mysql 
     --> localhost|0|vpopmailmysql유저ID|패스워드|DB명  
           ex)localhost|0|vpopmail|1234|vpopmail

     vi /home/vpopmail/etc/tcp.smtp
      -->127.0.0.1:allow,RELAYCLIENT=""
           사용할IP:allow,RELAYCLIENT=""

      chmod 640 /home/vpopmail/etc/tcp.smtp
      /home/vpopmail/bin/clearopensmtp

     
   주기적으로 smtp허용 IP를 갱신해주도록 cron에 등록.
    . crontab -e
    . 40 * * * *  /home/vpopmail/bin/clearopenstmp

    
    qmail smtp 스크립트 변경
    tcp.smtp 파일이 변경되었으므로 qmail 설치시 작성한 run script을 수정
    vi /var/qmail/supervise/qmail-smtpd/run
     #!/bin/sh
     Q_UID=`id -U qmaild`
     Q_GID=`id -g qmaild`
     exec /usr/local/bin/softlimit -m 2000000
     /usr/local/bin/tcpserver -vRHl 0
     -x /home/vpopmail/etc/tcp.smtp.cdb
     -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd Z>& 1

    
    vpopmail을 위한 디렉토리와 스크립트 생성
    mkdir /var/qmail/supervise/vpop
    vi /var/qmail/supervice/vpop/run
    ---------------------------------------------------------------------------
    #!/bin/sh
    VPOP_UID=`id -u vpopmail`
    VPOP_GID=`id -g vpopmail`
    exec /usr/local/bin/softlimit -m 2500000
    tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110
    /var/qmail/bin/qmail-popup ecstore.co.kr
    /home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1

    chmod 755 /var/qmail/supervise/vpop/run
    
    도메인과 메일계정 생성
    /home/vpopmail/bin/vadddomain 사용할도메인
    /home/vpopmail/bin/vadduser 사용할ID@도메인 패스워드


             


        



         


    
    
    
    
    
참고 사이트
    


http://blog.daum.net/freeppro/5891609


http://cafe.naver.com/ssyangcal.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2620


List of Articles
번호 제목 글쓴이 날짜 조회 수
82 웹메일에서 메일 발송시 php_network_getaddress: getaddr... ADMINPLAY 2009.06.04 9573
81 /etc/mail/submit.cf: line 0: cannot open: Permission d... ADMINPLAY 2009.06.04 9079
80 squirremail "알수 없는 사용자 로그인 에러 조치 사항" ADMINPLAY 2009.06.04 8025
79 qmail 설치시 궁금한점 ADMINPLAY 2009.06.04 8327
78 qmail 점검 사항 ADMINPLAY 2009.06.04 10025
77 kisa rbl 설정 ADMINPLAY 2009.06.04 8508
76 qmail queue 수동 삭제 ADMINPLAY 2009.06.04 9669
75 vpopmail 에서 각 바이너리 파일들의 용도 ADMINPLAY 2009.06.04 8806
74 qmail + vpopmail 사용환경에서의 procmail 설정 ADMINPLAY 2009.06.04 8991
73 qmail 구조도 ADMINPLAY 2009.06.04 7906
72 supervise: fatal: unable to acquire qmail-send/supervi... ADMINPLAY 2009.06.04 9868
71 courier-imap 설치(imap, pop3) ADMINPLAY 2009.06.04 9013
70 qmail vchkpw 인증 오류 대처 방안 ADMINPLAY 2009.06.04 9314
69 qmail 한글 홈페이지 FAQ ADMINPLAY 2009.06.04 8130
» qmail설치 ADMINPLAY 2009.06.04 8871
67 메일 릴레이 허용 테스트 페이지 ADMINPLAY 2009.06.04 8482
66 메일 헤더 구성 요소 ADMINPLAY 2009.06.04 10075
65 mail 명령어 사용법 ADMINPLAY 2009.06.04 13398
64 간단한 메일 로그 분석 ADMINPLAY 2009.06.04 7866
63 /var/spool/mail/에 저장된 메일 다른 메일로 보내기 ADMINPLAY 2009.06.04 8759
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234