BBUWOO'S [ LIKE UNIX ] WORLD Home > Lecture > Sendmail > Sendmail-2  

HOME
WHAT's BBUWOO?
LInux AnNyung
Open Source
    GitHUB
    GitHUB (for PHP)
LECTURE
MINI LECTURE
QnA BOARD
ENGLISH POEM


WARNNING

강좌의 모든 권리는 본인 김정균에게 있으며 이 강좌를 상업적 목적 으로 이용
하거나 다른 곳으로 옮길시에는 본인의 허락이 있어야 한다. 이글의 가장 최신글은
http://oops.org 에서 확인할수 있다.



2. sendmail 설치

여기서는 소스 compile 하는 방법에 대해서 논하지는 않겠다. 솔직히 나보고 소스 compile을 하라고 하면 못할것이다. 여기까지 어떻게 했는지도 기억이 안난다. 불만인 사람들은 나를 원망하기 바란다 :-)

워낙 문의가 많이 들어와서 설치 부분에 대해서 좀 자세하게 적어 본다. 일단 sendmail 의 auth 기능을 사용하기 위해서는 openssl 과 sasl 이 필요하다. 먼저 자신의 시스템에 openssl 과 sasl 이 설치 되어 있는지 확인을 하도록 한다.

Hanterm - rpm -qa

 [root@bbuwoo /tmp]$ rpm -qa | grep openssl | grep -v grep

  openssl-0.9.6b-1kr
  openssl-devel-0.9.6b-1kr

  버젼은 위의 정보와 틀려도 상관이 없다. 그리고 openssl-devel
  패키지는 없어도 된다. 일단 openssl 이 설치되어 있느냐 안되어
  있느냐만 중요할 뿐이다.

 [root@bbuwoo /tmp]$ rpm -qa | grep sasl | grep -v grep

  libsasl-1.5.27-3kr

  sasl 은 보통 cyrus-sasl 또는 libsasl 로 배포가 된다. 즉 이 두가지
  이름은 동일한 프로그램인데 이름이 틀리게 배포가 되는 것이다. 즉 이
  둘중에 하나만 설치가 되어 있으면 된다.

  만약 libsasl 이 설치되어 있을 경우,  sendmail 8.12.5 이상을 컴파일
  하기 위해서는 libsasl 1.5.27-3 이상 버젼이 설치되어야 한다.

 [root@bbuwoo /tmp]$

일단 위와 같이 확인을 했을 경우 2 가지 경우 즉, openssl 이 설치가 되어 있을 경우와 안되어 있을 경우 2 가지로 분리를 할 수가 있다. 여기서는 이 2 가지의 경우에 대해 RPM 으로 sendmail 을 설치 하는 것을 설명한다.

일단 ftp://mirror.oops.org/pub/Linux/REDHAT/SRPMS 에서 자신의 배포본 버젼에 맞는 sendmail 과 libsasl 의 source rpm 을 받도록 한다. 만약 sasl 이 설치가 되어 있다면 libsasl 은 받지 않아도 된다. 현재 sendmail 의 최신 버젼은 8.12.5 이다.

만약 sasl 이 설치가 되어 있지 않거나 libsasl 이 설치가 되어 있을 경우에는 libsasl 버젼이 1.5.27-3 이상인지를 확인하도록 한다. 만약 아니라면 업데이트 해야 한다.

받은 다음 자신의 서버의 환경에 맞도록 리빌드를 하도록 한다. 여기서는 sendmail 의 예만 들것이나, sasl 이 설치 되어 있지 않은 사람은 sasl 을 먼저 리빌드 해서 설치한 다음 sendmail 을 리빌드 해야 한다.

sendmail 을 리빌드 하기 위해서는 RedHat 6.x 의 경우에는 db1-devel package 가 RedHat 7.x 의 경우에는 db3-devel pacakge 가 설치되어 있어야 한다. rpm -q 명령으로 체크를 해 보고 설치가 되어 있지 않으면 배포본 CD 에서 설치를 하도록 한다.

shell> rpm --Uhv sendmail-8.12.5-1kr.src.rpm
shell> cd /usr/src/redhat/SPEC
shell> vi sendmail.spec

sendmail.spec 를 연 다음

Requires: libsasl >= 1.5.27-3 openssl >= 0.9.6
BuildRequires: libsasl-devel >= 1.5.27-3 openssl-devel >= 0.9.6

라는 라인을 찾아 삭제를 하고 저장한다.

shell> rpm -bb sendmail.spec

위의 명령을 실행하면 sendmail 이 자신의 서버에 맞는 새로운 패키지를 생성을 하게 된다. 패키징을 마쳤으면 /usr/src/redaht/RPMS/i386 에 보면 새로 생성된 sendmail rpm package 가 생성이 되어 있을 것이다. 이것을 설치 하도록 한다.

ftp://mirror.oops.org/pub/Linux/REDHAT/RPMS/ 에서 openssl, libsasl, sendmail 패키지 를 받은 다음 openssl -> libsasl -> sendmail 의 순으로 설치를 하는 것으로 끝이다.



ftp://mirror.oops.org 에서 받은 sendmail 의 경우에는 이 강좌에서 설명하는 virtusertable 과 smtp auth 기능이 모두 구현이 되어 있는 것이므로 설치및 설 정에 대해서는 따로 할 필요가 없다는 것을 명심하기 바란다. 괜히 이 강좌 보고 smtp auth 구현한다고 m4 파일을 새로 생성하고 그러지 말기 바란다. 그러고선 안 된다고 그러면 괜히 필자만 곤란하다. (뭐 귀찮다고 할 수도 있을 것이다)

간단하게 sendmail의 rpm file의 구성을 보면

sendmail-version.i386.rpm
sendmail-cf-version.i386.rpm
sendmail-doc-version.i386.rpm

과 같이 구성이 된다. 실제로 우리가 메일 서버를 운영하기 위한 package는 sendmail-version.i386.rpm 만 있으면 되며, cf와 doc는 운영및 변경에 필요한 문서들로 구성이 되므로 굳이 설치를 하지 않아도 상관은 없다..



3. Mulitple Queues

여기서는 multiple queues가 동작하게끔 하는 것만 설명을 하겠다. 머 일단 이곳 FTP 의 sendmail을 설치를 했다면 전혀 신경을 쓰지 않아도 되지만.. 아닌 사람들을 위한 간단한 ment라고 생각을 하면 되겠다. 일단 /etc/mail/sendmail.cf 를 열고 QueueDirectory 라는 문자열이 들어 있는 라인을 찾는다. 그리고 아래와 같이 되어 있다면 그냥 넘어 가고 다르다면 아래와 같이 수정을 해 준다.

다음 위의 경로로 이동을 하여 /var/spool/mqueue 에 sub directory가 없다면 q1~q6 까지의 Directory를 만들어 주도록 한다. 그리고 sendmail을 재시작 하면 된다.



>> 이전 : 8.9.x 대와의 변화
>> 다음 : RELAY 설정



    



 Home > Lecture > Sendmail > Sendmail-2

Copyright 1997-2021 JoungKyun Kim 
LAST MODIFIED: 2017/01/18