qmail 설치가이드
로빈아빠
본문
Qmail 설치 가이드
2003/08/28 - 패치 관련 항목 추가
2002/07/08 - 첫번째 문서
이 글은 sendmail을 대체하는 현대적인 메일 전송 에이전트(MTA)인 Qmail의 설치 가이드 입니다.
이 글은 qmail의 설치 방법만을 설명합니다.
이 글에서는 qmail의 기술적인 면은 설명하지 않습니다.
이 글은 qmail+vpopmail 문서의 qmail 설치 부분과 중복됩니다. vpopmail을 사용하시려는 분들은 qmail + vpopmail문서를 보세요.
목차:
필요한 것
patches
daemontools, ucspi-tcp 설치
ucspi-tcp
daemontools
qmail 컴파일/설치
스크립트 만들기
POP 서버
SMTP, POP 데몬 시작하기
sendmail
alias
qmail 시작하기
pop 서버 시작하기
--------------------------------------------------------------------------------
필요한 것들
qmail
ucspi-tcp
daemontools
patches
qmail.org에서 추천하는 몇가지 패치들이 있습니다.
1. glibc 2.3.1 이상에서는 컴파일이 제대로 되지 않습니다. 각각의 패치 (local)를 받아 적용 후 컴파일 합니다.
2. 0.0.0.0을 local IP 주소로 인식하게 하는 패치 (local)
3. qmail이 sendmail을 emulation할때 -f 옵션이 From: 헤더를 설정하도록 하는 패치 (local)
o daemontools, ucspi-tcp
필요한 파일들이 모두 준비되었나요? 받은 몇가지 파일들을 적당한 디렉토리에 옮겨 놓고 이제 설치를 시작합시다.
일단 daemontools, ucspi-tcp를 먼저 설치하도록 하죠 (daemontools는 시스템 서비스를 관리하기 위한 도구들의 모음으로 ucspi-tcp와 같이 사용하면 inetd/xinetd 같은 구시대 수퍼 데몬을 완전히 대체할 수 있습니다).
ucspi-tcp
$ tar xzf ucspi-tcp-0.88.tar.gz
$ cd ucspi-tcp-0.88
$ make
$ make setup check
daemontools
$ mkdir -p /package
$ chmod 1755 /package
$ cd /package
$ mv daemontools-0.76.tar.gz /package
$ tar xzf daemontools-0.76.tar.gz
$ rm daemontools-0.76.tar.gz
$ cd admin/daemontools-0.76
$ package/install
daemontools의 설치가 끝나면 svscanboot가 자동으로 시작됩니다 (*BSD는 재부팅).
o qmail 컴파일/설치
자, 이제 qmail을 설치 하도록 하지요.
qmail이 설치될 디렉토리를 만듭니다.
$ mkdir /var/qmail
qmail 소스를 풀고...
$ tar xzf qmail-1.03.tar.gz
$ cd qmail-1.03
Qmail 운영을 위한 유저,그룹을 만들어 주기 위해 다음 명령을 차례로 실행합니다 (운영체제가 리눅스가 아니라면 소스 디렉토리 안의 INSTALL.ids 를 참조하세요).
$ groupadd nofiles
$ useradd -g nofiles -d /var/qmail/alias alias
$ useradd -g nofiles -d /var/qmail qmaild
$ useradd -g nofiles -d /var/qmail qmaill
$ useradd -g nofiles -d /var/qmail qmailp
$ groupadd qmail
$ useradd -g qmail -d /var/qmail qmailq
$ useradd -g qmail -d /var/qmail qmailr
$ useradd -g qmail -d /var/qmail qmails
Qmail을 컴파일/인스톨 합니다 (필요한 패치가 있다면 지금 합시다. cocktail patch).
$ make
$ make setup check
컴파일/설치가 끝나면 기본 control 파일들의 설정을 위해..
$ ./config
이것이 정상적으로 실행 되었다면 /var/qmail/control/ 안에는 qmail이 정상적으로 작동하기 위한 설정 파일들이 생길 것입니다. 만약 그렇지 않다면 DNS 설정에 문제가 있어 호스트 이름을 찾지 못한 것이니 다음과 같이 합니다. (foobar.org가 호스트 이름이라면...)
$ ./config-fast foobar.org
o 스크립트 만들기
필요한 스크립트를 만듭니다.
/var/qmail/rc 파일
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/
이 파일에 실행 권한을 줍니다.
$ chmod a+x /var/qmail/rc
다음은 큐메일 데몬을 위한 디렉토리와 파일들을 생성...
$ mkdir -p /var/qmail/supervise/qmail-send/log
$ mkdir -p /var/qmail/supervise/qmail-smtpd/log
$ chmod +t /var/qmail/supervise/qmail-send
$ chmod +t /var/qmail/supervise/qmail-smtpd
/var/qmail/supervise/qmail-send/run 파일
#!/bin/sh
exec /var/qmail/rc
/var/qmail/supervise/qmail-send/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail
/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 -vHRl 0 -x /etc/tcp.smtp.cdb \
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
참고: 솔라리스에서는 스크립트 내용을 다음과 같이 수정합니다.
Q_UID=`/usr/xpg4/bin/id -u qmaild`
Q_GID=`/usr/xpg4/bin/id -g qmaild`
스크립트를 만들때 인용 부호를 실수하는 경우가 많은데 이 글을 참고하라.
/var/qmail/supervise/qmail-smtpd/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/smtpd
지금 까지 만들어 놓은 파일들에 실행 권한을 줍니다.
$ chmod 755 /var/qmail/supervise/qmail-send/run
$ chmod 755 /var/qmail/supervise/qmail-send/log/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
다음은 qmail-smtpd 를 위한 로그 디렉토리 만들기
$ mkdir -p /var/log/qmail/smtpd
$ chown qmaill /var/log/qmail /var/log/qmail/smtpd
마지막으로 릴레이를 위한 파일은 /etc/tcp.smtp를 수정하는데 일단 메일 서버 자신만의 릴레이가 허용되도록 하는 파일을 만듭시다. 서버의 ip가 192.168.1.1 이라고 한다면 다음과 같이 될것 입니다 (릴레이에 관한 더 자세한 설명).
/etc/tcp.smtp 파일
127.0.0.1:allow,RELAYCLIENT=""
192.168.1.1:allow,RELAYCLIENT=""
이렇게 tcp.smtp를 수정한 후에는 항상 cdb 형식의 파일로 바꿔줘야 합니다.
$ tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
o POP 서버
POP 서버는 메일 계정을 어떻게 운영할 것인가에 따라 달라지는데 개인적으로 vpopmail을 사용할 것을 권장합니다. vpopmail은 하나의 uid/gid로 무제한의 도메인, 메일 계정을 만들어 줄 수 있으며, 관리가 매우 편합니다. 만약 vpopmail을 사용할 것이라고 결정 했다면 다음 문서를 참고 하세요.
1. Qmail + vpopmail
vpopmail을 사용하지 않고 시스템 로그인 계정을 사용할 것으로 결정 했다면 암호 인증을 위한 checkpassword를 받습니다.
2. checkpassword
checkpassword 설치
$ tar xzf checkpassword-0.90.tar.gz
$ cd checkpassword-0.90
$ make
$ make setup check
pop 서버 구동을 위한 디렉토리/파일 만들기
$ mkdir /var/qmail/supervise/qmail-pop3d
$ chmod +t /var/qmail/supervise/qmail-pop3d
$ mkdir /var/log/qmail/pop3d
$ chown qmaill /var/log/qmail/pop3d
/var/qmail/supervise/qmail-pop3d/run 파일
#!/bin/sh
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
FQDN /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
FQDN은 서버의 호스트 이름(FQDN)을 적어줍니다.
/var/qmail/supervise/qmail-pop3d/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \
/var/log/qmail/pop3d
만들어진 파일에 실행 권한...
$ chmod 755 /var/qmail/supervise/qmail-pop3d/run
$ chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
o SMTP, POP 데몬 시작하기
이미 설치되어 있거나 실행되고 있는 메일 서버나 POP 데몬이 있다면 중지 시키고, 시스템에서 삭제합니다.
1. sendmail 실행 파일
sendmail 바이너리를 사용하는 다른 어플리케이션들을 위해 대신 qmail의 그것을 링크 해줍니다.
$ ln -s /var/qmail/bin/sendmail /usr/lib
$ ln -s /var/qmail/bin/sendmail /usr/sbin
2. 기본 alias 계정
다음 세가지 기본 알리아스 계정은 반듯이 만들어 줍니다.
1. postmaster
2. mailer-daemon
3. root
이 주소들로 도착하는 메일을 받아볼 일반 계정으로 알리아스를 만들어야 하는데, 만약 로컬 계정이 silver 라면 다음과 같이 만듭니다.
$ echo silver > /var/qmail/alias/.qmail-root
$ echo silver > /var/qmail/alias/.qmail-postmaster
$ echo silver > /var/qmail/alias/.qmail-mailer-daemon
$ cd /var/qmail/alias/
$ chmod 644 .qmail-root .qmail-postmaster .qmail-mailer-daemon
3. qmail 시작하기
다음과 같이 daemontools 서비스 디렉토리에 링크를 걸어주면 5초 이내에 qmail MTA가 시작됩니다.
ln -s /var/qmail/supervise/qmail-send /service/
ln -s /var/qmail/supervise/qmail-smtpd /service/
이렇게 한번 링크를 걸어 두면 시스템을 재부팅 하더라도 daemontools에 의해 자동으로 재시작 됩니다.
시작/정지등의 명령을 좀더 쉽게 하기위해 만들어진 스크립트를 사용할 수 도 있습니다. 다음 url의 파일을 적당한 이름으로 저장한 후 실행 권한을 주고 사용하시면 됩니다.
1. qmail-startup.txt
§ pop 서버 시작하기
pop3 서버도 같은 요령으로 daemontools 서비스 디렉토리에 링크만 걸어주면 됩니다.
$ ln -s /var/qmail/supervise/qmail-pop3d /service
출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=ltip&wr_id=158&page=9
2003/08/28 - 패치 관련 항목 추가
2002/07/08 - 첫번째 문서
이 글은 sendmail을 대체하는 현대적인 메일 전송 에이전트(MTA)인 Qmail의 설치 가이드 입니다.
이 글은 qmail의 설치 방법만을 설명합니다.
이 글에서는 qmail의 기술적인 면은 설명하지 않습니다.
이 글은 qmail+vpopmail 문서의 qmail 설치 부분과 중복됩니다. vpopmail을 사용하시려는 분들은 qmail + vpopmail문서를 보세요.
목차:
필요한 것
patches
daemontools, ucspi-tcp 설치
ucspi-tcp
daemontools
qmail 컴파일/설치
스크립트 만들기
POP 서버
SMTP, POP 데몬 시작하기
sendmail
alias
qmail 시작하기
pop 서버 시작하기
--------------------------------------------------------------------------------
필요한 것들
qmail
ucspi-tcp
daemontools
patches
qmail.org에서 추천하는 몇가지 패치들이 있습니다.
1. glibc 2.3.1 이상에서는 컴파일이 제대로 되지 않습니다. 각각의 패치 (local)를 받아 적용 후 컴파일 합니다.
2. 0.0.0.0을 local IP 주소로 인식하게 하는 패치 (local)
3. qmail이 sendmail을 emulation할때 -f 옵션이 From: 헤더를 설정하도록 하는 패치 (local)
o daemontools, ucspi-tcp
필요한 파일들이 모두 준비되었나요? 받은 몇가지 파일들을 적당한 디렉토리에 옮겨 놓고 이제 설치를 시작합시다.
일단 daemontools, ucspi-tcp를 먼저 설치하도록 하죠 (daemontools는 시스템 서비스를 관리하기 위한 도구들의 모음으로 ucspi-tcp와 같이 사용하면 inetd/xinetd 같은 구시대 수퍼 데몬을 완전히 대체할 수 있습니다).
ucspi-tcp
$ tar xzf ucspi-tcp-0.88.tar.gz
$ cd ucspi-tcp-0.88
$ make
$ make setup check
daemontools
$ mkdir -p /package
$ chmod 1755 /package
$ cd /package
$ mv daemontools-0.76.tar.gz /package
$ tar xzf daemontools-0.76.tar.gz
$ rm daemontools-0.76.tar.gz
$ cd admin/daemontools-0.76
$ package/install
daemontools의 설치가 끝나면 svscanboot가 자동으로 시작됩니다 (*BSD는 재부팅).
o qmail 컴파일/설치
자, 이제 qmail을 설치 하도록 하지요.
qmail이 설치될 디렉토리를 만듭니다.
$ mkdir /var/qmail
qmail 소스를 풀고...
$ tar xzf qmail-1.03.tar.gz
$ cd qmail-1.03
Qmail 운영을 위한 유저,그룹을 만들어 주기 위해 다음 명령을 차례로 실행합니다 (운영체제가 리눅스가 아니라면 소스 디렉토리 안의 INSTALL.ids 를 참조하세요).
$ groupadd nofiles
$ useradd -g nofiles -d /var/qmail/alias alias
$ useradd -g nofiles -d /var/qmail qmaild
$ useradd -g nofiles -d /var/qmail qmaill
$ useradd -g nofiles -d /var/qmail qmailp
$ groupadd qmail
$ useradd -g qmail -d /var/qmail qmailq
$ useradd -g qmail -d /var/qmail qmailr
$ useradd -g qmail -d /var/qmail qmails
Qmail을 컴파일/인스톨 합니다 (필요한 패치가 있다면 지금 합시다. cocktail patch).
$ make
$ make setup check
컴파일/설치가 끝나면 기본 control 파일들의 설정을 위해..
$ ./config
이것이 정상적으로 실행 되었다면 /var/qmail/control/ 안에는 qmail이 정상적으로 작동하기 위한 설정 파일들이 생길 것입니다. 만약 그렇지 않다면 DNS 설정에 문제가 있어 호스트 이름을 찾지 못한 것이니 다음과 같이 합니다. (foobar.org가 호스트 이름이라면...)
$ ./config-fast foobar.org
o 스크립트 만들기
필요한 스크립트를 만듭니다.
/var/qmail/rc 파일
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start ./Maildir/
이 파일에 실행 권한을 줍니다.
$ chmod a+x /var/qmail/rc
다음은 큐메일 데몬을 위한 디렉토리와 파일들을 생성...
$ mkdir -p /var/qmail/supervise/qmail-send/log
$ mkdir -p /var/qmail/supervise/qmail-smtpd/log
$ chmod +t /var/qmail/supervise/qmail-send
$ chmod +t /var/qmail/supervise/qmail-smtpd
/var/qmail/supervise/qmail-send/run 파일
#!/bin/sh
exec /var/qmail/rc
/var/qmail/supervise/qmail-send/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail
/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 -vHRl 0 -x /etc/tcp.smtp.cdb \
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
참고: 솔라리스에서는 스크립트 내용을 다음과 같이 수정합니다.
Q_UID=`/usr/xpg4/bin/id -u qmaild`
Q_GID=`/usr/xpg4/bin/id -g qmaild`
스크립트를 만들때 인용 부호를 실수하는 경우가 많은데 이 글을 참고하라.
/var/qmail/supervise/qmail-smtpd/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill \
/usr/local/bin/multilog t /var/log/qmail/smtpd
지금 까지 만들어 놓은 파일들에 실행 권한을 줍니다.
$ chmod 755 /var/qmail/supervise/qmail-send/run
$ chmod 755 /var/qmail/supervise/qmail-send/log/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/run
$ chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
다음은 qmail-smtpd 를 위한 로그 디렉토리 만들기
$ mkdir -p /var/log/qmail/smtpd
$ chown qmaill /var/log/qmail /var/log/qmail/smtpd
마지막으로 릴레이를 위한 파일은 /etc/tcp.smtp를 수정하는데 일단 메일 서버 자신만의 릴레이가 허용되도록 하는 파일을 만듭시다. 서버의 ip가 192.168.1.1 이라고 한다면 다음과 같이 될것 입니다 (릴레이에 관한 더 자세한 설명).
/etc/tcp.smtp 파일
127.0.0.1:allow,RELAYCLIENT=""
192.168.1.1:allow,RELAYCLIENT=""
이렇게 tcp.smtp를 수정한 후에는 항상 cdb 형식의 파일로 바꿔줘야 합니다.
$ tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
o POP 서버
POP 서버는 메일 계정을 어떻게 운영할 것인가에 따라 달라지는데 개인적으로 vpopmail을 사용할 것을 권장합니다. vpopmail은 하나의 uid/gid로 무제한의 도메인, 메일 계정을 만들어 줄 수 있으며, 관리가 매우 편합니다. 만약 vpopmail을 사용할 것이라고 결정 했다면 다음 문서를 참고 하세요.
1. Qmail + vpopmail
vpopmail을 사용하지 않고 시스템 로그인 계정을 사용할 것으로 결정 했다면 암호 인증을 위한 checkpassword를 받습니다.
2. checkpassword
checkpassword 설치
$ tar xzf checkpassword-0.90.tar.gz
$ cd checkpassword-0.90
$ make
$ make setup check
pop 서버 구동을 위한 디렉토리/파일 만들기
$ mkdir /var/qmail/supervise/qmail-pop3d
$ chmod +t /var/qmail/supervise/qmail-pop3d
$ mkdir /var/log/qmail/pop3d
$ chown qmaill /var/log/qmail/pop3d
/var/qmail/supervise/qmail-pop3d/run 파일
#!/bin/sh
exec /usr/local/bin/softlimit -m 2000000 \
/usr/local/bin/tcpserver -v -R -H -l 0 0 110 /var/qmail/bin/qmail-popup \
FQDN /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
FQDN은 서버의 호스트 이름(FQDN)을 적어줍니다.
/var/qmail/supervise/qmail-pop3d/log/run 파일
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t \
/var/log/qmail/pop3d
만들어진 파일에 실행 권한...
$ chmod 755 /var/qmail/supervise/qmail-pop3d/run
$ chmod 755 /var/qmail/supervise/qmail-pop3d/log/run
o SMTP, POP 데몬 시작하기
이미 설치되어 있거나 실행되고 있는 메일 서버나 POP 데몬이 있다면 중지 시키고, 시스템에서 삭제합니다.
1. sendmail 실행 파일
sendmail 바이너리를 사용하는 다른 어플리케이션들을 위해 대신 qmail의 그것을 링크 해줍니다.
$ ln -s /var/qmail/bin/sendmail /usr/lib
$ ln -s /var/qmail/bin/sendmail /usr/sbin
2. 기본 alias 계정
다음 세가지 기본 알리아스 계정은 반듯이 만들어 줍니다.
1. postmaster
2. mailer-daemon
3. root
이 주소들로 도착하는 메일을 받아볼 일반 계정으로 알리아스를 만들어야 하는데, 만약 로컬 계정이 silver 라면 다음과 같이 만듭니다.
$ echo silver > /var/qmail/alias/.qmail-root
$ echo silver > /var/qmail/alias/.qmail-postmaster
$ echo silver > /var/qmail/alias/.qmail-mailer-daemon
$ cd /var/qmail/alias/
$ chmod 644 .qmail-root .qmail-postmaster .qmail-mailer-daemon
3. qmail 시작하기
다음과 같이 daemontools 서비스 디렉토리에 링크를 걸어주면 5초 이내에 qmail MTA가 시작됩니다.
ln -s /var/qmail/supervise/qmail-send /service/
ln -s /var/qmail/supervise/qmail-smtpd /service/
이렇게 한번 링크를 걸어 두면 시스템을 재부팅 하더라도 daemontools에 의해 자동으로 재시작 됩니다.
시작/정지등의 명령을 좀더 쉽게 하기위해 만들어진 스크립트를 사용할 수 도 있습니다. 다음 url의 파일을 적당한 이름으로 저장한 후 실행 권한을 주고 사용하시면 됩니다.
1. qmail-startup.txt
§ pop 서버 시작하기
pop3 서버도 같은 요령으로 daemontools 서비스 디렉토리에 링크만 걸어주면 됩니다.
$ ln -s /var/qmail/supervise/qmail-pop3d /service
출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=ltip&wr_id=158&page=9
관련링크
댓글목록
등록된 댓글이 없습니다.