본문 바로가기

리눅스

sendmail 설치와 설정



1) openssl 설치후 /etc/profile 을 열어서 가장 아래줄에 다음과 같이 추가해준다.
# vi etc/profile

PATH=/usr/local/ssl/bin:$PATH
LD_LIBRARY_PATH=/usr/local/ssl/lib:$LD_LIBRARY_PATH

2) sendmail 을 설치한다.
# wget ftp://ftp.sendmail.org/pub/sendmail/sendmail.8.14.4.tar.gz
# tar -zxvf sendmail.8.14.4.tar.gz 
# cd sendmail-8.14.4

3) # vi ./devtools/Site/site.config.m4 명령어를 입력하여 컴파일 설정 파일 생성하여 다음을 입력한다.
APPENDDEF(`confMAPDEF',`-DNEWDB')
APPENDDEF(`confLIBDIRS',`-L/usr/local/BerkeleyDB.4.7/lib')
APPENDDEF(`confINCDIRS',`-I/usr/local/BerkeleyDB.4.7/include')

APPENDDEF(`confENVDEF',`-DSASL=2')
APPENDDEF(`conf_sendmail_LIBS',`-lsasl2')
APPENDDEF(`confLIBDIRS',`-L/usr/local/lib/sasl2')
APPENDDEF(`confINCDIRS',`-I/usr/local/include/sasl')

APPENDDEF(`confENVDEF',`-DSTARTTLS')
APPENDDEF(`confLIBS',`-lssl -lcrypto')
APPENDDEF(`confLIBDIRS',`-L/usr/local/ssl/lib')
APPENDDEF(`confINCDIRS',`-I/usr/local/ssl/include')

* /usr/local/BerkeleyDB.4.7/lib                              : BerkeleyDB 라이브러리 디렉터리
  /usr/local/BerkeleyDB.4.7/include                       : BerkeleyDB 헤더파일 디렉터리
  /usr/local/lib/sasl2                                            : sasl2 라이브러리 디렉터리 헤더파일 디렉터리
  /usr/local/include/sasl : sasl2/usr/local/ssl/lib   : openSSL 라이브러리 디렉터리
  /usr/local/ssl/include                                        : openSSL 헤더파일 디렉터리

*입력 시 따옴표에 주의!
 왼쪽은 키보드 ‘1’ 왼쪽의 ( ` ) 이고, 오른쪽은 엔터키 왼쪽의 ( ‘ )이다.

4) 컴파일한후 디렉토리 생성 and 인스톨
# ./Build    (압축을 푼 폴더내에서)
# mkdir -p /usr/man/man1
# mkdir /usr/man/man5
# mkdir /usr/man/man8

# ./Build install


5) mail.local 파일을 /usr/lib로 복사
# cp obj.Linux.2.6.9-34.EL.i686/mail.local/mail.local   /usr/lib

6) # /usr/sbin/sendmail -d0 < /dev/null 명령어를 입력한 후 sasl2와 starttls를 확인한다.


7) cd /etc/mail 이동후 
   # vi local-host-names 를 입력하여 자신의 호스트를 추가한다.

  # vi relay-domains 를 생성하여 릴레이를 허용할 도메인을 기록한다.


  # vi access를 입력한다.


  # makemap hash access < access 를 입력하여 db파일로 변환한다.

8) aliases 파일 복사
root@mail# cp sendmail-8.14.4/sendmail/aliases   /etc/mail/
root@mail# mkdir /var/spool/mqueue   (이미 생성되어있음)

디렉토리권한설정
root@mail# chown root:bin /var/spool/mqueue
root@mail# chmod 750 /var/spool/mqueue

root@mail# newaliases




일단은 생략

9) sendmail-8.14.4/cf/cf 디렉토리로 이동
root@cf# cp generic-linux.mc  sendmail.mc
root@cf# vi sendmail.mc

  다음을 추가한다.


define(`CERT_DIR',`/usr/local/ssl/certs')
define(`confCACERT',`CERT_DIR/ca.crt')
define(`confCACERT_PATH',`CERT_DIR')
define(`confSERVER_CERT',`CERT_DIR/signed-req.pem')
define(`confSERVER_KEY',`CERT_DIR/req.key')
define(`confCLIENT_CERT',`CERT_DIR/signed-req.pem')
define(`confCLIENT_KEY',`CERT_DIR/req.key')

but 이건 안해도 되는듯  STARTTLS 사용 하지 않아도 메일 보내기 가능

수정된 파일을 설정하기 위해서 ./Build sendmail.cf  와  ./Build install-cf 를 입력한다.

10) service sendmail start 한 후 telnet localhost 25 를 입력
     ehlo localhost 입력
     250 - AUTH DLGEST - MD5 CRAM-MD5 만 확인 한다

11) sendmail.cf 수정

# cd /etc/mail
# vi sendmail.cf


O DaemonPortOptions=Port=587, Name=MSA, M=Ea
이부분을 수정한다 M=E 를 M=Ea로 수정

12) service sendmail start 한 후 telnet localhost 25 를 입력
     ehlo server105
     250 - AUTH DLGEST - MD5 CRAM-MD5 만 확인 한다


13) 테스트 이메일을 발송한다.

'리눅스' 카테고리의 다른 글

Linux (2) | 계정 관리  (0) 2010.09.12
Linux (1) | RHEL5 설치  (0) 2010.09.11
sm-client 종료 [실패] 문제해결방법  (0) 2010.07.10
cron 사용하기  (0) 2010.07.01
Fedora13 네트워크 설정  (0) 2010.06.26