웹마스터 팁

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

qmail-1.03설치④ (vpopmail 인증모듈)

보통 vpop을 설치하기 싫은 이유가 vpop을 설치하기 위해서
부가적으로 설치해야 할 프로그램이 너무 많다는 것이다.
어찌보면 상당히 복잡해 보이나 다 필요하고 의외로 그리 어렵지
않다. 차근하다보면 의외로 간단한 구조라는걸 알수 있다.

우선 vpopmail을 설치할시 먼저 mysql과 연동할것인가 아니면 연동 안할것인가
하는것을 결정해야 한다.
그러나 내 생각에 mysql과 연동은 크게 중요한거 같지 않다.
어차피 mysql과 연동해도 메일은 시스템에 파일로 저장되고 보내지며
단지 디비에는 유저 아디와 비번이 입력되며 인증 정보가 저장된다.
실제 유저 추가와 삭제등의 관리 작업은 시스템 컴멘드를 쓰든가 웹에서
qmailadmin으로 하여야 하므로...
어쨋든 나는 디비와 연동하는 방법과 연동하지 않는것 두가지 경우를 다 한다.
우선 첫째로 mysql db와 연동하지 않는 경우다.

http://www.inter7.com/vpopmail.html 에서 소스를 다운 받는다.
vpopmail-5.2.1
소스 압축해제
tar xpfz /var/tmp/qmail/$PACKAGE-$VERSION.tar.gz -C /var/tmp
vpopmail유저 추가와 그룹추가
groupadd -f -g 110 vchkpw > /dev/null 2>&1 || :
useradd -c "vpopmail" -g vchkpw -u 110 -s /bin/false -r -m -d /home/vpopmail vpopmail > /dev/null 2>&1 || :

vpop유저를 만들면 홈폴더가 생성되나 그 아래 etc 폴더를 미리 만들어두지 않으면
나중에 etc/아래에 inc_deps lib_deps가 생성되지 않는다. 왜그런진 모르겟다... ^^
반드시 아래 폴더를 만들어라. 나중에 mysql과 연동할때나 다른것과 연동시 문제된다.
mkdir -p /home/vpopmail/etc
chmod 777 /home/vpopmail/etc

소스 폴더로 이동
cd /var/tmp/vpopmail-5.2.1/

아래에서 기본도메인명을 자신이 사용할 메일 도메인으로 바꾼다.
당근 dns mx 설정은 잘되어 있어야할것이다.
echo "##########################"
echo "### vpop without mysql ###"
echo "##########################"
./configure
--enable-default-domain=기본메일도메인명
--enable-roaming-users=y
--enable-tcprules-prog=/usr/bin/tcprules
--enable-relay-clear-minutes=15
--enable-auth-logging=y
--enable-logging=e

#만약 오라클을 사용할시 아래 옵션을 첨가하면 된다고 하나 나도 안해봐서 모르겟당.
#--enable-oracle=y

컴파일
make

find /* > /root/vpopmail1

실제 설치
make install-strip

find /* > /root/vpopmail2

diff /root/vpopmail1 /root/vpopmail2 > /root/vpopmail-install

이제 vpop설정이다. 우선 기본적으로 자신의 호스트의 릴레이를 열어준다.
tcpserver설치하면서 했던 설정파일은 vpop에선 무시되고 이제 아래의 설정파일을 따르게 된다.
echo "127.0.0.1:allow,RELAYCLIENT=""" > ~vpopmail/etc/tcp.smtp
chown 110.110 ~vpopmail/etc/tcp.smtp

tcpserver설정파일을 cdb파일로 변환
tcprules ~vpopmail/etc/tcp.smtp.cdb ~vpopmail/etc/tcp.smtp.tmp < ~vpopmail/etc/tcp.smtp
chown 110.110 ~vpopmail/etc/tcp.smtp.cdb

vpop은 한번 인증한 사용자에게 일정기간동안 유동아피라도 릴레이를 열어준다.
clearopensmtp 라는 프로그램은 유동아피 유저들에게 임시적으로 열어준
오픈 릴레이 호스트 목록을 지워준다.
위에서 지워주는 주기를 --enable-relay-clear-minutes=15 (15분)라고 정의해주었다.

설치한후 릴레이 설정을 한번 다 지워준다.
~vpopmail/bin/clearopensmtp

그리고 qmail의 설정파일을 다시 설정
우선 큐메일 설정에서 /home/유저명/Maildir로 기본 전송을 이제 vpopmail의
디렉토리 아래로 배달할것이므로 아래처럼 localhost만 설정
echo "localhost" > /var/qmail/control/locals

qmail-vpop이라는 시작 스크립트를 다운받는다.
첨부파일을 /etc/rc.d/init.d/qmail 로 복사시킨다. 기존의 시작 스크립트가 있으면 덮어쓴다.

vpopmail의 실행 명령(유저추가,도메인추가등)을 경로로 이동하지 않고 쓰기 위해
기본 경로 추가해준다.
echo 'export PATH="$PATH:/home/vpopmail/bin"' >> /etc/profile
. /etc/profile

vpop의 릴레이 청소를 크론탭에 등록해서 주기적으로 릴레이 목록을 청소해준다.
여기서는 15분간 청소할것이다.

아래 내용으로 크론탭에 등록한다.
10,25,40,55  * * * * /home/vpopmail/bin/clearopensmtp 2>&1 > /dev/null

chmod 700 /etc/rc.d/init.d/qmail
chown 0.0 /etc/rc.d/init.d/qmail
/etc/rc.d/init.d/qmail restart

이제 다 설치는 끝나고 기본 도메인을 추가한다.

###### Add to Domain ######
vadddomain 도메인명 <--- configure시 설정해준 기본 도메인명

###### Convert from system users to vpopmail users ######
vconvert -e -c 도메인명 <--- 자신의 시스템에 있는 기존 유저들을 vpop계정으로 변환


자신의 도메인에 알수없는 유저명으로 올 경우 받을 이메일 주소다.
(나의 경우는 vitro@vitro.pe.kr로 모두 받는것으로 설정했다.)
##### unknow user deliver ####
echo "| /home/vpopmail/bin/vdelivermail '' vitro@vitro.pe.kr" > ~vpopmail/domains/도메인명/.qmail-default

아래처럼 하나의 계정으로 모두 포워드를 새로 걸어준다.
루트나 메일러 데몬, 포스트 마스터등의 메일을 일반 유저하나에게 모두 모아서
보내게 한다. (관리상 에러나 각종 메시지를 하나의 일반 유저로 메일을 받아 보는게 편하다)

#### qmail-root qmail-mailer-daemon qmail-postmaster mail forward ####
echo "vitro@vitro.pe.kr" > ~vpopmail/domains/도메인명/.qmail-root
cp ~vpopmail/domains/도메인명/.qmail-root ~vpopmail/domains/도메인명/.qmail-mailer-daemon
cp ~vpopmail/domains/도메인명/.qmail-root ~vpopmail/domains/도메인명/.qmail-postmaster

만약 가상 도메인을 하나 더 추가해주고 싶으면 위의 기본 도메인 추가시의 설정과 같다.

그리고 새로운 가상 도메인과 기존 가상 도메인의 알리아스를 만들기 위해서는
vaddaliasdomain new.com old.com 라는 명령으로 추가해준다.

여기까지 하고 큐메일을 한번 리스타트 시켜준다.
다음에는 mysql과 연동하는 방법을 할것이다.

그리고 아웃룩으로 접속하면 되는데...
주의할것은
가상도메인 유저는
사용자명 입력시 유저명@도에인명.com
으로 입력해줘야 한다.
vpop의 인증을 사용하므로 이같이 한다.

제목 글쓴이 날짜
SMTP 인증 회원가입 메일 인증 , 비밀번호 오류찾기 및 답변글 메일로 받기 [11] file FFHosting 2009.01.12
특정 도메인의 메일 주소로만 가입 인증 메일 보내기 [3] 박정욱 2009.03.28
인증메일 때문에 고생하시는 분 참고하세요. [17] 박용식 2010.10.14
성인인증 받는 소스입니다..... [17] q333 2003.01.12
PHP 인증 페이지를 만들자! - Lesson 1 수정본 #2 ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 2 수정본 #1 [5] ☺[폐]허접-_- 2002.01.24
PHP 인증 페이지를 만들자! - Lesson 3 수정본 #1 [3] ☺[폐]허접-_- 2002.01.24
파일시스템에서 비밀번호 생성/수정/인증 [7] 두기두바 2002.01.10
웹 인증 보호, 윈도우 로그인 폼 이용 (authenticate) [9] file 둘리나라™ 2003.01.13
NZEO 이메일 인증 따라하기 [또 수정 --;] [44] file teslaMINT 2003.02.22
메일 인증시 기존 회원 전부 인증걸기;;; [4] teslaMINT 2003.03.04
홈페이지 관리자 모드 구축하기 (HTTP 인증, 중복 맞음) [10] file 9000㎒ 2003.11.01
PHP프로그램에 간단한 인증(로그인) 걸기. [15] Lepas 2004.08.09
[타키의 초보강좌]PHP 기초 강좌 제 1탄[패스워드 인증] [8] 타키 2004.10.23
htaccess를 활용하자 3탄! 사용자인증 [4] [쿨럭]블루엔젤 2003.01.23
qmail-1.03설치② (checkpassword 인증모듈) 비츠로 2003.02.28
qmail-1.03설치④ (vpopmail 인증모듈) 비츠로 2003.02.28
트래픽관리 Throttle-status 사용자 인증시키기 [1] Cksoft 2003.03.18
php 와 mysql 을 이용한 웹인증..(윈도우에서) 이성헌 2003.06.05
apache 서버에서 apache 인증 (윈도우에서 apm 설치후) 이성헌 2003.06.05