'SMTP'에 해당되는 글 1건

Posted on 2008/09/08 13:07
Filed Under [1] IT 관련/2. Linux

Qmail 설치하기
=====================================================================================
1. 필요한 파일(http://kldp.org/~eunjea/qmail_src/)
http://cr.yp.to/software/qmail-1.03.tar.gz
http://smarden.org/pape/djb/manpages/u ··· n.tar.gz
http://smarden.org/pape/djb/manpages/d ··· n.tar.gz
http://www.inter7.com/vpopmail/vpopmail-5.2.1.tar.gz
http://www.inter7.com/qmailadmin/qmail ··· 6.tar.gz
http://www.inter7.com/devel/autorespond-2.0.2.tar.gz
http://www.inter7.com/vqadmin/vqadmin-2.3.2.tar.gz
http://gd.tuwien.ac.at/infosys/mail/qm ··· 3.tar.gz
http://gd.tuwien.ac.at/infosys/mail/qm ··· 0.tar.gz
http://members.elysium.pl/brush/qmail- ··· 1.tar.gz
http://www.ckdhr.com/ckd/qmail-103.patch
패치파일(http://kldp.org/~eunjea/qmail/patch/)
# 소스를 다운받아서 /var/qmail/src 라는 곳에 복사해둔다.
=====================================================================================
2. qmail 설치
# smtp 패치
$ tar xzf qmail-1.03.tar.gz
$ tar xzf qmail-smtpd-auth-0.31.tar.gz
$ cd qmail-smtpd-auth-0.31
$ cp README.auth base64.c base64.h ../qmail-1.03
$ patch -d ../qmail-1.03 < auth.patch

# dns 패치
$ cd qmail-1.03
$ patch -p1 < ../qmail-103.patch
$ mkdir /var/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
-----------------------------------------------
$ sh INSTALL.ids
$ make
$ make setup check
$ ./config
$ ./config-fast mail.chungnambiz.net
# 결과 : /var/qmail/control 설정화일이 생김
# 오류 : 서버의 DNS 설정(MX 레코드)에 문제
# 해결 : 두번째의 경우처럼 한다.
# 오류 : RedHat 9.0일경우 errno 에러
# 해결 : error.h 소스에 #include 추가
=====================================================================================
3. ucspi-tcp 설치
$ tar xzf ucspi-tcp-0.88.tar.gz
$ cd ucspi-tcp-0.88
$ make
$ make setup check
# 오류 : install: fatal: unable to write .../bin/tcpserver: text busy
# 원인 : qmail 을 다시 깔 경우
# 해결 : rmdir /service, /etc/rc.d/init.d/qmail stop
# 오류 : RedHat 9.0일경우 errno 에러
# 해결 : error.h 소스에 #include 추가
=====================================================================================
4. daemontools 설치
$ mkdir -p /package
$ chmod 755 /package
$ cp daemontools-0.76.tar.gz /package
$ cd /package
$ tar xzf daemontools-0.76.tar.gz
$ rm daemontools-0.76.tar.gz
$ cd admin/daemontools-0.76
$ package/install
# 오류 : RedHat 9.0일경우 errno 에러
# 해결 : error.h 소스에 #include 추가
=====================================================================================
5. autorespond 설치
$ tar xzf autorespond-2.0.2.tar.gz
$ cd autorespond-2.0.2
$ make
$ cp autorespond /usr/local/bin/
# 오류 : tai64nlocal.c 두번째 줄 #include => #include 수정
=====================================================================================
6. 스크립트 파일 생성
# /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 vpopmail`
Q_GID=`id -g vpopmail`
exec /usr/local/bin/softlimit -m 7340032 \
/usr/local/bin/tcpserver -vRHl 0 \
-x /home/vpopmail/etc/tcp.smtp.cdb \
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd chungnambiz.net \
/home/vpopmail/bin/vchkpw /bin/true 2>&1
---------------------------------------------------------------
# 주의 : vRHl 0 (L의 소문자, 숫자 0), 인용문자가‘(작은따옴표)가 이나고 `(숫자1옆에 있는 것) 이다.

# /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

$ mkdir -p /var/log/qmail/smtpd
$ chown qmaill /var/log/qmail /var/log/qmail/smtpd
=====================================================================================
7. 기본 alias 계정
$ echo postmaster > /var/qmail/alias/.qmail-root
$ echo postmaster > /var/qmail/alias/.qmail-postmaster
$ echo postmaster > /var/qmail/alias/.qmail-mailer-daemon
$ cd /var/qmail/alias/
$ chmod 644 .qmail-root .qmail-postmaster .qmail-mailer-daemon
=====================================================================================
8. qmail 시동 파일
# http://kldp.org/~eunjea/qmail-startup.txt 다운로드 후
# /etc/rc.d/init.d/qmail 저장후 실행퍼미션을 준다(chmod 755 qmail)
# 리부팅시 qmail 데몬이 실행되도록 ntsysv에서 체크해 준다.

$ chkconfig --add qmail
$ ntsysv

# 예외 : Turbo 리눅스는 ntsysv => turboservice
# 예외 : 체크 안해도 자동실행 된다고 함
=====================================================================================
9. vpopmail 설치
# 유저, 그룹 추가
$ groupadd vchkpw
$ useradd -g vchkpw vpopmail
$ useradd -g vchkpw -d /원하는/파티션의/디렉토리를/지정 vpopmail

$ tar xzf vpopmail-5.2.1.tar.gz
$ cd vpopmail-5.2.1

# vmysql.h를 수정 : Mysql 접속아이디와 패스워드를 넣어준다(root 것을 넣어준다).

$ ./configure --enable-default-domain=chungnambiz.net \
--enable-mysql=y \
--enable-incdir=/usr/lib/mysql \
--enable-roaming-users=y \
--enable-tcprules-prog=/usr/local/bin/tcprules \
--enable-relay-clear-minutes=15
$ make
$ make install-strip
# 결과 : /home/vpopmail 에 bin, doc, domains 등등의 디렉토리와 파일 생성

# /home/vpopmail/etc/tcp.smtp 생성
-------------------------------------
127.0.0.:allow,RELAYCLIENT=""
211.245.175.:allow,RELAYCLIENT=""
:allow
-------------------------------------
$ tcprules /home/vp가
$ groupadd vchkpw
$ useradd -g vchkpw vpopmail
$ useradd -g vchkpw -d /원하는/파티션의/디렉토리를/지정 vpopmail

$ tar xzf vpopmail-5.2.1.tar.gz
$ cd vpopmail-5.2.1

# vmysql.h를 수정 : Mysql 접속아이디와 패스워드를 넣어준다(root 것을 넣어준다).

$ ./configure --enable-default-domain=chungnambiz.net \
--enable-mysql=y \
--enable-incdir=/usr/lib/mysql \
--enable-roaming-users=y \
--enable-tcprules-prog=/usr/local/bin/tcprules \
--enable-relay-clear-minutes=15
$ make
$ make install-strip
# 결과 : /home/vpopmail 에 bin, doc, domains 등등의 디렉토리와 파일 생성

# /home/vpopmail/etc/tcp.smtp 생성
-------------------------------------
127.0.0.:allow,RELAYCLIENT=""
218.50.55.55.:allow,RELAYCLIENT=""
:allow
-------------------------------------
$ tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp
$ /home/vpopmail/bin/clearopensmtp
$ crontab -e
--------------------------------------------
40 * * * * /home/vpopmail/bin/clearopensmtp
--------------------------------------------

$ mkdir /var/qmail/supervise/vpop

# /var/qmail/supervise/vpop/run 생성
------------------------------------------------------------------------
#!/bin/sh
VPOP_UID=`id -u vpopmail`
VPOP_GID=`id -g vpopmail`

exec /usr/local/bin/softlimit -m 7340032 \
tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 \
/var/qmail/bin/qmail-popup chungnambiz.net \
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
------------------------------------------------------------------------
* 주의 : 인용문자가‘(작은따옴표)가 이나고 `(숫자1옆에 있는 것) 이다.

$ chmod 755 /var/qmail/supervise/vpop/run
$ ln -s /var/qmail/supervise/vpop /service

$ /etc/rc.d/init.d/sendmail stop
$ mv /usr/lib/sendmail /usr/lib/sendmail.old
$ mv /usr/sbin/sendmail /usr/sbin/sendmail.old
$ ln -s /var/qmail/bin/sendmail /usr/lib
$ ln -s /var/qmail/bin/sendmail /usr/sbin

$ ln -s /var/qmail/supervise/qmail-send /service/
$ ln -s /var/qmail/supervise/qmail-smtpd /service/
=====================================================================================
10. ezmlm 설치
$ tar xzf ezmlm-0.53.tar.gz
$ tar xzf ezmlm-idx-0.40.tar.gz
$ mv -f ezmlm-idx-0.40/* ezmlm-0.53/
$ cd ezmlm-0.53
$ patch < idx.patch
$ make
$ make man
$ make setup

# 결과 : /usr/local/bin/ezmlm/ 설치됨
# 오류 : RedHat 9.0일경우 errno 에러
# 해결 : error.h 소스에 #include 추가
=====================================================================================
11. qmailadmin 설치(웹에서 이메일 관리)
$ tar xzf qmailadmin-1.0.6.tar.gz
$ cd qmailadmin-1.0.6

$ ./configure --enable-cgibindir=/www/cgi-bin --enable-htmldir=/www/html
$ make
$ make install-strip

# 브라우저 주소 : http://ip주소/cgi-bin/qmailadmin
=====================================================================================
12. vqadmin 설치(웹에서 가상도메인 관리)
$ tar zxf vqadmin-2.3.2.tar.gz
$ cd vqadmin-2.3.2
$ ./configure --enable-cgibindir=/www/cgi-bin
$ make
$ make install-strip

$ cd /etc/httpd/conf
# httpd.conf 에 추가
----------------------------------------------------

deny from all
Options ExecCGI
AllowOverride AuthConfig
Order deny,allow

----------------------------------------------------
$ cd /www/cgi-bin/vqadmin
# .htaccess 생성
----------------------------------------------------
AuthType Basic
AuthUserFile /etc/httpd/conf/vqadmin.passwd
AuthName vQadmin
require valid-user
satisfy any
----------------------------------------------------
# vqadmin.acl 수정
----------------------------------------------------
계정이름 VIMUCADX 계정이름 추가
예) root VIMUCADX root
----------------------------------------------------
$ chown nobody .htaccess (x)
$ chmod 600 .htaccess (x)
$ /usr/bin/htpasswd -bc /etc/httpd/conf/vqadmin.passwd 아이디 패스워드
$ /etc/rc.d/init.d/httpd stop
$ /etc/rc.d/init.d/httpd start

# 브라우저 주소 : http://ip주소/cgi-bin/vqadmin/vqadmin.cgi
# 들어가지 못할경우 /etc/httpd/conf/vqadmin.passwd 704 로 모드 변경
=====================================================================================
13. Outlook Express 설정
#. 도구 클릭
#. 계정 클릭
#. 오른쪽 위 추가 클릭, 메일 클릭
#. 표시이름에 이름 입력후 다음 클릭
#. 이메일 입력후 다음 클릭
#. 받는 메일에 mail.도메인명 (예: mail.jaehun.org)
#. 보내는 메일에 mail.도메인명 (예: mail.jaehun.org)
#. 입력후 다음 클릭
#. 계정이름에 아이디@도메인명 (예: park@jaehun.org)
#. 암호 입력 후 다음 클릭
#. 마침 클릭
#. 닫기 클릭
#. 배달 클릭
=====================================================================================
2008/09/08 13:07 2008/09/08 13:07

About

by Jaehun

Counter

· Total
: 51169
· Today
: 20
· Yesterday
: 100