Solaris

sendmail SMTP 설정하기

알 수 없는 사용자 2008. 2. 29.
728x90

10.1 SMTP 설정하기

group과 user의 생성

아래를 실행하여 Sendmail이 필요로 하는 group들을 만든다:

groupadd -g 1 bin
groupadd -g 2 kmem
groupadd -g 3 mail
useradd -u 1 -g bin -d /bin -s /bin/sh bin
 

디렉토리 생성

Sendmail은 밖으로 나가는 메일을 /var/spool/mqueue 디렉토리에 넣어둔다. 들어오는 메일은 Sendmail에 의해 Procmail로 돌려지므로 우리는 /var/mail 이라는 디렉토리도 필요하다. 이 디렉토리들을 생성하고 알맞은 권한을 설정한다:

mkdir /var/spool
mkdir /var/mail
cd /var/spool; ln -s ../mail mail
chmod 700 /var/spool/mqueue
chmod 775 /var/mail
chgrp mail /var/mail
chmod 1777 /tmp
 

Sendmail의 설치

  • Sendmail 압축파일을 풀고 아래를 실행하여 설치한다:

cd src
./Build; ./Build install
 

Sendmail의 설정

Sendmail을 설정하는 것은 앞의 것들처럼 쉽지는 않다. Sendmail을 설정하는 동안 여러분이 고려해야 할 사항이 많으며 내가 그 모든 것을 설명할 수는 없다. 이것이 우리가 지금은 기본적이고 표준적인 설정을 하는 이유이다. Sendmail을 여러분의 기호에 맞도록 고치고 싶다면 할 수 있지만 이 문서는 그 작업에 적합하지는 않다. 여러분이 특정한 기능을 사용하려 한다면 이미 존재하는 /etc/sendmail.cf (혹은 /etc/mail/sendmail.cf) 파일을 사용할 수 있다.

  • Go to the cf directory cf 디렉토리로 이동한다.
  • 아래를 포함하도록 cf/lfs.mc 파일을 새로 만든다:

OSTYPE(LFS)
FEATURE(nouucp)
define(`LOCAL_MAILER_PATH', /usr/bin/procmail)
MAILER(local)
MAILER(smtp)
 

  • touch ostype/LFS.m4 를 실행하여 빈 ostype/LFS.m4 파일을 만든다.
  • m4 m4/cf.m4 cf/lfs.mc > cf/lfs.cf 를 실행하여 lfs.mc 파일을 컴파일한다.
  • cf/lfs.cf 를 /etc/sendmail.cf 로 복사한다.
  • touch /etc/aliases 를 실행하여 빈 /etc/aliases 파일을 만든다.
  • sendmail -v -bi 를 실행하여 이 (빈) alias 데이타베이스를 초기화한다.

Procmail의 설치

  • Procmail 압축파일을 풀고 아래를 실행하여 설치한다:

make; make install; make install-suid
 

/etc/init.d/sendmail 부트스크립트의 작성

  • 아래를 포함하도록 /etc/init.d/sendmail 파일을 새로 만든다:

#!/bin/sh
# Begin /etc/init.d/sendmail
 
check_status()
{
  if [ $? = 0 ]
  then
    echo "OK"
  else
    echo "FAILED"
  fi
}
 
case "$1" in
  start)
    echo -n "Starting Sendmail..."
    start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd
    check_status
    ;;
 
  stop)
    echo -n "Stopping Sendmail..."
    start-stop-daemon -K -q -o -p /var/run/sendmail.pid
    check_status
    ;;
 
  reload)
    echo -n "Reloading Sendmail configuration file..."
    start-stop-daemon -K -q -s 1 -p /var/run/sendmail.pid
    check_status
    ;;
 
  restart)
    echo -n "Stopping Sendmail..."
    start-stop-daemon -K -q -o -p /var/run/sendmail.pid
    check_status
 
    sleep 1
 
    echo -n "Starting Sendmail..."
    start-stop-daemon -S -q -o -x /usr/sbin/sendmail -- -bd
    check_status
    ;;
 
  *)
    echo "Usage: $0 {start|stop|reload|restart}"
    exit 1
    ;;
 
esac
 
# End /etc/init.d/sendmail
 

권한과 심볼릭 링크들을 설정한다.

  • chmod 755 /etc/init.d/sendmail 을 실행하여 알맞은 권한을 설정한다.
  • 아래를 실행하여 알맞은 심볼릭 링크들을 만든다:

cd /etc/init.d/rc2.d; ln -s ../init.d/sendmail S20sendmail
cd ../rc0.d; ln -s ../init.d/sendmail K20sendmail
cd ../rc6.d; ln -s ../init.d/sendmail K20sendmail
728x90

댓글