리눅스

Total 331
Today 0
profile_image
관리자
04-12-21 01:04 0개 31회
설치문서
sendmail + sasl + imap 설치
이 글의 최신판은 http://munggo.org/study/read.html?file=sendmail.html 에서 확인할수 있다.






1. 시 작

  • 이 문서는 FreeBSD에서 smtp 서버를 설치하는 문서이다. FreeBSD가 아닌 다른 OS라면 이 문서를 보지않을것을 권한다.
    필자의 시스템 환경은 FreeBSD 4.4-stable 이다.



2. imap-uw 설치

  • FreeBSD를 설치하면 sendmail은 기본 패키지로 설치가 되어 있다.

    먼저 포트로 imap-uw 를 설치한다.
    $ cd /usr/ports/mail/imap-uw
    $ make install clean

    설치후 /etc/inetd.conf 파일을 열고 아래 3줄을 추가 합니다.
    pop2 stream tcp nowait root /usr/local/libexec/ipop2d ipop2d
    pop3 stream tcp nowait root /usr/local/libexec/ipop3d ipop3d
    imap4 stream tcp nowait root /usr/local/libexec/imapd imapd

    inetd 를 재 실행 한다
    $ killall -HUP inetd

    pop3와 imap가 정상적으로 구동하는지 알아보자.
    $ telnet localhost 110

    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    +OK POP3 localhost v2001.76 server ready

    정상적으로 실행되고 있습니다. 다음은 imap가 정상적인지 알아봅니다.
    $ telnet localhost 143

    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    * OK [CAPABILITY IMAP4REV1 LOGIN-REFERRALS AUTH=LOGIN] localhost IMAP4rev1 2001.307 at Tue, 18 Sep 2001 17:55:37 +0000 (GMT)

    잘되고 있군요...


3. cyrus-sasl 설치

  • sasl은 인증된 유저만 메일서버를 통해서 메일을 보낼수 있게 하는 것 입니다.

    cyrus-sasl을 설치합니다.
    $ cd /usr/ports/security/cyrus-sasl
    $ make install clean

    설치가 끝났으면 다음으로 넘어갑니다.


4. sendmail 재 컴파일

  • 센드메일을 재 컴파일 해야 합니다.

    $ cp /etc/defaults/make.conf /etc/make.conf

    /etc/make.conf 파일을 열구 아래 3줄을 추가 합니다.
    SENDMAIL_CFLAGS+=-I/usr/local/include -I/usr/local/include/sasl -DSASL
    SENDMAIL_LDFLAGS+=-L/usr/local/lib -L/usr/local/lib/sasl
    SENDMAIL_LDADD+=-lsasl

    이제 sendmail을 다시 컴파일 합니다.
    $ cd /usr/src/usr.sbin/sendmail
    $ make clean all install

    컴파일이 끝났으면 /etc/mail/sendmail.cf 파일에다 아래 2줄을 추가합니다.
    C{TrustAuthMech}DIGEST-MD5 CRAM-MD5 LOGIN
    O AuthMechanisms=LOGIN GSSAPI KERBEROS_V4 DIGEST-MD5 CRAM-MD5

    이제 외부메일을 받고 메일을 외부에 보내는 일을할수있도록 설정해줘야 합니다.
    2nom.net이 2nom.net의 받는메일 서버이면 /etc/mail/local-host-names 라는 파일에 mail.2nom.net 를 한줄 추가하시면 됩니다.

    그리고 /etc/access 파일에 아래와 같이 메일을 보낼수 있는 IP 대역을 적습니다.
    127.    RELAY
    211.219.49.45    RELAY

    access파일을 변경후에는 access db를 새로 생성해야 합니다.
    $ makemap hash access < access

    메일서버를 공개하시려면 /etc/sendmail.cf 파일안에 보시면
    # anything else is bogus
    R$* $#error $@ 5.7.1 $: "550 Relaying denied"
    이런 부분이 있을것입니다. 이 부분을 주석(#) 처리하시면 됨니다.
    하지만 메일서버를 공개하시면 스팸메일을 중계서버로 이용될수 있으니 권하지 않습니다.

    이제 모든 설정이 끝났습니다. sendmail에 유저 인증부분이 생겼는지 테스트 해보죠.
    $ killall sendmail
    $ sendmail -bd -q30m &
    $ telnet localhost 25

    Trying ::1...
    telnet: connect to address ::1: Connection refused
    Trying 127.0.0.1...
    Connected to localhost.
    Escape character is '^]'.
    220 2nom.net ESMTP Sendmail 8.11.6/8.11.5; Tue, 18 Sep 2001 18:10:38 GMT
    ehlo localhost
    250-2nom.net Hello localhost [127.0.0.1], pleased to meet you
    250-ENHANCEDSTATUSCODES
    250-8BITMIME
    250-SIZE
    250-DSN
    250-ONEX
    250-ETRN
    250-XUSR
    250-AUTH LOGIN <-- 이 부분이 보이시면 성공 하신겁니다.
    250 HELP

    마지막으로...아래 파일을 실행 하세요
    $ /usr/local/etc/rc.d/pwcheck.sh start
    패스워드 파일을 체크하는 것 입니다.
    이게 실행되어야 아웃룩에서 보내는메일서버에 로그인을 할수 있습니다.


    이 문서에 대해 잘못된점 혹은 질문이 있다면 메일로 보내주기 바란다.

댓글목록

등록된 댓글이 없습니다.