준비운동하기

우선 여러분의 시스템에 m4와 sendmail이 설치되어 있는 지 확인하자!
만일 없다면, 우선 m4 부터 설치해준다. sendmail이 설치되어 있으면 지운다. 그리고 또 한가지! sendmail 말고 다른 종류의 smtp프로그램이 설치되어있거나, 프로세스가 돌고 있다면, 이것 역시 지워준다.

설치하기(sendmail-8.12.4)

#gzip -d sendmail.8.11.4.tar.gz
#tar xvf sendmail.8.11.4.tar
#cd ./sendmail-8.11.4
#sh ./Build

컴파일이 완료되면 obj.SunOS.5.7.sun4 디렉토리가 생성되었는지 확인.

#cd ./obj.SunOS.5.7.sun4
# ls
libsmdb     mail.local  makemap     rmail       smrshlibsmutil   mailstats   praliases   sendmail    vacation

위의 디렉토리에 필요한 파일들이 모두 컴파일되어 집니다..

Sendmail.cf 파일을 만들어 보자.
센드메일의 환경파일로써 사용자가 원하는 대로 설정가능하다. 아래의 예는 가장기본적인 sendmail.cf의 생성 예이다.

# cd ./sendmail-8.11.4/cf/cf

default로 설정된 매크로 파일에 서비스에 필요한 매크로 추가

# vi generic-solaris2.mc
----   Relay 메일을 위한 매크로 추가---------------------------
FEATURE(access_db, `hash -T(XXX) -o /etc/mail/access')dnl
--------------------------------------------------

위에서 중간 쯤에 추가 해주어야 한다. 반드시 그렇지 않으면, sendmail.cf를 만들어주는 과정에서 경고가 뜰 것이다.

# /usr/ccs/bin/m4 ../m4/cf.m4 generic-linux.mc > sendmail.cf

이제 본격적으로 Sendmail 설치에 들어가보자!

#cp ./sendmail-8.11.4/obj.xxx.xxx/sendmail/sendmail /usr/lib/sendmail
#cp ./sendmail-8.11.4/cf/cf/sendmail.cf /etc/sendmail.cf
#ln -s /etc/sendmail.cf  /etc/mail/sendmail.cf
# vi /etc/mail/local-host-names   ----   8.9.x대의 sendmail.cw 파일과 같은 기능   
---------------------------------------------------
domain.co.kr
hostname.domain.co.kr
/*필자의 예다
com
fat81.com
mail.fat81.com
*/
---------------------------------------------------
# chmod go-w / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 
# chown root / /etc /etc/mail /usr /var /var/spool /var/spool/mqueue 
# vi  /etc/mail/access
---------------------------------------------------
210.xxx.xxx   RELAY
bigcom.co.kr  RELAY
---------------------------------------------------
 
# cd /usr/local/download/sendmail-8.12.4/obj.xxx.xx/makemap
# make install
# makemap dbm  /etc/mail/access  <  /etc/mail/access 

access.db파일이 생성 되었을 것이다. 이번엔 aliases 파일을 만들 차례다.

---------- aliases ----------------------------------
# aliases written by Park, JaeHo(jhpark@kies.co.kr)
# Copyright (C) 1999 by Park, JaeHo
postmaster: root
----------- aliases ----------------------------------
 
# sendmail -bi

sendmail -bi 명령이 제대로 동작했다면 다음과 같은 메시지가 나올 것이다. 숫자는 약간씩 틀릴 수 있지만 형식은 동일하게 나와야 한다.

/etc/mail/aliases: 1 aliases, longest 4 bytes, 17 bytes total

Sendmail 시동

드디어 sendmail을 작동시킬 때가 왔다. 이 순간을 얼마나 기다려 왔는가?
하지만 아직 기뻐하기에는 이르다. 막판에 지금까지의 수고를 날릴 수도 있기 때문이다.

# ps -ef | grep sendmail
root  1503     1  0  7월 26  ?         0:16 sendmail: accepting connections on port 25
# /usr/lib/sendmail -bd -q30m
# ps -ef | grep sendmail
root  1809     1  0  7월 29  ?         0:16 sendmail: accepting connections on port 25

화면에 특별한 메시지가 나타나지 않는다면 daemon이 성공리에 동작한 것이다. ps 명령으로 다시 한번 sendmail daemon이 동작하고 있는지 확인해보기 바란다.

Sendmail 의 테스트 방법

# telnet localhost smtp
Trying 127.0.0.1
Connected to localhost
Escape character is '^]'.
220 localhost ESMTP Sendmail 8.9.3/8.9.3; Tue, 27 Jul 1999 17:05:09 +1000 (KDT)

위와 같이 나온다면 제대로 데몬이 실행하는 것이다 .기뻐하라~~ 이번엔 메일을 보내보자!

# /usr/lib/sendmail -v yourid
test
.
yourid... Connecting to local...
yourid... Sent

보냈으니 수신확인을 해보자..

# su 사용자 ID 
# mail

메일이 왔다고 출력된다면 제대로 보내진 것이다. 또 외부로부터 송수신을 확인해보자.
이 모든 것이 정상적으로 작동된다면 당신은 메일서버를 구축한 것이다. 끝까지 부족한 나의 문서를 읽어준 분들에게 감사를 표한다.

  • computer/networking/센드메일_설치하기_-_제2판.txt
  • Last modified: 3 years ago
  • by likewind