커피향이 나는 *NIX
커피닉스
시스템/네트웍/보안을 다루는 곳
*
HanIRC의 #coffeenix 방
[
장비 및 회선 후원
]
> Forum <
IT 일정
N
e
w
!
자동화 프로젝트
HOME
>
네트워크(network)
>
메일 서버(mail)
도움말
검색 :
사이트
WHOIS
웹서버 종류
메일 필터링(스팸메일) / procmail
(14, 글 18, 자료 8)
큐메일 서버 구축 #3 - qmail 설치
작성일 : 2003/11/13 20:12
글쓴이 : 티니 (
http://linux.tini4u.net/
)
조회수 : 18664
[
이전화면
/
수정
] 비밀번호 :
큐메일 서버 구축 #1 - 프롤로그
큐메일 서버 구축 #2 - ucspi-tcp, daemontools 설치
큐메일 서버 구축 #3 - qmail 설치
큐메일 서버 구축 #4 - qmail 부트 스크립트
큐메일 서버 구축 #5-1 - vpopmail + cdb 설치
큐메일 서버 구축 #5-2 - vpopmail + mysql 설치
큐메일 서버 구축 #6 - qmail과 vpopmail 시작
큐메일 서버 구축 #7 - ezmlm과 qmailadmin 설치
큐메일 서버 구축 #8 - courier-imap 설치
큐메일 서버 구축 #9 - 다람쥐메일(SquirrelMail) 설치
--------------------------------------------------------------------------------------
- 작성자 : 김혁중(티니) [sky(golbangi or at)tini4u.net]
- 작성일 : 2006-06-30
- 사이트 :
http://linux.tini4u.net/
- 원제목 : 큐메일 서버 구축 #3 - qmail 설치
- 환 경 : CentOS 4.3
- 키워드 : qmail install
--------------------------------------------------------------------------------------
큐메일은 AUTH 릴레이를 여러가지와 연동해서 사용을 할 수 있습니다.
- 시스템계정 (/etc/passwd)
- cmd5checkw (/etc/poppasswd)
- checkpassword + mysql (유저 데이터를 db에 저장)
- vchkpw (vpopmail pop 유저 데이터를 사용, db 또는 vpasswd)
위와 같이 여러가지를 이용해서 사용할 수가 있습니다.
필자는 AUTH 릴레이를 vchkpw에 맡기고, 큐메일은 사용만 가능하도록 설치를 할 것입니다.
1. 칵테일패치 (최신버전 :
http://people.kldp.org/~eunjea/qmail/patch/
)
칵테일 패치는 qmail.kldp.org의 운영자인 임은재 님께서 제작하신 패치 입니다.
큐메일을 사용하는데 있어 여러가지 편리한 패치가 종합적으로 되어 있기 때문에
일일히 패치를 하나씩 찾아 해주는 번거로움을 줄이기 위해 필자는 칵테일 패치를 하겠습니다.
[root@localhost]# wget
ftp://ftp.eu.uu.net/pub/unix/mail/qmail/qmail-1.03.tar.gz
[root@localhost]# wget
http://people.kldp.org/~eunjea/qmail/patch/qmail-ej-cocktail-14.tar.gz
[root@localhost]# tar xfz qmail-1.03.tar.gz
[root@localhost]# tar xfz qmail-ej-cocktail-14.tar.gz
[root@localhost]# cd qmail-1.03
[root@localhost]# patch -p1 < ../qmail-ej-cocktail-14/cocktail.patch
patching file Makefile
patching file Makefile-cert.mk
patching file TARGETS
patching file base64.c
...
...
※ 만약 패치도중 hunk나 fail이 나온다면 큐메일 바닐라 소스가 아닌 것입니다.
반드시 큐메일 바닐라 소스를 이용하시기 바랍니다.
2. 큐메일설치 (최신버전 :
ftp://ftp.eu.uu.net/pub/unix/mail/qmail/
)
이제 본격적인 큐메일 설치작업을 하도록 하겠습니다.
- concurrency limit 파일 수정
큐메일 설치작업을 하기전 수정할 소스가 있습니다.
바로 위에서 패치했던 파일중 conf-spawn 파일 입니다.
이 파일의 기본값은 1000 입니다만, 각 OS에 따라서 설정값이 다릅니다.
필자는 레드헷을 이용하고 있기 때문에 1000을 509로 수정하도록 하겠습니다.
[root@localhost]# vi conf-spawn
509
This is a silent concurrency limit. You can't set it above 255. On some
systems you can't set it above 125. qmail will refuse to compile if the
limit is too high.
- 유저, 그룹 추가
qmail 운영을 위한 유저와 그룹을 만들어주어야 됩니다.
각 OS에 필요한 유저및 그룹은 INSTALL.ids 파일에 명시되어 있습니다.
※ 아래 -r 옵션은 시스템 계정(uid 500미만)으로 유저를 생성하겠다는 의미 입니다.
[root@localhost]# groupadd -r nofiles
[root@localhost]# useradd -r -g nofiles -d /var/qmail/alias alias
[root@localhost]# useradd -r -g nofiles -d /var/qmail qmaild
[root@localhost]# useradd -r -g nofiles -d /var/qmail qmaill
[root@localhost]# useradd -r -g nofiles -d /var/qmail qmailp
[root@localhost]# groupadd -r qmail
[root@localhost]# useradd -r -g qmail -d /var/qmail qmailq
[root@localhost]# useradd -r -g qmail -d /var/qmail qmailr
[root@localhost]# useradd -r -g qmail -d /var/qmail qmails
- 큐메일 설치
[root@localhost]# make
[root@localhost]# make setup check
[root@localhost]# ./config
Your hostname is mail.foobar.com.
Your host's fully qualified name in DNS is mail.foobar.com.
Putting mail.foobar.com into control/me...
Putting foobar.com into control/defaultdomain...
Putting foobar.com into control/plusdomain...
Checking local IP addresses:
127.0.0.1: Adding localhost to control/locals...
192.168.0.2: Adding mail.foobar.com to control/locals...
If there are any other domain names that point to you,
you will have to add them to /var/qmail/control/locals.
You don't have to worry about aliases, i.e., domains with CNAME records.
Copying /var/qmail/control/locals to /var/qmail/control/rcpthosts...
Now qmail will refuse to accept SMTP messages except to those hosts.
Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
※ 정상적으로 config가 되지 않았을 경우
[root@localhost]# ./config
Your hostname is mail.foobar.com.
hard error
Sorry, I couldn't find your host's canonical name in DNS.
You will have to set up control/me yourself.
※ 만약 위처럼 메시지가 나온다면 Network설정과 DNS 문제 입니다.
혹 DNS가 설치되어 있고 DNS 서버에 이름이 정상적으로 등록되어 있다면 Network 설정을 확인해야됩니다.
[root@localhost]# cat /etc/resolv.conf
search mail.foobar.com
nameserver 168.126.63.1
nameserver 168.126.63.2
※ 필자는 search 부분을 등록하지 않은 서버를 세팅할 때 고생한적이 있습니다.
resolv에서 search [domain name] 부분은 반드시 있어야 됩니다.
[root@localhost]# cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
192.168.0.1 mail.foobar.com mail
[root@localhost]# cat /etc/sysconfig/network
...
HOSTNAME=mail.foobar.com
...
※ 호스트네임 부분 또한 반드시 있어야 됩니다.
만약 위의 모든 세팅이 정상적인데도 config가 제대로 되지 않는다면 아래와 같이 해주면 됩니다.
[root@localhost]# ./config-fast mail.foobar.com
- 큐메일 설치 확인
큐메일이 정상적으로 설치되었다면 /var/qmail/control/ 디렉토리에 각종 설정파일이 생성이 됩니다.
[root@localhost]# ls -l /var/qmail/control
-rw-r--r-- 1 root root 11 6월 30 11:42 defaultdomain
-rw-r--r-- 1 root root 27 6월 30 11:42 locals
-rw-r--r-- 1 root root 17 6월 30 11:42 me
-rw-r--r-- 1 root root 11 6월 30 11:42 plusdomain
-rw-r--r-- 1 root root 27 6월 30 11:42 rcpthosts
- 컨트롤 파일 수정
기본적인 설정 파일을 그대로 사용하셔도 상관은 없습니다만 필요 없는 부분이 생성되어 있는
경우가 많이 있으므로 필자는 몇가지 설정파일을 수정해주도록 하겠습니다.
[root@localhost]# vi /var/qmail/control/defaultdomain
foobar.com
[root@localhost]# vi /var/qmail/control/locals
localhost
[root@localhost]# vi /var/qmail/control/me
mail.foobar.com
[root@localhost]# vi /var/qmail/control/plusdomain
mail.foobar.com
[root@localhost]# cat /dev/null > /var/qmail/control/rcpthosts
- 큐메일 데몬을 위한 디렉토리와 스크립트 파일 생성
[root@localhost]# vi /var/qmail/rc
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/
[root@localhost]# chmod 755 /var/qmail/rc
[root@localhost]# mkdir -p /var/qmail/supervise/qmail-send/log
[root@localhost]# mkdir -p /var/qmail/supervise/qmail-smtpd/log
[root@localhost]# chmod 1755 /var/qmail/supervise/qmail-send
[root@localhost]# chmod 1755 /var/qmail/supervise/qmail-smtpd
[root@localhost]# vi /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec /var/qmail/rc
[root@localhost]# vi /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail
[root@localhost]# vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
Q_UID=`id -u qmaild`
Q_GID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -vRHl 0 \
-x /etc/tcp.smtp.cdb \
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
[root@localhost]# vi /var/qmail/supervise/qmail-smtpd/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/smtpd
[root@localhost]# chmod 755 /var/qmail/supervise/qmail-send/run
[root@localhost]# chmod 755 /var/qmail/supervise/qmail-send/log/run
[root@localhost]# chmod 755 /var/qmail/supervise/qmail-smtpd/run
[root@localhost]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
- 큐메일을 위한 로그 디렉토리 생성
[root@localhost]# mkdir -p /var/log/qmail/smtpd
[root@localhost]# chown qmaill /var/log/qmail /var/log/qmail/smtpd
- Alias 설정
큐메일은 root로 메일을 배달하지 않으므로 반드시 알리아즈를 만들어줘야 합니다.
그리고 postmaster, mailer-daemon으로 오는 메일도 알리아즈 해서 사용하면 편리하겠죠.
아래는 server@foobar.com 이란 주소로 알리아즈 시킨 것입니다.
[root@localhost]# echo server@foobar.com > /var/qmail/alias/.qmail-root
[root@localhost]# echo server@foobar.com > /var/qmail/alias/.qmail-postmaster
[root@localhost]# echo server@foobar.com > /var/qmail/alias/.qmail-mailer-daemon
[root@localhost]# chmod 644 /var/qmail/alias/*
- qmail 바이너리 파일 소프트 링크
MTA를 필요로 하는 많은 프로그램이 아직까지 sendmail를 사용하고 있기 때문에
qmail 바이너리 파일을 sendmail로 링크해주는것이 좋습니다.
[root@localhost]# ln -s /var/qmail/bin/sendmail /usr/lib
[root@localhost]# ln -s /var/qmail/bin/sendmail /usr/sbin
- qmail 시작
[root@localhost]# ln -s /var/qmail/supervise/qmail-send /service/
[root@localhost]# ln -s /var/qmail/supervise/qmail-smtpd /service/
커피닉스 카페 최근 글
[08/25]
#gpt_question_subje
[08/20]
From what I've seen
[08/14]
сайт
[06/16]
[질문]SAN 스위치 브로드케이드 dcx8510-4 장비관련입니다.
[04/22]
Re: 영화속에 컴퓨터 이야기 ~스워드피쉬(2001)
[10/20]
Cross Compiler 깔
[07/14]
SSL АО
[04/26]
Re: 도스화면 원격조종 여부
[04/25]
도스화면 원격조종 여부
[10/30]
Cshell에서 난수 설정
[10/23]
공항철도주식회사 SE 구인 件
[01/26]
Re: wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/25]
wget으로 다른서버에있는 디렉토리를 가져오려고합니다.
[01/11]
특정 안드로이드 WebView 버전에서 SSL 문제 (WebView 버그)
[08/01]
DNS forwarder (전달자) 서버를 통해서 쿼리하면 역방향을 받아오질 못합니다.
N
e
w
! 최근에 등록한 페이지
KiCad EDA Suite project (Free/Libre/Open-Source EDA Suite) (CAD)
오픈캐스케이드 캐드 (OpenCASCADE CAD)
QCad for Windows --- GNU GPL (Free Software)
The Hello World Collection
IPMI를 활용한 리눅스 서버관리
DNS 설정 검사
nagiosgraph 설치 방법
Slony-I 설치 방법 (postgresql replication tool)
Qmail기반의 Anti spam 시스템 구축하기
clusterssh
[ 함께하는 사이트 ]
운영진 :
좋은진호(truefeel)
, 야수(yasu), 범냉이, sCag
2003년 8월 4일~