20th Anniversary
  회원가입   회원찾기
  ID PW
 
  공통
  Solaris x86
  Solaris
  이전 나만의 팁
 

   제 목 : Solaris 9(X86) 메일서버 만들기(sendmail+drac+qpopper)
   작성자 : 김대현 날짜 : 2005-01-03
   분류 : Solaris x86 조회수 : 9288

솔라리스 9(X86) 에서 메일서버 운영하기.

존칭을 편의상 사용하지 않겠습니다. ^^

가능한 변경을 적게 하기 위해서 기존의 프로그램을 최대한 활용한다.

0.
기본적인 컴파일러(gcc)는 /opt/sfw/gcc-3 에 설치되어 있다고 가정한다.

1.
메일서버를 운영하기 위해서는 반드시 DNS서버가 동작해야 한다.
자세한것은 BIND 서버의 관련된 문서를 보고 알아보아야 한다.

2.
BerkelyDB(2.7.7)를 설치한다. 상위의 버젼(4.xx)를 사용하지 않는 이유는
솔라리스9 에서는 2.7.7에 맞추어서 sendmail을 구성했기 때문.
이것은 http://www.sleepycat.com 에서 얻을수 있다.
컴파일전에 반드시 cc를 정의해 주어야 한다.
# ln -s /opt/sfw/gcc-3/bin/gcc /opt/sfw/gcc-3/bin/cc
# cd 압축해제경로/build_unix
# cd build_unix
# ../dist/configure
# make
# make install
최종적으로 /usr/local/BerkeleyDB 에 관련파일들이 들어간다.

3.1
만약 OpenSSL을 사용하려면 http://www.openssl.org/에서 openssl을
구해서 설치한다.


3.2
sendmail을 받아서 압축해제한다. (8.13.2 버젼)
압축해제경로/devtools/Site/site.config.m4를 다음과 같이 만든다.
----------------------------------------------------------
APPENDDEF(`confENVDEF', `-UNIS')
APPENDDEF(`confENVDEF',`-DNEWDB')
APPENDDEF(`confLIBDIRS', `-L/usr/local/BerkeleyDB/lib -R/usr/local/BerkeleyDB/lib')
APPENDDEF(`confINCDIRS', `-I/usr/local/BerkeleyDB/include')

dnl ### OpenSSL을 사용한다면 필요하다. ###
APPENDDEF(`confENVDEF',`-DSTARTTLS')
APPENDDEF(`confLIBS', `-lssl -lcrypto')
APPENDDEF(`confLIBDIRS', `-L/usr/local/ssl/lib -R/usr/local/ssl/lib')
APPENDDEF(`confINCDIRS', `-I/usr/local/ssl/include')
dnl ### 여기까지 ###
----------------------------------------------------------
그리고
# 압축해제경로/Build -c


# cd /usr/lib/mail/cf
# vi main.mc
아랫부분처럼 수정한다.
----------------------------------------------------------
divert(0)dnl
VERSIONID(`@(#)main.mc 1.5 (Sun) 08/10/00')
OSTYPE(`solaris8')dnl
DOMAIN(`solaris-generic')dnl
FEATURE(`access_db', `hash -o -T<TMPF> /etc/mail/access')dnl
MAILER(`local')dnl
MAILER(`smtp')dnl

LOCAL_CONFIG
# dynamic relay authorization control map
Kdrac btree -o /etc/mail/dracd
----------------------------------------------------------
그리고
# make
# cp main.cf /etc/mail/sendmail.cf
# cd /etc/mail
# vi submit.cf
해서 아랫부분처럼 수정한다.
----------------------------------------------------------
....................................
# level 10 config file format
#V10/Sun
V10/Berkeley
....................................
----------------------------------------------------------

# vi sendmail.cf
해서 아랫부분처럼 수정한다.
----------------------------------------------------------
....................................
# level 10 config file format
#V10/Sun
V10/Berkeley
....................................
SLocal_check_rcpt
R$*[tab]$: $&{client_addr}
R$+[tab]$: $(drac $1 $: ? $)
R?[tab]$@ ?
R$+[tab]$@ $#OK

Scheck_rcpt
....................................
----------------------------------------------------------
이렇게 한 후
# cp /usr/lib/sendmail /usr/lib/sendmail.2
# cp 압축해제경로/obj.SunOS.5.9.i86pc/sendmail/sendmail /usr/lib/sendmail
# chown root:smmsp /usr/lib/sendmail

여기까지 sendmail의 간단 바꿔치기가 완료.


4.
drac을 다운받는다.(http://mail.cc.umanitoba.ca/drac/ 에 있습니다.)
# mkdir drac
# cd drac
# tar xvf *.tar
로 압축해제후 Makefile 을 변경한다.
----------------------------------------------------------
.................
Compiler flags
CC = gcc
RANLIB = :
CFLAGS = $(DEFS) -g -I/usr/local/BerkeleyDB/include
LDLIBS = -L/usr/local/BerkeleyDB/lib -lnsl -ldb
TSTLIBS = -L. -ldrac -lnsl
.................
----------------------------------------------------------
# make
# make install
# cp ./libdrac.a /usr/local/lib
# cp ./dracd-setup /etc/init.d/
# cp ./dracd-setup /etc/rc2.d/S87dracd
최종적으로 /usr/local/sbin에 결과파일(rpc.dracd)이 들어간다.

5.
http://www.eudora.com/products/unsupported/qpopper/ 에서
qpopper(4.0.5)를 다운받는다.
# setenv LDFLAGS -lnsl
# ./configure --enable-servermode --enable-fast-update --with-drac=/export/home/down/drac
# make
# make install
/etc/inetd.conf 파일의 마지막 라인에 다음을 추가 합니다.(tab으로 공간을 나눕니다.)
pop3 stream tcp nowait root /usr/local/sbin/popper popper -s

6.
Sendmail database 파일 만들기

# cd /etc/mail
# vi access
----------------------------------------------------------
127.0.0.1 RELAY
localhost RELAY
----------------------------------------------------------

# vi local-host-names
----------------------------------------------------------
127.0.0.1
localhost
----------------------------------------------------------
# makemap hash access < access
# newaliases

마지막으로 시스템을 재시작하거나,
/etc/init.d/inetsvc stop
/etc/init.d/inetsvc start
/etc/init.d/dracd-setup stop
/etc/init.d/dracd-setup start
/etc/init.d/sendmail stop
/etc/init.d/sendmail start

하면 됩니다.


[목록보기]  [출력]  
  사이트 소개  |  연락처  |  사이트 맵  |  이메일주소 무단 수집 거부 Copyright (c) 2021 Solaris School. All rights reserved.