웹마스터 팁

첨부파일은 제홈의 설치이야기에서 받아가세요.
질문은 메일로 안 받습니다. 홈의 질답게시판에서 해주세요.
비츠로 홈 - http://vitro.pe.kr

qmail-1.03설치③ (qmail설치)

이제 qmail-1.03 을 설치한다.
참고로 나는 데몬툴을 이용하지 않는다.
그냥 시작 스크립트를 잘 이용해서 사용한다.
데몬툴은 너무 복잡한거 같아서리... ^^;

ftp://ftp.eu.uu.net/pub/unix/mail/qmail/에서 qmail-1.03 을 다운 받는다.

http://kldp.org/~eunjea/qmail/patch/ 에서
qmail-ej-cocktail-10.tar.gz 을 다운 받는다.

큐메일 칵테일 패치 임은재님이 각종 큐메일 패치를 모아서 한번에
할수 있도록 만든 패치이다.

큐메일과 패치를 소스 압축 해제한다..
tar xpfz qmail-1.03.tar.gz -C /var/tmp
tar xpfz qmail-ej-cocktail-10.tar.gz -C /var/tmp

큐메일 그룹과 유저를 추가한다. 그룹 아디와 유저 아디를 꼭 아래처럼 해라.

groupadd -f -g 81 nofiles
groupadd -f -g 82 qmail
useradd -c "Mail Server" -g 81 -u 81 -s /bin/false -r -d /var/qmail qmaild
useradd -c "Mail Server" -g 81 -u 82 -s /bin/false -r -d /var/qmail/alias alias
useradd -c "Mail Server" -g 82 -u 83 -s /bin/false -r -d /var/qmail qmailq
useradd -c "Mail Server" -g 82 -u 84 -s /bin/false -r -d /var/qmail qmailr
useradd -c "Mail Server" -g 82 -u 85 -s /bin/false -r -d /var/qmail qmails
useradd -c "Mail Server" -g 81 -u 86 -s /bin/false -r -d /var/qmail qmaill
useradd -c "Mail Server" -g 81 -u 87 -s /bin/false -r -d /var/qmail qmailp

cd /var/tmp/qmail-1.03/ 소스 디렉토리로 이동

은재님의 패치속에 있는 tls패치를 제외한 패치를 적용한다.
patch -p1 < ../qmail-ej-cocktail-10/qmail-ej-cocktail-10-no-starttls.patch

큐메일은 /var/qmail을 기본 홈폴더로 한다. 그러나
지금까지 나의 관리상으로나 /usr/bin이 실행 기본 패스로 걸려있으므로
/var/qmail폴더만 있고 그 아래 폴더들은 /usr/bin과 /etc로 링크를 걸것이다.
나는 언제나 /usr로 프리픽스를 하는것을 원해서 이렇게 한것뿐이다.
어디까지나 내가 한방식이고 링크를 안 걸고 그냥 만들어 써도 관계없다.

mkdir /var/qmail
chown 0.qmail /var/qmail
mkdir -p /etc/qmail/alias
mkdir -p /etc/qmail/control
mkdir -p /etc/qmail/users
ln -sf /etc/qmail/alias /var/qmail
ln -sf /etc/qmail/control /var/qmail
ln -sf /etc/qmail/users /var/qmail
ln -sf /usr/bin /var/qmail/bin
ln -sf /usr/share/man /var/qmail/man

소스 컴파일 옵션 설정
(큐메일 관련 패치지는 대부분 confiure를 지원하기보다는 직접 소스 파일을
수정함으로 소스 컴파일 옵션을 수정할 수 있다.)

현재 /var/tmp/qmail-1.03디렉토리
vi 로 conf-cc 파일을 수정
cc -O2 을
gcc -O2 -march=i686 -funroll-loops 로 수정

컴파일
make

맨 페이지 컴파일

make man

find /* > /root/qmail1
설치될 서버의 파일 목록을 작성하기 위해
설친전의 시스템에 존재하는 파일과
디렉토리 목록을 작성해두는 것이다

실제 소스 설치

make setup check

센드 메일을 쓰는 프로그램들을 위해 링크를 건다.
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail
ln -sf /var/qmail/bin/qmail-qread /usr/bin/mailq

rm -rf /var/qmail/boot/
rm -rf /var/qmail/doc/

사용자를 새로 생성할때마다 Maildir 을 만들기 위해 skel디렉토리에
Maildir생성한다.
/var/qmail/bin/maildirmake /etc/skel/Maildir

현재 /var/tmp/qmail-1.03이다. 현재 경로를 항상 주의할것!

./config <--- 큐메일의 설정 파일을 만드는 과정이다.
만약 이렇게 해서 에러가 난다면

./config-fast 메일.도메인명 <-- 으로 해주면 된다.
즉 /var/tmp/qmail-1.03/config-fast Your 당신의 메일호스트명

얼라이어스 유저 홈으로 이동한다.
cd ~alias

큐메일의 얼라이어스를 만들어 준다.

나중에 vpop을 사용한다면 이 얼라이어스는 vpop에서 해주므로
vpop에서는 아래의 얼라이스가 안 먹는다.

아래는 어디까지나 checkpassword를 사용할시 필요하다.

touch .qmail-postmaster
touch .qmail-mailer-daemon
touch .qmail-root
echo 관리자멜주소 > .qmail-postmaster
echo 관리자멜주소 > .qmail-mailer-daemon
echo 관리자멜주소 > .qmail-root
얼라이어스 파일들 권한 조정
chmod 644 .qmail-*
chown root.nofiles .qmail-*

큐메일이 메일을 /Maildir로 전송하기 위해 dot-qmail설정
echo './Maildir/' > /etc/qmail/dot-qmail
chmod 511 /etc/qmail/dot-qmail
chown 0.0 /etc/qmail/dot-qmail

큐메일 사용을 위해서 환경 변수를 추가한다.

/etc/profile.d/qmail.sh 라는 파일을 생성
-------------  내 용  -----------------
export MAILDIR=$HOME/Maildir/
export MAILDROP=$HOME/Maildir/
--------------------------------------

/etc/profile.d/qmail.csh 라는 파일을 생성
-----------  내 용  -----------------
setenv MAIL $HOME/Maildir/
setenv MAILDIR $MAIL
-------------------------------------

chmod 755 /etc/profile.d/qmail.csh
chmod 755 /etc/profile.d/qmail.sh
chown 0.0 /etc/profile.d/qmail.sh
chown 0.0 /etc/profile.d/qmail.csh

checkpassword의 실행 권한을 조정한다.(유동 아피 릴레이 인증 지원기능)
smtp-auth 기능 지원을 위해 반드시 필요하다.

chmod 4710 /bin/checkpassword
chgrp `id -g alias` /bin/checkpassword

이제 로컬로 배달 받을 호스트를 지정해준다.
/var/qmail/control/locals 에 당신이 localhost와
당신의 호스트명을 적고 메일을 수신 받을 호스트들을 추가한다.
이 locals는 메일이 smtp에서 수신받고 smtp에서 로컬의 유저에게
배달 시키는것이다. 말그대로 로컬로 전송할 호스트를 지정하는것이다.

/var/qmail/control/rcpthosts 에
당신의 호스트명을 적고 메일을 수신 받을 호스트들을 추가한다.
이것이 외부의 smtp에서 메일을 수신할 호스트를 지정하는것이다.
위의 locals 파일과 헷갈리지 말자.

/etc/tcp.smtp 파일에 아래의 라인을 삽입(tcpserver의 릴레이 설정)
당신의ip :allow,RELAYCLIENT=""

tcpserver의 설정파일을 cdb로 변환해준다.
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp*

/etc/qmqp.tcp 파일에 아래의 내용을 삽입
당신의ip :allow
:deny

마찬가지로 cdb로 변환
tcprules /etc/qmqp.cdb /etc/qmqp.tmp < /etc/qmqp.tcp
chmod 644 /etc/qmqp.*

find /* > /root/qmail2
설치하고 난뒤에 생긴 파일들 리스트 조사

diff /root/qmail1 /root/qmail2 > /root/qmail-install
프로그램 설치전에 시스템에 존재하는 파일목록과
프로그램 설치후에 시스템에 존재하는 파일 목록을
비교하여 새로 시스템에 설치된 파일들을 추출한다.
이렇게 하면 새로 설치한 프로그램의 목록을 만들수 있다.
나중에 해당 프로그램을 삭제할때 아주 유용하다

아래처럼 /etc/services에 qmqp프로토콜을 추가해준다.
echo "qmail-qmqpd 628/tcp  QMQP  # Quick Mail Queueing Protocol" >> /etc/services

이제 중요한 시작 스크립트이다.
나는 데몬 툴을 사용하지 않기 때문에 이 시작 스크립트로
데몬 툴을 대체하는 설정을 할것이다.
첨부파일의 qmail-checkpassword를 다운 받는다.

이 스크립트는 checkpassword를 사용하기 위한 시작 스크립이며
vpop을 위한 시작 스크립트는 나중에 vpop을 설치하고 나서 다시
vpop을 지원하기 위한 qmail시작 스크립트를 따로 재작성할것이다.

이 스크립트는 큐메일을 이용하여 메일 전송시
checkpassword를 이용한 인증방식과 pop3역시 checkpasword를 이용하여
인증하는 시작 스크립트다.

첨부파일의 qmail-checkpassword를 다운 받아서 /etc/rc.d/init.d/로 복사한다.
이름을 qmail이라고 변경한다.

소유권 조정및 시작시 자동으로 시작
chown 0.0 /etc/rc.d/init.d/qmail
chmod 700 /etc/rc.d/init.d/qmail
chkconfig --level 2345 qmail on

이제 큐메일의 qmail-local을 사용하여 메일을 유저의 홈으로
배달할것이므로 프락메일은 필요없으므로 삭제한다.
rpm -e procmail
그리고 스풀 디렉토리도 /var/spool/mail을 사용하지 않는다.
rm -rf /var/spool/mail
/etc/init.d/qmail start

ps -ef | grep qmail
이상없이 큐메일 데몬이 떠있다면 잘 된것이다.

제목 글쓴이 날짜
qmail-1.03설치⑦ (qmailadmin 큐메일 웹관리툴) 비츠로 2003.02.28
qmail-1.03설치⑥ (qmail-scanner 스팸필터링) 비츠로 2003.02.28
qmail-1.03설치⑤ (courier-imap연동) 비츠로 2003.02.28
qmail-1.03설치④ (vpopmail+mysql) 비츠로 2003.02.28
qmail-1.03설치④ (vpopmail 인증모듈) 비츠로 2003.02.28
qmail-1.03설치③ (qmail설치) 비츠로 2003.02.28
qmail-1.03설치② (checkpassword 인증모듈) 비츠로 2003.02.28
qmail-1.03설치① (ucspi-tcp모듈) 비츠로 2003.02.28
phpMyAdmin 보안설정하기 [5] 겨울늑대 2003.02.27
아파치에서 펄 CGI를 쓰려면... [3] okw1003 2003.02.23
php-accelerator <- zend보다 빠른 phpcache [6] 푸른하늘 2003.02.20
잘못풀린 Tar 파일이나 기타 패키지파일 지우기 Dopesoul 2003.02.19
리눅스에서 표준출력으로 출력되는 모든 메시지를 파일로 만들기 [1] Dopesoul 2003.02.19
램디스크 활용 [6] Dopesoul 2003.02.14
레드햇 8.0 에 젠드옵티마이져(Zend optimizer) 2.1.0 설치-왕초보용 [7] 정인배 2003.02.13
MySQL 3.23.53a 이하 패치하세요!! [7] 바른생활 NGEO 2003.02.11
새로운 방식의 APM 컴파일법 [13] Dopesoul 2003.02.07
[JSP설치2탄]mod_jk를 이용한 Apache와 Tomcat의 연동[for Windows98/NT/2000] [1] 한희진 2003.02.06
[JSP설치1탄]Windows에서 APM+Tomcat4.1.x버전 연동하기 (for Windows2000,XP) 한희진 2003.02.06
[성공했음]Apache에서 ASP돌리기 (Apache::ASP이용) for Windows 초고속강좌 [9] 한희진 2003.02.05