메일서버 설치 sendmail source install

2010.05.12 02:33

조인상 조회 수:6774

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


1. 먼저 소스를 구한다. 공식사이트는 ftp.sendmail.org 이다.

# ftp ftp.sendmail.org


2. 소스를 받았다면 적당한 디렉토리를 만들어 압축해제 한다.

# mkdir /usr/local/src
# cp sendmail-8.9.11.tar.gz /usr/local/src
# cd /usr/local/src
# gzip -d sendmail-8.9.11.tar.gz
# tar xvf sendmail-8.9.11.tar


3. 압축해제 후 해당디렉토리에 가서 아래 명령어를 실행

# cd <압축해제후 생성된 디렉토리>
# sh Build


4. sendmail 실행파일 복사

# sh Build 명령실행후에는 각 운영체제별로 새로운 디렉토리가 생기는데
솔라리스의 경우

obj.SunOS.5.7.sun4/

와 같은 디렉토리가 생긴다.

# cd obj.SunOS.5.7.sun4 이동 후
# cd sendmail
# cp sendmail /usr/sbin/sendmail

# chmod 4555 /usr/sbin/sendmail
# chown root:bin /usr/sbin/sendmail


5. 설정파일 생성

다시 처음 압축해제한 디렉토리로 이동
# cd /usr/local/src/sendmail-8.9.11

# cd cf/cf 이동 후

# m4 ../m4/cf.m4 generic-solaris.mc > /etc/mail/sendmail.cf
# m4 ../m4/cf.m4 submit.mc > /etc/mail/submit.cf



6. 설정파일 편집

# vi /etc/mail/sendmail.cf

서버상태에 맞게 적절하게 설정한다.



7. 테스트

# /usr/sbin/sendmail -bd -q1h &

-bd : 백그라운드(b) 데몬(d) 으로 실행
-q1h : 큐(q)에 저장시간 = 1시간(1h)

# ps -ef | grep sendmail 로 확인 후


# telnet loghost 25 질의시에 센드메일 버전을 출력하면
성공이다.



8. 서드파티 릴레이 테스트

# telnet loghost 25
Trying xxx.xxx.xxx.xxx...
Connected to ns.
Escape character is '^]'.
220 buyebs.com ESMTP Sendmail 8.9.2/8.9.2; Tue, 15 Apr 2003 15:04:49 +0900 (KST)

helo yahoo.com
250 sdflkjf.com Hello ns [xxx.xxx.xxx.xxx], pleased to meet you
mail from : chosim2@yahoo.com
250 chosim2@yahoo.com... Sender ok
rcpt to : webmaster@ischo.net
250 webmaster@ischo.net... Recipient ok

위와 같은 경우 릴레이 허가가 되어있는 상태이다.

/etc/mail/access 와 /etc/mail/relay-domain을 수정하여 릴레이
허가상태를 제거한 후 다시 시도.

# telnet loghost 25
Trying xxx.xxx.xxx.xxx...
220 buyebs.com ESMTP Sendmail 8.9.2/8.9.2; Tue, 15 Apr 2003 15:09:45 +0900 (KST)
helo yahoo.com
250 dsfljksdlfkj.com Hello [xxx.xxx.xxx.xxx], pleased to meet you
mail from : chosim2@yahoo.com
250 chosim2@yahoo.com... Sender ok
rcpt to : webmaster@ischo.net
550 webmaster@ischo.net... Relaying denied

위와같이 Relaying denied 가 나와야 한다.


오픈릴레이 정책으로 메일서버를 운영하면 엄청난 수의 스팸메일이
이 메일서버를 통해 발송되므로 몇기가 단위의 수많은 큐파일 때문에
시스템이 엄청나게 느려지기도 하며
(# rm -rf * 명령으로도 삭제조차 불가능하다.)
RSS 에서 오픈릴레이서버로 등록되어 심한경우 아이피 차단까지
당할 수 있으므로 오픈릴레이는 주의하여 설정해야 한다.
서버에 요청 중입니다. 잠시만 기다려 주십시오...