심히 걱정된다 - 2008/08/20 10:03
Qmail 설치

참고 사이트 : qmail.org

preinstall

yum install gcc gcc-c++ mysql-devel openssl-devel

===================================================================================

1 설치준비

mkdir /downloads
cd /downloads
wget http://www.qmailrocks.org/downloads/qmailrocks.tar.gz
tar zxvf qmailrocks.tar.gz

===================================================================================

2. 큐메일 인스톨

2-1. 큐메일설치

/downloads/qmailrocks/scripts/install/qmr_install_linux-s1.script
/downloads/qmailrocks/scripts/util/qmail_big_patches.script  
cd /usr/src/qmail/qmail-1.03
make man && make setup check
./config-fast mail.webpis.net
make cert

-----------------------------------------------------------------------------
Country Name (2 letter code) [GB]:KR
State or Province Name (full name) [Berkshire]:ROK
Locality Name (eg, city) [Newbury]:Seoul
Organization Name (eg, company) [My Company Ltd]:MAIL
Organizational Unit Name (eg, section) []:HOSTING
Common Name (eg, your name or your server's hostname) []:mail.webpis.net
Email Address []:admin@webpis.net
-----------------------------------------------------------------------------

chown -R vpopmail:qmail /var/qmail/control/clientcert.pem /var/qmail/control/servercert.pem

2-2. ucspi-tcp 설치

cd /usr/src/qmail/ucspi-tcp-0.88/
patch < /downloads/qmailrocks/patches/ucspi-tcp-0.88.errno.patch
make && make setup check

2-3. daemontools 설치

cd /package/admin/daemontools-0.76/src
patch < /downloads/qmailrocks/patches/daemontools-0.76.errno.patch
cd ../
package/install

===================================================================================

3.EZmlm 설치

cd /downloads/qmailrocks/
tar zxvf ezmlm-0.53-idx-0.41.tar.gz
cd ezmlm-0.53-idx-0.41
make && make setup

===================================================================================

4. Autoresponder 설치

cd /downloads/qmailrocks
tar zxvf autorespond-2.0.5.tar.gz
cd autorespond-2.0.5
make && make install

===================================================================================

5. Vpopmail 설치 ( MySQL 연동)

mkdir ~vpopmail/etc
chown vpopmail:vchkpw ~vpopmail/etc
echo "dbserver|0|vpopmail|vpop1q2w3e|vpopmail" > ~vpopmail/etc/vpopmail.mysql
chown vpopmail:vchkpw ~vpopmail/etc/vpopmail.mysql
chmod 640 ~vpopmail/etc/vpopmail.mysql

5-1.DB서버에 접근하여 vpopmail이 사용할 DB와 사용자 계정을 생성

/etc/hosts 파일에 dbserver IP 등록
------------------------------------------------

61.32.177.164    dbserver.localdomain    dbserver

------------------------------------------------


/etc/my.cnf 에 등록
---------------------

[client]
host = dbserver
port = 3306

---------------------

mysql -uroot -p

mysql> create database vpopmail;
mysql> grant select,insert,update,delete,create,drop on vpopmail.* to 'vpopmail'@'%' identified by 'vpop1q2w3e';
mysql>flush privileges;


5-2. vpopmail 계정으로 DB서버에 접속가능한지 테스트

mysql -uvpopmail -p vpopmail
Enter password:


5-3. vpopmail 패키지 설치

cd /downloads/qmailrocks
tar zxvf vpopmail-5.4.13.tar.gz
cd vpopmail-5.4.13

./configure --enable-logging=p --enable-auth-module=mysql --disable-passwd -enable-clear-passwd --disable-many-domains --enable-auth-logging --enable-sql-logging --enable-valias --disable-mysql-limits --enable-roaming-users

make && make install-strip

===================================================================================

6. vqadmin 설치


cd /downloads/qmailrocks
tar zxvf vqadmin-2.3.6.tar.gz
cd vqadmin-2.3.6

./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html

make && make install-strip

6-1. /etc/httpd/conf/httpd.conf 에 다음 내용을 추가

---------------------------------------------------


    deny from all
    Options ExecCGI
    AllowOverride AuthConfig
    Order deny,allow


----------------------------------------------------

6-2. 아파치 인증파일 설치

vi /var/www/cgi-bin/vqadmin/.htaccess

-----------------------------------------------------

AuthType Basic
AuthUserFile /var/www/vqadmin.passwd
AuthName vQadmin
require valid-user
satisfy any

------------------------------------------------------

chown apache.apache /var/www/cgi-bin/vqadmin/.htaccess

htpasswd -bc /var/www/vqadmin.passwd admin ansflqj(패스워드)

chmod 644 /var/www/vqadmin.passwd


===================================================================================

7. Maildrop 설치

cd /downloads/qmailrocks

tar zxvf maildrop-1.6.3.tar.gz

cd maildrop-1.6.3

./configure --prefix=/usr/local --exec-prefix=/usr/local --enable-maildrop-uid=root --enable-maildrop-gid=vchkpw --enable-maildirquota

make && make install-strip && make install-man


===================================================================================

8. qamiladmin 설치


cd /downloads/qmailrocks

tar zxvf qmailadmin-1.2.9.tar.gz

cd qmailadmin-1.2.9

./configure --enable-cgibindir=/var/www/cgi-bin --enable-htmldir=/var/www/html

make && make install-strip

===================================================================================

9. 마무리

9-1. 마무리 스크립트 실행

/downloads/qmailrocks/scripts/finalize/linux/finalize_linux.script


9-2. run 파일에 호스트명 지정

vi /var/qmail/supervise/qmail-pop3d/run
-----------------------------------------------------------------

#!/bin/sh
PATH=/var/qmail/bin:/usr/local/bin:/usr/bin:/bin
export PATH
exec tcpserver -H -R -v -c100 0 110 qmail-popup mail.webpis.net
/home/vpopmail/bin/vchkpw qmail-pop3d Maildir 2>&1

-----------------------------------------------------------------

vi /var/qmail/supervise/qmail-smtpd/run

-----------------------------------------------------------------

#!/bin/sh
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open relay"
exit 1
fi
exec /usr/local/bin/softlimit -m 30000000
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD"
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp
/var/qmail/bin/qmail-smtpd mail.example.com
/home/vpopmail/bin/vchkpw /usr/bin/true 2>&1


-----------------------------------------------------------------

9-3. tcp.smtp 파일생성

qmailctl stop

echo '127.:allow,RELAYCLIENT=""' >> /etc/tcp.smtp

qmailctl cdb

9-4. 관리자 메일 등록

echo admin@webpis.net > /var/qmail/alias/.qmail-root
echo admin@webpis.net > /var/qmail/alias/.qmail-postmaster
echo admin@webpis.net > /var/qmail/alias/.qmail-mailer-daemon
ln -s /var/qmail/alias/.qmail-root /var/qmail/alias/.qmail-anonymous
chmod 644 /var/qmail/alias/.qmail*

===================================================================================

10. 센드메일 제거


yum remove sendmail
ln -s /var/qmail/bin/sendmail /usr/lib/sendmail
ln -s /var/qmail/bin/sendmail /usr/sbin/sendmail


===================================================================================

11. 큐메일 시작 및 테스트

downloads/qmailrocks/scripts/util/qmr_inst_check

--> Congratulations, your Qmailrocks.org Qmail installation looks good! 확인

qmailctl stop
qmailctl start
qmailctl stat

[root@mail ~]# qmailctl stat
/service/qmail-send: up (pid 18512) 3 seconds
/service/qmail-send/log: up (pid 18517) 3 seconds
/service/qmail-smtpd: up (pid 18520) 3 seconds
/service/qmail-smtpd/log: up (pid 18525) 3 seconds
/service/qmail-pop3d: up (pid 18528) 3 seconds
/service/qmail-pop3d/log: up (pid 18529) 3 seconds
messages in queue: 0
messages in queue but not yet preprocessed: 0

telnet localhost 110

[root@mail ~]# telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
+OK <18560.1216241697@mail.webpis.net>


telnet localhost 25


[root@mail ~]# telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
220 mail.webpis.net ESMTP



===================================================================================

12. Clam Antivirus & SpamAssassin 설치

12-1. 펄모듈체크


/downloads/qmailrocks/scripts/util/check_perlmods.script

12-2. Parse::Syslog 설치

cd /usr/local/src

wget http://search.cpan.org/CPAN/authors/id/D/DS/DSCHWEI/Parse-Syslog-1.10.tar.gz

tar -zxvf Parse-Syslog-1.10.tar.gz
cd Parse-Syslog-1.10
perl Makefile.PL
make
make install


12-3. Statistics::Distributions 설치

cd /usr/local/src
wget http://search.cpan.org/CPAN/authors/id/M/MI/MIKEK/Statistics-Distributions-1.02.tar.gz

tar -zxvf Statistics-Distributions-1.02.tar.gz
cd Statistics-Distributions-1.02
perl Makefile.PL
make
make install

12-4. 펄모듈 다시 체크

/downloads/qmailrocks/scripts/util/check_perlmods.script

-------------------------------------------------------------------------
QMR check_perlmods v1.1

Checking for the existence of needed perl modules...

checking for Time::HiRes...
/usr/lib/perl5/5.8.8/i386-linux-thread-multi/Time/HiRes.pm

checking for Net::DNS...
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/Net/DNS.pm

checking for Digest::SHA1...
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/Digest/SHA1.pm

checking for Digest::HMAC...
/usr/lib/perl5/vendor_perl/5.8.8/Digest/HMAC.pm

checking for HTML::Tagset...
/usr/lib/perl5/vendor_perl/5.8.8/HTML/Tagset.pm

checking for HTML::Parser...
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/HTML/Parser.pm

checking for Mail::SpamAssassin...
/usr/lib/perl5/vendor_perl/5.8.8/Mail/SpamAssassin.pm

checking for Pod::Usage...
/usr/lib/perl5/5.8.8/Pod/Usage.pm

checking for Parse::Syslog...
/usr/lib/perl5/site_perl/5.8.8/Parse/Syslog.pm

checking for Statistics::Distributions...
/usr/lib/perl5/site_perl/5.8.8/Statistics/Distributions.pm

Check Complete. <<-- check OK

-----------------------------------------------------------------------------


12-4. clamAV 설치

cd /usr/local/src

wget http://nchc.dl.sourceforge.net/sourceforge/clamav/clamav-0.93.3.tar.gz

useradd -c "Qmail-Scanner Account" -s /bin/false qscand

tar -zxvf clamav-0.93.3.tar.gz

cd clamav-0.93.3

./configure --prefix=/usr/local/clamav --with-user=qscand --with-group=qscand --enable-milter

make

make install

mkdir /var/log/clamav

chown qscand:qscand /var/log/clamav

/usr/local/clamav/bin/freshclam

crontab -e
-----------------------------------------------------------------------------------
*/30 * * * * rdate -s time.bora.net

25 1 * * * /usr/local/clamav/bin/freshclam --quiet -l /var/log/clamav/freshclam.log

-----------------------------------------------------------------------------------



12-5. 스팸어세신 설치 확인

yum install spamassassin

service spamassassin start




===================================================================================

13. 큐메일 스캐너 설치

cd /downloads/qmailrocks

tar zxvf qmail-scanner-1.25.tgz

tar -zxvf qms-analog-0.4.2.tar.gz

cd qms-analog-0.4.2

make all


cd /downloads/qmailrocks/qmail-scanner-1.25

patch -p1 < ..qms-analog-0.4.2/qmail-scanner-1.25-st-qms-20050618.patch

cd contrib

make install

cd ../

vi qms-config-cwrapper

맨 아래쪽을 다음과 같이 수정 (domain, local-domains)
-----------------------------------------------------------------------------------

./configure    --domain webpis.net
               --admin postmaster
               --local-domains "webpis.net"
               --add-dscr-hdrs yes
               --dscr-hdrs-text "X-Antivirus-MYDOMAIN"
               --ignore-eol-check yes
               --sa-quarantine 0
               --sa-delete 0
               --sa-reject no
               --sa-subject ":SPAM:"
               --sa-alt yes
               --sa-debug no
               --notify admin
               --redundant yes
               --qms-monitor no
               "$INSTALL"

-----------------------------------------------------------------------------------

chmod 755 qms-config-cwrapper

./qms-config-cwrapper

./qms-config-cwrapper install

chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

setuidgid qscand /var/qmail/bin/qmail-scanner-queue -z

setuidgid qscnad /var/qmail/bin/qmail-scanner-queue -g

chown -R qscand:qscand /var/spool/qmailscan

vi /var/qmail/supervise/qmail-smtpd/run
-----------------------------------------------------------------------------------

#!/bin/sh
QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue" ; export QMAILQUEUE
QMAILDUID=`id -u vpopmail`
NOFILESGID=`id -g vpopmail`
MAXSMTPD=`cat /var/qmail/control/concurrencyincoming`
LOCAL=`head -1 /var/qmail/control/me`
if [ -z "$QMAILDUID" -o -z "$NOFILESGID" -o -z "$MAXSMTPD" -o -z "$LOCAL" ]; then
echo QMAILDUID, NOFILESGID, MAXSMTPD, or LOCAL is unset in
echo /var/qmail/supervise/qmail-smtpd/run
exit 1
fi
if [ ! -f /var/qmail/control/rcpthosts ]; then
echo "No /var/qmail/control/rcpthosts!"
echo "Refusing to start SMTP listener because it'll create an open relay"
exit 1
fi
exec /usr/local/bin/softlimit -m 40000000
/usr/local/bin/tcpserver -v -R -l "$LOCAL" -x /etc/tcp.smtp.cdb -c "$MAXSMTPD"
-u "$QMAILDUID" -g "$NOFILESGID" 0 smtp
/var/qmail/bin/qmail-smtpd mail.webpis.net
/home/vpopmail/bin/vchkpw /usr/bin/true 2>&1

-----------------------------------------------------------------------------------
큐메일 재가동


qmailctl stop
qmailctl start
qmailctl stat


바이러스+스팸 테스트


cd /downloads/qmailrocks/qmail-scanner-1.25/contrib
chmod 755 test_installation.sh
./test_installation.sh -doit



http://61.32.177.167/cgi-bin/vqadmin/vqadmin.cgi <= 전체관리자
http://61.32.177.167/cgi-bin/qmailadmin <= 도메인별 관리자
진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크
TAG

Trackback Address ::

http://blog.jinbo.net/manim/trackback/28
PREV 1 2 3 4 5 6 ... 29 NEXT