Skip to content

2009.06.04 02:56

qmail설치

조회 수 8844 추천 수 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
번호 제목 글쓴이 날짜 조회 수
42 telnet 을 사용한 메일서버 접속 ADMINPLAY 2009.10.20 8812
41 Sendmail에서 milter 사용으로 spam, 바이러스 막기 ADMINPLAY 2009.10.20 8276
40 Sendmail 세부설정 ADMINPLAY 2009.10.20 9910
39 주요포탈업체 IP차단해제하기 ADMINPLAY 2009.11.01 10977
38 /var/spool/mail/에 저장된 메일 다른 메일로 보내기 ADMINPLAY 2009.11.01 9412
37 roundcube첨부파일 한글일때 깨지는 문제해결 ADMINPLAY 2009.11.01 12371
36 squirrelmail (다람쥐메일) 설치하기관리자 file ADMINPLAY 2009.11.24 11042
35 Sendmail 계정 및 도메인생성 ADMINPLAY 2009.11.24 13280
34 spamassassin 필터 설치하기 ADMINPLAY 2009.11.24 9220
33 폼메일 테스트 방법 ADMINPLAY 2009.11.26 11233
32 qmail error (unable to lock directory /var/log/qmail/s... ADMINPLAY 2009.11.26 11208
31 telnet을 이용한 SMTP 테스트 ADMINPLAY 2009.11.26 11920
30 sendmail mqueue 에 쌓인 메일삭제 주기수정 ADMINPLAY 2009.12.14 15106
29 리눅스 메일로그 분석 및 확인 ADMINPLAY 2009.12.23 13633
28 qmail 큐삭제 ADMINPLAY 2009.12.25 14299
27 Q메일서버 관리 1 ADMINPLAY 2009.12.25 11035
26 qmail queue 서브디렉토리 복구 ADMINPLAY 2009.12.25 10250
25 RBL 참조사이트 이용 및 스팸차단 설정 ADMINPLAY 2010.01.22 12185
24 해외(Hotmail 등)로 안정적인 메일발송방법 - Reverse DNS... ADMINPLAY 2010.03.10 13973
23 qmail relay, 암호 인증, STARTTLS ADMINPLAY 2010.05.12 13817
Board Pagination Prev 1 2 3 4 5 6 Next
/ 6

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234