사이트 내 전체검색
qmail+mysql+phpmail+qmail-scan 설치 문서
로빈아빠
https://cmd.kr/server/42 URL이 복사되었습니다.

본문

이 문서는 저같은 초보분들을 위한 문서이며 qmail이란놈의 정체를 파악하기까지 했던 그 수만은 삽질들을 토대루 만들어 본 것입니다. 이렇게 셋팅해서 아주 잘 돌리구 있습니다. 유저님들 악플은 삼가해주시구요... 내용중에 수정사항 있으면 메일 한통 보내주세요~~ maruplus100@hotmail.com 입니다.

#APM 설치

1. openssl 설치
1) 되도록 디폴트 설치하세요.. 차후 이넘 라이브러리들을 필요로하는 소스들이 많기때문에 prefix 주는 경우에는 정말 귀찮아집니다. 소스 다 수정해줘야하구요...
2) http://www.openssl.org/source/ 에서 최신 소스를 다운로드
3) 설치
./config
make; make install

2. zlib 설치
1) http://www.gzip.org/zlib/ 에서 최신 소스를 다운로드
2) 설치 (디폴트 설치)
./configure
make; make install

** 보통 mysql을 먼저 설치하는데 mysql 컴파일 옵션에 위 두 소스를 지정하는 부분이 있어 먼저 설치했네요..

3. mysql 설치
1) http://dev.mysql.com/downloads/ 에서 최신 소스를 다운로드
2) 설치 (위치는 입맛에 맞게 하세요!! 전 /data/local/mysql 요기다 하였어요~~)
- 컴파일 옵션 / 설치
./configure --prefix=/data/local/mysql --localstatedir=/data/local/mysql/data --enable-local-infile --enable-thread-safe-client --with-mysqld-user=mysql --with-extra-charsets=all --with-openssl --with-zlib
make; make install

- cnf파일 생성
cp support-files/my-huge.cnf /etc/my.cnf

- 실행파일 생성 및 수정
cp support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod 755 /etc/rc.d/init.d/mysqld
vi /etc/rc.d/init.d/mysqld (/etc/rc.d/init.d/mysqld 수정)
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file >/dev/null 2>&1 & 이 부분을
$bindir/mysqld_safe --datadir=$datadir --pid-file=$pid_file --log --safe-show-database -O max_connections=1000 -O max_connect_errors=999999999 >/dev/null 2>&1 &
이렇게 수정하세요~~ (뭐 이쪽 부분은 뭐 입맛에 맞게 하시면 됩니다.)

- 디비 생성
cd /설치디렉토리 (나의 경우엔 cd /data/local/mysql)
./bin/mysql_install_db (base 디비를 생성하세요~~)

- mysql 유저 등록 및 권한 설정
useradd mysql -d /설치디렉토리 -s /sbin/nologin (mysql 유저를 생성하세요)
vi /etc/shadow
mysql:!!:0000000:00:0000에서 !!부분을 *로 수정
chown -R mysql:mysql /설치 디렉토리

- mysqladmin 암호설정
/etc/rc.d/init.d/mysqld start
./bin/mysqladmin -u root password '사용할 암호'
./bin/mysqladmin -u 도메인 password '사용할 암호' (해당 서버의 도메인이 있을경우)

- 편의성을 위한 링크를 걸어보아요~~~
cd /usr/local
ln -s /설치디렉토리 . (디폴트 설치시 요기루 설치됨)
cd /usr/bin
ln -s /설치디렉토리/bin/mysql .
ln -s /설치디렉토리/bin/mysqladmin .
ln -s /설치디렉토리/bin/mysqldump .

- 동적 라이브러리링크(나중에 사용되는곳 많아요)
vi /etc/ld.so.conf 에서
/설치디렉토리/lib/mysql 추가
ldconfig


3. apache 설치
1) http://httpd.apache.org/download.cgi 에서 최신소스를 다운로드
2) 설치 (위치는 입맛에 맞게 하세요!! 전 /data/local/apache 요기다 하였어요~~)
- 컴파일옵션 (포크방식)
./configure --prefix=/data/local/apache --enable-rule=SHARED_CORE --enable-module=so --enable-mods-shared=all --enable-so --enable-ssl=shared --with-ssl --enable-rewrite --with-z
- 컴파일옵션 (워커방식)
vi /소스디렉토리/server/mpm/worker/worker.c 에서
#define DEFAULT_SERVER_LIMIT 16 요 부분을
#define DEFAULT_SERVER_LIMIT 160 요렇게 수정 (쓰레드 수를 좀 늘렸어용~~)
./configure --prefix=/data/local/apache --enable-rule=SHARED_CORE --enable-module=so --enable-mods-shared=all --enable-so --with-mpm=worker --enable-ssl=shared --with-ssl --enable-rewrite --with-z
- 컴파일
make ; make install

** 포크방식과 워커방식은 구동방식이 좀 다릅니다. ㅎㅎ 아파치가시면 자세한 정보 있어요~~

4. php설치전 필수 / 기타 필요 소스 설치
1) libjpeg 설치
- http://www.ijg.org/files/ 에서 최신버전 다운로드 (2005년03월26일 최신 : jpegsrc.v6b.tar.gz)
- 설치
./configure --enable-shared --enable-static
make
mkdir -p /usr/local/man/man1 (안만들어주면 오류남)
make install

2) libpng 설치
- http://libpng.sourceforge.net/ 에서 최신소스 다운로드
- 설치
cp /소스디렉토리/scripts/makefile.linux /소스디렉토리/makefile
make; make install

3) freetype 설치
- http://www.freetype.org/ 에서 최신소스 다운로드
- 설치
./configure --enable-shared --enable-static
make; make install

** GD라이브러리 라든지 기타 사용하실 소스들은 알아서 잘 설치하세요~~ 저는 나머진 그냥 리눅스 설치시 깔리는 RPM가지구 사용해서 따루 안적었어요...

4) imap 설치
- 여기서 imap은 실제 사용하기 위해 설치하는 것이 아니라 php컴파일을 위해 c-client만 생성해주는 것입니다. 차후 웹메일로 들어가게 되면 imap버전부터 설치방법까지 자세히 정리될거에요~~ 일단 imap를 다운 받는데요 버전은 상관 없어요 그래두 기분상 최신버전으로 가죠~~
- http://www.washington.edu/imap/ 에서 소스 다운로드 및 압축 해제
cp -R /소스디렉토리 /usr/local/imap
cd /usr/local/imap
make lrh (vi Makefile 해보시면 자기 시스템에 맞는 옵션정보 있어요~~)
cp -R /usr/local/imap/c-client /usr/c-client

** c-client만 사용할것이기 때문에 여기까지만 하면 php컴파일 잘 됩니다.

5. php 설치
1) http://www.php.net/downloads.php 에서 최신소스 다운로드
2) 설치
- 위치는 입맛에 맞게 하세요!! 전 /data/local/apache 요기다 하였어요~~ 옵션중 주의해야 할것은 디렉토리 선정문제 입니다. 라이브러리를 읽어오는 부분들이라서 오류를 발생시킬 수 있고 또 라이브러리를 이곳저곳 복사하거나 하여 지저분해지는 경우도 있겠죠?? 저같은경우는 apache와 mysql만 다른 디렉토리에 설정하여 옵션엔 그 두가지의 dir만 설정되어있습니다.
그리구 --with-imap --with-imap-ssl 옵션은 웹메일을 위한 옵션입니다.

- 컴파일 및 설치
./configure --prefix=/data/local/php --with-mod_charset --with-apxs2=/data/local/apache/bin/apxs --enable-force-cgi-redirect --enable-discard-path --disable-debug --enable-safe-mode --with-exec-dir=/data/local/apache/bin --enable-sigchild --enable-magic-quotes --enable-versioning --with-openssl --with-zlib --enable-bcmath --enable-calendar --with-jpeg-dir --with-gdbm --enable-dbase --enable-exif --enable-filepro --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-ttf --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-hyperwave --with-iconv --with-imap --with-imap-ssl --enable-mbstring --enable-mbregex --with-mysql=/data/local/mysql --enable-shmop --enable-sockets --enable-sysvsem --enable-sysvshm --enable-wddx --with-xmlrpc --enable-yp --enable-zend-multibyte --enable-memory-limit --enable-shared
make; make install

- 설정파일 복사 (php.ini-recommended, php.ini-dist 파일중 아무거나 써도 무방함)
cp /소스디렉토리/php.ini-dist /data/local/lib/php.ini
** php.ini 파일은 어느곳에 위치하든 상관없어요~~ 단, 자기가 어디있는지 알아야 하겠죠?? 젠드 올릴때두 위치 필요합니다.

- httpd.conf 수정
vi /아파치설치디렉토리/conf/httpd.conf
/DirectoryIndex index.html index.html.var 로 검색하여
DirectoryIndex index.html index.html.var index.php 요렇게되게 index.php추가
/AddType application 로 검색하여 적당한 부분에
AddType application/x-httpd-php .php .php3 .inc .ph .html 추가

6. Zendoptimizer 설치
1) http://www.zend.com/store/products/zend-optimizer.php 에서 최신소스 다운로드
2) 설치
- 설치 및 설정값 입력
cd /소스디렉토리/
./install.sh 하면 설치화면이 나옵니다. 따라서 하면 됩니다.
Zendoptimizer : /data/local/zend
php.ini : /data/local/php/lib
apache : /data/local/apache/bin/apxs
Apache 2.x.x 선택

- 아파치 재시작
/아파치설치디렉토리/bin/apachectl restart

==================================================================
자~~ 여기까지 하면 일단 웹메일을 올리기 위한 또 다른 서비스를 위한 웹서버와
디비서버가 완성된거죠.. 적다보니 손가락이 너무 아프네요~~ 여담이지만 리눅스
에 대해 전혀 알지도 못했던 제가 웹메일을 설치하면서 정말 많은걸 보구 알수 있
었네요~~ 다들 힘내시구 최소한의 삽질로 최대한의 성과를 만들어봐요~~~~~~~~
==================================================================

# 웹메일 설치

그럼 지금부터 본격적으로 웹메일을 설치해보도록 하죠..
설치할 웹메일은 포포리님의 phpmail-1.0.1 버전입니다.
구성은 qmail + mysql + checkpassword + imap + phpmail 입니다.
qmail + vpopmail + imap + SquirrelMail 의 구성은 다음에 올리도록 하죠~~

1. qmail설치
1) qmail및 해당 패치 다운로드
http://qmail.manic.co.kr/ 에서 netqmail-1.05.tar.gz 다운로드
** 요기 안에 qmail-1.03 들어있네요... 요건 all 패치된거라구 하는데요 쩝 별루 쓰고싶지는 않네요. 자세한 내용은 고 링크 옆에 문서 있어요 읽어보셔요~~~ 영어지만...
http://qmail.kldp.org/phpbb/viewtopic.php?t=5798 에서
cocktail14+mysql+chkuser+quota.patch_20041116 다운로드 (2004년 11월16일자 패치)

** 캌테일 패치는 qmail에 필요한 여러가지의 패치를 모아놓은 패치 입니다. 패치 이름중에 요 부분이 중요한데요 mysql+chkuser 요게 마이에스큐엘을 연동하여 사용하고, 유저를 체크할 수 있게 해주는 것 입니다.
** 만약 칵테일 패치를 하지 않는다면 http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ 에서 qmail-1.03.errno.patch 와 qmail-1.03.qmail_local.patch 다운받아 패치를 해주어야 합니다. 하지만 우리는 캌테일 패치를 해주었기때문에 무사통과~~~~

2) 설치
- qmail을 위한 그룹 및 계정 생성
mkdir /var/qmail
mkdir /var/qmail/alias
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 패치 (패치는 해당 소스디렉토리에서 하는게 젤 좋다구 하더군요~~)
cp /다운로드디렉토리/cocktail14+mysql+chkuser+quota.patch_20041116 /소스디렉토리
cd /소스디렉토리
patch -p1 < cocktail14+mysql+chkuser+quota.patch_20041116

- 일부 파일 수정 (/data/local/mysql은 제 설치경로입니다. 자신의 것에 맞게 바꿔주세요~~)
vi mysql.c
#include <mysql/mysql.h>을 #include </data/local/mysql/include/mysql/mysql.h>로 수정
vi qmail-getpw.c
#include </mysql/mysql.h>을 #include </data/local/mysql/include/mysql/mysql.h>로 수정
vi Makefile
MYSQL_INCLUDE=-I/usr/local/include 을 MYSQL_INCLUDE=-I/data/local/mysql/include 로 수정
MYSQL_LIBS=/usr/lib/mysql/libmysqlclient.a -lm -lz -lcrypt -lnsl -ldl 을
MYSQL_LIBS=-lmysqlclient -L/data/local/mysql/lib/mysql -lm -lz -lcrypt -lnsl -ldl 로 수정
vi conf-cc
cc -O2 -DTLS=20021228 -I/usr/local/ssl/include 를
gcc -O2 -march=i686 -funroll-loops -DTLS=20021228 -I/usr/local/ssl/include 로 수정

** 수정필수사항은 mysql의 include, lib 경로와 openssl의 경로 입니다. 저의 경우는 openssl을 디폴트로 설치하였기에 따로 경로수정이 필요치 았습니다.

- 컴파일 및 설치
make
make setup check
- control 파일들 생성
./config
** 요부분은 DNS설정이 꼭 되어있어야 합니다.
**./config-fast 도메인명 을 사용해서 강제로 설정해줄 수도 있습니다.
** 이 단계를 거치고 나면 /var/qmail/control/에 defaultdomain, locals, me, plusdomain, rcpthosts 이 생성되는데 차후 메일서버를 운영함에 있어 중요한 파일들이니 뭐하는 파일들인지 꼭 알아두세요~~


2. ucspi-tcp 설치 (tcp커넥션을 만들어주는 것이죠)
1) ucspi-tcp및 해당 패치 다운로드
http://cr.yp.to/ucspi-tcp/install.html 에서
ucspi-tcp-0.88.tar.gz 다운로드
http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ 에서
ucspi-tcp-0.88.errno.patch, ucspi-tcp-0.88.a_record.patch, ucspi-tcp-0.88.nobase.patch 다운로드
http://sylvestre.ledru.info/howto/qmail/ucspi-tcp-0.88-mysql.patch 에서
ucspi-tcp-0.88-mysql.patch 다운로드

2) 설치
- ucspi-tcp 패치(패치파일을 소스디렉토리로 복사후!! 아시죠??)
patch -p1 < ucspi-tcp-0.88.errno.patch
patch -p1 < ucspi-tcp-0.88.a_record.patch
patch -p1 < ucspi-tcp-0.88.nobase.patch
patch -p0 < ucspi-tcp-0.88-mysql.patch

- 일부 파일 수정
vi conf-cc
gcc -O2 -I/usr/include/mysql 를
gcc -O2 -march=i686 -funroll-loops -I/data/local/mysql/include/mysql 로 수정

vi db.c
#include <mysql.h>을 #include </data/local/mysql/include/mysql/mysql.h>로 수정

vi conf-ld
gcc -s -I/usr/include/mysql -L/usr/local/lib/mysql -lmysqlclient 을
gcc -s -I/data/local/mysql/include/mysql -lmysqlclient -L/data/local/mysql/lib/mysql 로 수정

-컴파일 및 설치
make
make setup check

3. demontool 설치(demontool로 qmail을 돌릴거에요~~ ^^
1) demontool및 해당 패치 다운로드
http://cr.yp.to/daemontools/install.html 에서
daemontools-0.76.tar.gz 다운로드
http://qmail.org/moni.csi.hu/pub/glibc-2.3.1/ 에서
daemontools-0.76.errno.patch 다운로드
2) 설치
- 설치 디렉토리 생성
mkdir -p /package
chmod 1755 /package
cd /package
mv ~/다운로드위치/daemontools-0.76.tar.gz /package
tar -zxvf daemontools-0.76.tar.gz
rm -rf daemontools-0.76.tar.gz
cd admin/daemontools-0.76
cp ~/다운로드위치/daemontools-0.76.errno.patch .
patch -p1 < daemontools-0.76.errno.patch
package/install

4. chechpasswd
1) chechpasswd 및 해당 패치 다운로드
http://cr.yp.to/checkpwd/install.html 에서 checkpassword-0.90.tar.gz 다운로드
checkpassword-0.90-mysql-0.6.6.patch 다운로드
************************************************************
checkpassword-0.90-mysql-0.7.4.patch 가 있으나 잘 안되더라구요... 링크 참고하세요...
http://qmail.kldp.org/phpbb/viewtopic.php?t=5309&highlight=checkpassword-0.90-mysql-0.6.6.patch
************************************************************
** chechpasswd는 말 그대로 메일 계정의 패스워드를 체크할 수 있게 해주는건데요 겨기에 마이에스큐엘 패치를 하여 디비에 들어있는 가상계정의 패스워드체크도 가능하게 됩니다.

2) 설치
- checkpassword 패치
patch -p1 < checkpassword-0.90-mysql-0.6.6.patch

- 일부 파일 수정
vi mysql.c
#include <mysql.h>을 #include </data/local/mysql/include/mysql/mysql.h>로 수정

vi Makefile
MYSQL_INCLUDE=-I/usr/local/include 을 MYSQL_INCLUDE=-I/data/local/mysql/include 로 수정
MYSQL_LIBS=/usr/lib/mysql/libmysqlclient.a -lm -lz -lcrypt -lnsl -ldl 을
MYSQL_LIBS=-lmysqlclient -L/data/local/mysql/lib/mysql -lm -lz -lcrypt -lnsl -ldl 로 수정

vi conf-cc
gcc -O2 을 gcc -O2 -march=i686 -funroll-loops 로 수정

vi error.h
#include <errno.h> 추가

-컴파일 및 설치
make
make setup check

- 소유권 및 퍼미션 변경(http://qmail.kldp.org/phpbb/viewtopic.php?t=5908&highlight=checkpassword)
chown root.nofiles /bin/checkpassword
chmod 4110 /bin/checkpassword

5. qmail설정
1) qmail-pop3, qmail-send, qmail-smtp 구동 / 로거 파일 생성
- 디렉토리 생성 및 권한설정
mkdir -p /var/qmail/supervise/qmail-send/log
mkdir -p /var/qmail/supervise/qmail-smtp/log
mkdir -p /var/qmail/supervise/qmail-pop3/log
chmod +t /var/qmail/supervise/qmail-send
chmod +t /var/qmail/supervise/qmail-smtp
chmod +t /var/qmail/supervise/qmail-pop3
- qmail-send 구동(run) 파일 생성
vi /var/qmail/supervise/qmail-send/run
#!/bin/sh
exec /var/qmail/rc
- qmail-send 로거(run) 파일 생성
vi /var/qmail/supervise/qmail-send/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/send
- qmail-smtp 구동(run) 파일 생성
vi /var/qmail/supervise/qmail-smtp/run
#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 5000000 /usr/local/bin/tcpserver -v -R -l 0 -x /etc/tcp.smtp.cdb -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp /var/qmail/bin/qmail-smtpd `hostname -f` /bin/checkpassword /bin/true 2>&1
- qmail-smtp 로거(run) 파일 생성
vi /var/qmail/supervise/qmail-smtp/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/smtp
- qmail-pop3 구동(run) 파일 생성
vi /var/qmail/supervise/qmail-pop3/run
#!/bin/sh
exec /usr/local/bin/softlimit -m 5000000 /usr/local/bin/tcpserver -v -R -H -l 0 0 pop3 /var/qmail/bin/qmail-popup 메일서버도메인명 /bin/checkpassword /var/qmail/bin/qmail-pop3d Maildir 2>&1
- qmail-pop3 로거(run) 파일 생성
vi /var/qmail/supervise/qmail-pop3/log/run
#!/bin/sh
exec /usr/local/bin/setuidgid qmaill /usr/local/bin/multilog t /var/log/qmail/pop3

- 각 구동 및 로거파일 권한 설정
chmod 755 /var/qmail/supervise/qmail-send/run
chmod 755 /var/qmail/supervise/qmail-send/log/run
chmod 755 /var/qmail/supervise/qmail-smtp/run
chmod 755 /var/qmail/supervise/qmail-smtp/log/run
chmod 755 /var/qmail/supervise/qmail-pop3/run
chmod 755 /var/qmail/supervise/qmail-pop3/log/run

- 디폴트 알리아싱 설정
cd /var/qmail/alias
echo 임의의사용자아이디 > .qmail-mailer-daemon
echo 임의의사용자아이디 > .qmail-postmaster
echo 임의의사용자아이디 > .qmail-root

ex)
cd /var/qmail/alias
echo alias > .qmail-mailer-daemon
echo alias > .qmail-postmaster
echo alias > .qmail-root

- /var/qmail/rc 파일 생성
cp /var/qmail/boot/proc /var/qmail/rc
vi /var/qmail/rc
* 7라인을 다음과 같이 수정
qmail-start '|preline procmail ./Maildir/' splogger qmail

- 로그 디렉토리 생성및 소유권 변경 (차후 이쪽에서 로그를 볼 수 있어요~~)
mkdir -p /var/log/qmail/send
mkdir -p /var/log/qmail/smtp
mkdir -p /var/log/qmail/pop3
chown -R qmaill /var/log/qmail

- qmail 실행파일 생성(요게 메인이죠~~~~ 그대로 복사해서 넣어주세요~~)
vi /etc/init.d/qmail
=====================요기서부터====================
#!/bin/sh
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 80 80
# description: qmail MTA
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
case "$1" in
start)
echo -n "Starting qmail: svscan"
cd /var/qmail/supervise
env - PATH="$PATH" svscan &
echo $! > /var/run/svscan.pid
echo "."
;;
stop)
echo -n "Stopping qmail: svscan"
kill `cat /var/run/svscan.pid`
echo -n " qmail"
svc -dx /var/qmail/supervise/*
echo -n " logging"
svc -dx /var/qmail/supervise/*/log
echo "."
;;
stat)
cd /var/qmail/supervise
svstat * */log
;;
doqueue|alrm)
echo "Sending ALRM signal to qmail-send."
svc -a /var/qmail/supervise/qmail-send
;;
queue)
qmail-qstat
qmail-qread
;;
reload|hup)
echo "Sending HUP signal to qmail-send."
svc -h /var/qmail/supervise/qmail-send
;;
pause)
echo "Pausing qmail-send"
svc -p /var/qmail/supervise/qmail-send
echo "Pausing qmail-smtp"
svc -p /var/qmail/supervise/qmail-smtp
echo "Pausing qmail-pop3"
svc -p /var/qmail/supervise/qmail-pop3
;;
cont)
echo "Continuing qmail-send"
svc -c /var/qmail/supervise/qmail-send
echo "Continuing qmail-smtp"
svc -c /var/qmail/supervise/qmail-smtp
echo "Continuing qmail-pop3"
svc -c /var/qmail/supervise/qmail-pop3
;;
restart)
echo "Restarting qmail:"
echo "* Stopping qmail-smtp."
svc -d /var/qmail/supervise/qmail-smtp
echo "* Sending qmail-send SIGTERM and restarting."
svc -t /var/qmail/supervise/qmail-send
echo "* Restarting qmail-smtp"
svc -u /var/qmail/supervise/qmail-smtp
;;
cdb)
tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
chmod 644 /etc/tcp.smtp*
echo "Reloaded /etc/tcp.smtp."
;;
help)
cat << HELP
stop -- stops mail service (smtp connections refused, nothing goes out)
start -- starts mail service (smtp connection accepted, mail can go out)
pause -- temporarily stops mail service (connections accepted, nothing leaves)
cont -- continues paused mail service
stat -- displays status of mail service
cdb -- rebuild the tcpserver cdb file for smtp
restart -- stops and restarts smtp, sends qmail-send a TERM & restarts it
doqueue -- sends qmail-send ALRM, scheduling queued messages for delivery
reload -- sends qmail-send HUP, rereading locals and virtualdomains
queue -- shows status of queue
alrm -- same as doqueue
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|restart|doqueue|reload|stat|pause|cont|cdb|queue|help}"
exit 1
;;
esac
exit 0
======================요기까지=====================
chmod 755 /etc/init.d/qmail

- 릴레이 설정(파일을 만들어주세요~~)
vi /etc/tcp.smtp
127.0.0.1:allow,RELAYCLIENT=""
서버아이피:allow,RELAYCLIENT=""
:allow

- tcp.smtp를 cdb형식으로 변환
/etc/init.d/qmail cdb
** 보통은 tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp 를 사용하지만 우리는 /etc/init.d/qmail에 스크립트를 넣어줬기때문에 요걸루 변환~~ 앞으로 편해요~~

- 센드메일을 사용하는 프로그램들이 qmail 을 사용할 수 있도록 링크
mv /usr/lib/sendmail /usr/lib/sendmail.snd
mv /usr/sbin/sendmail /usr/sbin/sendmail.snd
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

- 디비접속 컨트롤 파일 생성
vi /var/qmail/control/sqlserver
mysql_use yes
server localhost
login phpmail
password phpmail
db phpmail
table mailuser
port 3306
check_host yes
quota yes
ignore_validity yes
swap_check_order yes

- 디비설정
mysql -u root -p암호
use mysql;

insert into user values ('localhost', 'phpmail', password('phpmail'), 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N','N', 'N', 'N', 'N', 'N', 'N', 'N','','','','',0,0,0);

insert into db values ('localhost', 'phpmail', 'phpmail', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'Y', 'Y', 'Y','Y', 'Y');

create database phpmail;
flush privileges;
use phpmail;

create table mailuser (
mbox_host varchar(32) binary null,
id varchar(32) binary not null,
passwd varchar(32) binary not null,
crypt varchar(32) binary not null,
uid int(5) unsigned not null default '99',
gid int(5) unsigned not null default '99',
shell varchar(16) not null default '/bin/false',
home varchar(64) binary not null,
quota_size int(10) null,
start_date date not null default '0000-00-00',
expire_date date not null default '0000-00-00',
active enum('Y','N') not null default 'Y'
);

insert into mailuser (mbox_host, id, passwd, crypt, uid, gid, shell, home) values
('서버도메인', 'phpmail', 'phpmail', encrypt('phpmail'), 99, 99, '/bin/false', '/메일박스가들어갈위치/서버도메인/phpmail');
** /메일박스가들어갈위치/서버도메인은 /data/phpmail/mail.maruplus.net 이런식 입니다.~~

- 메일디렉토리 설정
mkdir -p /메일박스가들어갈위치/서버도메인/phpmail
/var/qmail/bin/maildirmake /메일박스가들어갈위치/서버도메인/phpmail/Maildir
chown -R 99:99 /메일박스가들어갈위치

- .qmail 작성
========================================================================
%
|/var/qmail/bin/preline /usr/bin/procmail -p -m /data/phpmail/mailserver.com/phpmail/.procmailrc
========================================================================
** 쿼타설정인데요.. 패치에 따라 설정이 좀 다르네요...
일반적으론 |/var/qmail/bin/qmail-quota 요렇게 설정하는데요
cocktail14+mysql+chkuser+quota.patch_20041116 패치를 사용했을경우는 쿼타를 디비의 값을 읽어 바로 처리 하네요 해서
% 만 .qmail안에 써 주시면 쿼타설정 됩니다.

- .procmail 작성
========================================================================
PATH=/bin:/usr/bin:/usr/local/bin
DEFAULT=/data/phpmail/mailserver.com/info/Maildir/
MAILDIR=/data/phpmail/mailserver.com/info/Maildir/
LOGFILE=/var/log/qmail/procmail
VERBOSE=no
SHELL=/bin/sh

# korean code decode
:0 Efhw
*^(Subject|From|Cc):.*=\?EUC-KR\?(B|Q)\?
|formail -c | hcode -dk -m
:0 Efhw
*^(Subject|From|Cc):.*=\?ks_c_5601-1987\?(B|Q)\?
|formail -c | hcode -dk -m
:0

#:0 BfHw
#*^*.filename=.*(\?euc-kr\?)
#|formail -c | hcode -dk -m

# rejection from emailaddress
#* ^From: .*()
#/data/phpmail/mailserver.com/info/Trash/rejection

# delete spam filter
#:0
#* ^Subject: .*()
#/dev/null

# move spam filter
#:0
#* ^Subject: .*()
#/data/phpmail/mailserver.com/info/Trash/spam

#:0 Efhw
#* ^From: .*()
#|/script/my_vacation
======================================================================
** procmail에서 필터링을 하시려면 요 파일에 설정해주면 됩니다.

- qmail 실행~~
/etc/init.d/qmail start

- 가상계정 테스트
/var/qmail/bin/qmail-getpw phpmail 서버도메인 했을때
phpmail9999/메일박스가들어갈위치/서버도메인/phpmail0 요렇게 나오면 정상이에요~~
** 여기서 phpmail은 메일유저에요~~ phpmail은 실 계정이 아닌 가상계정으로 디비에 저장되죠~~ 이렇게 설정해 놓으면 차후 새로운 메일들은 phpmail 아랫쪽으로 쌓이게 됩니다.


===============================================================
여기까지 하면 일단 아웃룩으로 메일 서비스를 이용할 수 있어요~~~
물론 스팸메일이나 바이러스 등을 걸러주는 기능은 빠져있지만요...........
고 부분은 메일 서비스 전부를 마친 후에 추가하기로 해요~ 하아~ 힘드네요
자~~ 그러면 마지막으로 가야할 길 웹메일을 설치해보아요
================================================================

6. imap 설치
================================================================
많고 많은 imap중 어느걸 쓸것인가 하는게 참 고민되더군요..
courier-imap, imap-2004c1, imap-4.7c, imap-4.7b, imap-2002d_HiHi_R2 등을
설치해보구 삽질하구 한 결과 imap-4.7b, imap-2002d_HiHi_R2 두개로 좁혀졌네요...
아무래두 패치와의 궁합이겠죠?? 이 두개의 설치방법을 올립니다.
================================================================
1) imap-4.7b 설치
- php컴파일을 위해 설치된 imap삭제
rm -rf /usr/local/imap
rm -rf /usr/c-client

- imap-4.7b 및 해당 패치 다운로드
http://www.au.horde.org/pub/imap/old/ 에서 imap-4.7b.tar.Z 를 다운로드
http://www.davideous.com/imap-maildir/distrib/imap-4.7/ 에서
imap-4.7-maildirpatched-1.00.tar.gz 를 다운로드
http://www.softagency.co.jp/products/mysql/imap.html 에서
imap-mysql-0.0.2.patch.gz를 다운로드
** imap을 사용하기 위해선 mysql패치와 maildir패치가 필요합니다. 두번째 링크에 보면
각 패칭들이 모두 있기는 하지만 일일이 다 패치해주려면 중복되는것두 있구 해서 어렵습니다.
그래서 imap-4.7-maildirpatched-1.00.tar.gz 이 파일을 선택했는데요. 요넘은 imap-4.7에 maildir이
패치된 소스입니다. 이 두개가지구 설치해보죠~~

- 패치적용
tar -zxvf imap-4.7b.tar.Z
tar -zxvf imap-4.7-maildirpatched-1.00.tar.gz
cp -R imap-4.7b /usr/local/imap
cp -Rf imap-4.7-maildirpatched-1.00/* /usr/local/imap/
** 이렇게 원 소스에 패치된 소스를 덮어씌우면 간단하게 maildir패치가 완료 됩니다.
cp imap-mysql-0.0.2.patch /usr/local/imap/
vi imap-mysql-0.0.2.patch 하여 내용을 보면
상단에 아래 부분이 있는데 다음과 같이 수정해야 합니다.
** 마이에스큐엘의 인클루드를 절대경로로 잡아줍니다.
** 라이브러리를 먼저 선언해준 후 절대경로로 라이브러리 경로를 잡아줍니다.
--------------------------------------------------------------------------------------------
+# for MySQL
+MYSQL_INCLUDE=-DUSE_MYSQL -I/usr/local/mysql/include
+MYSQL_LIBS=-L/usr/lib/mysql/libmysqlclient.a -lm -lz -lcrypt -lnsl -ldl
+MYSQL_OBJS=mysql.o
+SQLSERVERFILE=/var/qmail/control/sqlserver
---------------------------------------------------------------------------------------------
요런 식으루 수정하세요 (자신의 설정에 맞게 수정해야겠죠??)
** 제 설정은 mysql설치 위치가 /data/local/mysql 입니다.~~
---------------------------------------------------------------------------------------------
+# for MySQL
+MYSQL_INCLUDE=-DUSE_MYSQL -I/data/local/mysql/include
+MYSQL_LIBS=-lmysqlclient -L/data/local/mysql/lib/mysql -lm -lz -lcrypt -lnsl -ldl
+MYSQL_OBJS=mysql.o
+SQLSERVERFILE=/var/qmail/control/sqlserver
---------------------------------------------------------------------------------------------

patch -p1 < imap-mysql-0.0.2.patch 이렇게 패치를 하면 FAILD오류가 다음과같이 뜹니다.
---------------------------------------------------------------------------------------------
patching file src/osdep/unix/Makefile
Hunk #2 FAILED at 108.
Hunk #3 succeeded at 714 (offset 1 line).
1 out of 3 hunks FAILED -- saving rejects to file src/osdep/unix/Makefile.rej
patching file src/osdep/unix/env_unix.c
Hunk #6 succeeded at 577 with fuzz 1 (offset 1 line).
Hunk #7 succeeded at 608 (offset 5 lines).
.
.
---------------------------------------------------------------------------------------------
이부분은 손으로 직접 패치 해야하겠죠??
패치가 안된 부분은 src/osdep/unix/Makefile.rej 파일에서 확일 할 수 있습니다.
비슷한곳 찾아서 직접 수정해 주세요~~ 이것 말고두 컴파일 하다보니 오류가 나오더군요
이 문제는 다음 파일들에 타임헤더를 #include <time.h> 추가시켜주면 됩니다.
/usr/local/imap/src/osdep/unix/env_unix.c
/usr/local/imap/src/osdep/unix/news.c
/usr/local/imap/src/osdep/unix/phile.c
/usr/local/imap/src/osdep/unix/mh.c
/usr/local/imap/src/osdep/unix/mx.c
/usr/local/imap/src/osdep/unix/maildir.c

- 설치
make slx
** 최신버전들은 lrh라는 정의를 가지고 있으나 해당 버전은 slx 입니다.
cp -R c-client /usr/
cp imapd/imapd /usr/sbin/imapd
vi /etc/xinetd.d/imapd
# default: on
# description: This is imap service.
service imap
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
log_on_success += HOST DURATION
log_on_failure += HOST
}

2) imap-2002d_HiHi_R2 설치
=================================================================
** 참 즐겁게도 모든 패치가 다 되어있는 버전이 있네요~~ 왜 이거 먼저 올리지
4.7부터 올렸나구요?? ㅎㅎ 그거야 올리는 사람 맘이구요 한번씩 해보시라구요
암튼 이 버전을 전 하이하이 버전이라구 이름붙이기루 했어요~~
그럼 하이하이를 설치해 볼까요~~
=================================================================
- http://qmail.kldp.org/phpbb/viewtopic.php?p=15102& 에서 imap-2002d_HiHi_R2 다운로드

- 파일 수정
vi src/osdep/unix/Makefile
MYSQL_DIR=/usr/local/mysql
MYSQL_INCLUDE=-DUSE_MYSQL -I$(MYSQL_DIR)/include
MYSQL_LIBS=$(MYSQL_DIR)/lib/mysql/libmysqlclient.a -lm -lz -lcrypt -lnsl -ldl
MYSQL_OBJS=mysql.o
SQLSERVERFILE=/var/qmail/control/sqlserver
요 부분을

MYSQL_INCLUDE=-DUSE_MYSQL -I/data/local/mysql/include
MYSQL_LIBS=-lmysqlclient -L/data/local/mysql/lib/mysql -lm -lz -lcrypt -lnsl -ldl
MYSQL_OBJS=mysql.o
SQLSERVERFILE=/var/qmail/control/sqlserver
요렇게 수정

-헤더파일 복사
cp /usr/kerberos/include/krb5.h /usr/include/openssl/
cp /usr/kerberos/include/com_err.h /usr/include/openssl/
cp /usr/kerberos/include/profile.h /usr/include/openssl/

- 설치
make slx
** 최신버전들은 lrh라는 정의를 가지고 있으나 해당 버전은 slx 입니다.

cp imapd/imapd /usr/sbin/imapd
vi /etc/xinetd.d/imapd
# default: on
# description: This is imap service.
service imap
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/imapd
log_on_success += HOST DURATION
log_on_failure += HOST
}

-imap 실행
/etc/rc.d/init.d/xinetd restart



7. phpmail설치
1) http://qmail.kldp.org/phpbb/viewtopic.php?t=5856&highlight=phpmail-1.0.1 에서
phpMail-1.0.1.tar.gz 다운로드

2) 설치(웹서버에 올리기)
- 파일 올리기
tar -zxvf phpmail-1.0.1.tar.gz
mv phpmail-1.0.1 /호스트도메인위치
** 침거 :제 설정은 /호스트도메인위치를 /data/webroot/webmail 요렇게 해놨지요~~

- 호스트 설정
vi /아파치설치디렉토리/conf/httpd.conf
가상 호스트를 하나 생성하고 해당 호스트에
php_value register_globals 1 을 추가로 적어준다.
** 일반적으로 php설정중 register_globals = Off 로 셋팅하는데 이 호스트에서만 on으로 한다

3) 설치(디비테이블생성)
- 기존 디비 삭제 (phpmail-1.0.1안에 디비 백업 있으므로 삭제후 복원한다.)
mysql -u root -p
use phpmail;
drop table mailuser;
exit;
- 디비 복원
mysql -u root -p phpmail < phpmail-linux.sql
- 기본 도메인 추가
mysql -u root -p
use phpmail;
insert into maildomn (mbox_host,company,admin,email,home)
values('메일서버도메인명', '회사명','관리자아이디','관리자메일주소','도메인디스크위치');
** sample
insert into maildomn (mbox_host,company,admin,emal,home)
values ('maruplus.net', 'maruplus', 'phpmail', 'test@maruplus.net','/data/phpmail/maruplus.net');

5) phpmail 환경설정
vi DocumentRoot/phpmail-1.0.x/lib/config.lib.html
자신의 설정에 맞게 수정해 주시면 됩니다.
주로 mysql의 연결쪽과 메일박스 들어가는 위치 를 보시면 됩니다.

7) 유저등록
http://호스트/register.html 를 이용하여 유저등록

6) 접속확인
브라우저를 연 후 웹메일 호스트로 연결하여본다.~~~

==============================================================================
하아~~~ 드디어 끝났네요~~~ 다들 잘 설치 되셨는지요??
저두 통 뭘 모르는지라 난잡하고 정신없는 문서가 되어버렸지만...
그래두 보시면서 조금이나마 빨리 성공하셨다면 그 나름대로 보람이라고 생각하고 싶네요
참고로 이 문서는 저같은 초보분들을 위하여 만든 문서이므로 고수님들 악플은 삼가해 주세요
또 잘못되었거나 빠진 부분이 있다면 친절히 댓글로 수정해주시면 합니다. ~~~
도움주신 포포리님과 이철호님 감사드립니다.
==============================================================================

# 웹메일 기타 추가사항
1. libiconv 설치 (hcode가 이넘의 라이브러리를 쓴대나 어쩐대나 잘은 몰라요 ㅠ.ㅠ)
1) http://www.gnu.org/software/libiconv/ 에서 최신소스 다운로드
2) 설치 (디폴트 설치)
./configure --enable-static --enable-shared
make
make install

2. hcode 설치
1) http://people.kldp.org/~eunjea/tmp/ 에서 hcode2.1-mailpatch3-TABpatch.tgz 다운로드
2) 설치
make
cp hcode /usr/local/bin/

3. qmail-autoresponder 설치
1) http://qmail.kldp.org/phpbb/viewtopic.php?t=6095&highlight=autoresponde 에서
autorespond-2[1].0.3.tar.gz 다운로드
2) 설치
make
cp autorespond /usr/local/bin/

4. clamav 설치
1) http://www.clamav.net/ 에서 clamav 최신소스 다운로드
2) 설치
useradd clamav -s /bin/false -c "Clam AntiVirus" clamav
./configure
make
make install

3) 설정
vi /usr/local/etc/clamd.conf
example 부분 주석처리 (약 8번째 줄에 있음.)
LogSyslog 부분 주석 제거
FixStaleSocket 부분 주석 제거
MaxThreads 부분 주석 제거 및 값을 30으로 수정
User 부분 주석 제거 및 값을 qscand로 수정
Foreground 부분 주석 제거
ScanMail 부분 주석 제거

4) daemontool로 관리
-실행파일 생성
mkdir -p /data/local/clamav/bin
vi /data/local/clamav/bin/clamdctl
======================== 요기서부터 ================================
#!/bin/sh
# For Red Hat chkconfig
# chkconfig: - 80 30
# description: the ClamAV clamd daemon

PATH=/data/local/clamav/bin:/bin:/usr/bin:/usr/local/bin:/usr/local/sbin
export PATH

case "$1" in
start)
echo "Starting clamd"
if svok /service/clamd ; then
svc -u /service/clamd
else
echo clamd supervise not running
fi
if [ -d /var/lock/subsys ]; then
touch /var/lock/subsys/clamd
fi
;;
stop)
echo "Stopping clamd..."
echo " clamd"
svc -d /service/clamd
if [ -f /var/lock/subsys/clamd ]; then
rm /var/lock/subsys/clamd
fi
;;
stat)
svstat /service/clamd
svstat /service/clamd/log
;;
restart)
echo "Restarting clamd:"
echo "* Stopping clamd."
svc -d /service/clamd
echo "* Sending clamd SIGTERM and restarting."
svc -t /service/clamd
echo "* Restarting clamd."
svc -u /service/clamd
;;
hup)
echo "Sending HUP signal to clamd."
svc -h /service/clamd
;;
help)
cat <<HELP
stop -- stops clamd service (smtp connections refused, nothing goes out)
start -- starts clamd service (smtp connection accepted, mail can go out)
stat -- displays status of clamd service
restart -- stops and restarts the clamd service
hup -- same as reload
HELP
;;
*)
echo "Usage: $0 {start|stop|stat|restart|hup|help}"
exit 1
;;
esac
exit 0
========================= 요기까지 =================================
chmod 755 /data/local/clamav/bin/clamdctl
chown clamav /data/local/clamav/bin/clamdctl

- 구동파일 생성
mkdir -p /data/local/clamav/supervise/clamd/log
vi /data/local/clamav/supervise/clamd/run
======================== 요기부터 ================================
#!/bin/sh
lockfile="/tmp/clamd" # Location of clamd lock file
path_to_clamd="/usr/local/sbin/clamd" # Location of the clamd binary
BAD_EXIT_CODE=1 # The exit code we use to announce that something bad has happened
get_clam_pids_pipeline=`ps -ax | grep -E "${path_to_clamd}\$" | grep -v grep | awk '{print $1}'`

# Generic helper functions
# Basic return code error message function
die_rcode() {
EXIT_CODE=$1
ERROR_MSG=$2

if [ $EXIT_CODE -ne '0' ]; then
echo "$ERROR_MSG" 1>&2
echo "Exiting!" 1>&2
exit "$BAD_EXIT_CODE"
fi
}

# Main
ps_clamd=""
ps_clamd="$get_clam_pids_pipeline"
if [ -n "$ps_clamd" ]; then
pid_count="0"
for pid in $ps_clamd
do
pid_count=`expr $pid_count + 1`
done

die_rcode $BAD_EXIT_CODE "Error: $pid_count clamd process(es) already running!"

fi

if [ -e "$lockfile" ]; then
rm "$lockfile"
exit_code="$?"
die_rcode $exit_code "Error: 'rm $lockfile' call failed."
fi
exec /usr/local/bin/setuidgid qscand $path_to_clamd
======================== 요기까지 ================================
chmod 755 /data/local/clamav/supervise/clamd/run

- 로거파일 생성
vi /data/local/clamav/supervise/clamd/log/run
======================== 요기부터 ================================
#!/bin/sh
exec /usr/local/bin/setuidgid qscand /usr/local/bin/multilog t /var/log/qmail/clamav/clamd
======================== 요기까지 ================================
chmod 755 /data/local/clamav/supervise/clamd/log/run

- 로그파일 생성(위치는 자신이 정하면 되구요.. 로거파일 안에 위치두 같게 해줘야겠죠!!)
mkdir -p /var/log/clamav/clamd
chown qscand /var/log/clamav/clamd

- 실행
ln -s /data/local/clamav/supervise/clamd /service

5) 자동업데이트 설정
vi /usr/local/etc/freshclam.conf 에서 Example을 주석처리
touch /var/log/clamav/clam-update.log (이부분도 로그 위치인데요 위치는 원하시는대로..)
chmod 600 /var/log/clamav/clam-update.log
chown clamav /var/log/clamav/clam-update.log
freshclam -d -c 6 -l /var/log/clamav/clam-update.log (로그파일 위치 잡아주세요!!)


4. qmail-scanner설치

1) qmail-scanner 설치전 필요 rpm 설치 (버전은 별 상관 없으니 리눅스 씨디에서 찾아쓰시면 됩니다.)
perl-suidperl-5.8.0-88.i386.rpm
perl-DB_File-1.804-88.i386.rpm
perl-HTML-Parser-3.26-17.rpm
perl-Time-HiRes-1.38-3.rpm
perl-HTML-Tagset-3.03-28.rpm
unzip-5.50-7.i386.rpm (보통 설치되어있음)

2) tnef모듈 설치 (MS-TNEF MIME을 사용하기 위함)
- http://sourceforge.net/projects/tnef/ 에서 최신소스 다운로드
./configure
make
make install

3) maildrop 설치
** qmail-scanner가 이메일 포맷을 스캔가능한 형태로 변환하기 위해 maildrop의 reformime이란 기능을 이용
- http://prdownloads.sourceforge.net/courier/ 에서 최신소스 다운로드
./configure
make
make install-strip
make install-man

4) qmail-scanner 설치
- http://qmail-scanner.sourceforge.net 에서 최신소스 다운로드
- 설치
useradd qscand -s /bin/false
./configure (설정값 확인)
./configure --install (컨피그 되면서 설치됨///.)
- 확인
/var/qmail/bin/qmail-scanner-queue.pl -g (큐메일 스캐너 룰셋이 잘 적용되었는지 확인)
** "Can't do setuid", or "Permission denied" 에러발생시
setuidgid qmaild /var/qmail/bin/qmail-scanner-queue.pl -g

- qmail run에 scanner 연동
vi /var/qmail/supervise/qmail-smtp/run
#!/bin/sh 아래 다음 두줄 추가
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"
export QMAILQUEUE

- 차후 적용사항
quarantine-attachments.txt 에 필터 대상 헤드 내용을 추가후
/var/qmail/bin/qmail-scanner-queue.pl -g 실행시켜 db파일을 갱신

- 테스트
cd /소스디렉토리
./contrib/test_installation.sh -doit
==================== 출려값 =================================
Sending standard test message - no viruses...
done!
Sending eicar test virus - should be caught by perlscanner module...
done!
Sending eicar test virus with altered filename - should only be caught by commercial anti-virus modules (if you have any)...
Sending bad spam message for anti-spam testing - In case you are using SpamAssassin...
Done!
Finished test. Now go and check Email for root
=============================================================
cat /var/spool/qmailscan/viruses.log 에 다음과같은 로그면 정상
Tue, 29 Mar 2005 01:43:22 KST root@maruplus.net Qmail-Scanner viral test (2/4): checking perlscanner... EICAR Test Virus

- crontap 연계 바이러스메일 삭제
0 * * * * find /var/spool/qmailscan/quarantine/new -type f -mtime +30 -exec rm '{}' \;


# 멀티 도메인 설정
1) db설정(기존 도메인 설정과 동일)
2) 디렉토리 설정(기존 도메인 디렉토리 설정과 동일)
3) qmail control 파일 수정
locals 에 도메인 추가
rcpthosts 에 도메인 추가

# 메일 모니터링
1. Mailgraph 설치 (메일 서버 성능 모니터링)
1) RRDtool 설치 (Mailgraph가 RRDtool로 그래프를 생성)
- http://people.ee.ethz.ch/~oetiker/webtools/rrdtool/pub/ 에서 소스 다운로드
./configure
./make
./make install
./make site-perl-install

** 필요한 perl모듈 (perl -MCPAN -e shell 로 원격설치)
1. Time::HiRes
2. File::Tail

** Mailgraph
Note that "Bounced", "Viruses", and "Spam" are stacked one on another in the graph, whereas "Rejected" is a line.
_________________
모르는게 너무 많아요 도와주세요~~

maruplus 가 2005년4월28일 3:26 pm에 수정함, 총 3 번 수정됨

자료출처 : http://qmail.kldp.org/phpbb/viewtopic.php?t=6190&highlight=phpmail

출처 : http://qdata.co.kr/bo/bbs/board.php?bo_table=ltip&wr_id=301

댓글목록

등록된 댓글이 없습니다.

1,139 (5/23P)

Search

Copyright © Cmd 명령어 18.191.103.28