CentOS 5.X 기준
[변경 내역]
Date | Status | By Whom |
2015-01-01 | Modify |
리눅스에서 메일서버를 구축한다고 했을때 대부분 고려하는것이 sendmail 또는 qmail일 것입니다. ●sendmail : Unix기반 환경에서 오랜기간 사용해 온 대표적인 SMTP 프로그램으로 가장 많이(?) 사용중인 프로그램이다. RPM으로 쉽게 설치할 수 있고, 오랜기간에 거쳐 인터넷상에 많은 자료가 있어 문제해결에 쉽다. 그러나 메일에 대한 안정성, 보안의 취약성, 사용자를 추가하기 위해 서버에 계정을 만들어야 하며, 멀티프로세스를 지원하는 qmail에 비해 단일 프로세스로 구동되기 때문에 성능상의 이슈등의 단점이 있다. 이중에서 보안상의 취약성은 가장 큰 단점이 되고 있다. ●qmail : sendmail의 단점이 곧 qmail의 장점이 될 것이다. 보안성, 신뢰성, 속도, 효율성이 높은 MTA프로그램이다. (Sendmail에 비해…). 간단히 qmail의 특징과 장점을 보면 다음과 같다. ○보안성 : Sendmail이 처음 만들어졌을때는 높은 보안을 요구하지 않았다, 즉 보안을 고려하지 않은 상태에서 만들어진 프로그램이다. 메일이 대중화되면서 보안이 대두되었고, Sendmail은 보안에 취약할 수 밖에 없었다. qmail은 높은 보안을 위해 설계되었다. 그렇기 때문에 보안에 강하다. ○신뢰성 : 수신된 메일에 대해서 손실이 없음을 보장한다. 시스템이 다운되더라도 메일을 잃어버리는 경우가 없다. ○성능 : qmail은 기본적으로 20건을 동시에 메일을 전송할 수 있다. 그러므로 많은 메일을 동시에 전송해야 하는 경우 탁월한 성능을 발휘한다. ○효율성 : qmail 다른 어떠한 기능을 가진 MTA보다 작게 설계되었다. 그러므로 낮은 시스템에서도 성능을 발휘 할 수 있다. [설치할 프로그램] ●vpopmai : 가상도메인/유저를 쉽게 관리하는 통합 관리도구로 qmailadmin과 같이 사용하여 모든 관리를 웹으로 편리하게 할 수 있는 프로그램. ●qmail-ldap : LDAP와 qmail의 연동을 위한 패키지로 문서와 qmail이 어떻게 메시지를 처리하는지 이해 하는데 도움이 되는 그림(big qmail picture)을 제공. ●qmail-scanner : qmail용 메일 바이러스 검사기로 대부분의 유료 바이러스 검사기와 연동하여 사용할 수 있다. netqmail + vpopmail + patch설치(date-localtime.path + smtpauth.path,…. ) 로 설치하기
netqmail + vpopmail + patch설치(date-localtime.path + smtpauth.path,…. ) 로 설치하기
설치에 필요한 프로그램을은 다음과 같습니다.
Program | Ver. | Home page | Download URL |
ucspi-tcp | 0.88 | http://cr.yp.to/ucspi-tcp.html | http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz |
daemontools | 0.76 | http://cr.yp.to/daemontools.html | http://cr.yp.to/daemontools/daemontools-0.76.tar.gz |
netqmail | 1.05 | http://www.qmail.org/top.html | http://www.qmail.org/netqmail-1.05.tar.gz |
vpopmail | 5.4.32 | http://www.inter7.com/index.php?page=vpopmail | http://nchc.dl.sourceforge.net/sourceforge/vpopmail/vpopmail-5.4.32.tar.gz |
- qmail과 관련된 대부분 프로그램을 모아 놓은 곳 : http://qmail.ixip.net/download/
- C comipler, MySQL 미리 설치 필요
Qmail 설치
1. Qmail 설치 전 gcc 컴파일러 설치(필수사항)
[root@localhost ~]# gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54) Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1.1 미설치시
[root@localhost ~]# gcc --version -bash: gcc: command not found
1.1.1 gcc 설치
[root@localhost ~]# yum install gcc Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile * base: centos.mirror.cdnetworks.com * extras: centos.mirror.cdnetworks.com * updates: ftp.daum.net Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package gcc.i386 0:4.1.2-54.el5 set to be updated --> Processing Dependency: cpp = 4.1.2-54.el5 for package: gcc --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc --> Running transaction check ---> Package cpp.i386 0:4.1.2-54.el5 set to be updated ---> Package glibc-devel.i386 0:2.5-118.el5_10.2 set to be updated --> Processing Dependency: glibc-headers = 2.5-118.el5_10.2 for package: glibc-devel --> Processing Dependency: glibc-headers for package: glibc-devel --> Running transaction check ---> Package glibc-headers.i386 0:2.5-118.el5_10.2 set to be updated --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers --> Processing Dependency: kernel-headers for package: glibc-headers --> Running transaction check ---> Package kernel-headers.i386 0:2.6.18-371.9.1.el5 set to be updated --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: gcc i386 4.1.2-54.el5 base 5.2 M Installing for dependencies: cpp i386 4.1.2-54.el5 base 2.7 M glibc-devel i386 2.5-118.el5_10.2 updates 2.1 M glibc-headers i386 2.5-118.el5_10.2 updates 611 k kernel-headers i386 2.6.18-371.9.1.el5 updates 1.5 M Transaction Summary ================================================================================ Install 5 Package(s) Upgrade 0 Package(s) Total download size: 12 M Is this ok [y/N]: y Downloading Packages: (1/5): glibc-headers-2.5-118.el5_10.2.i386.rpm | 611 kB 00:01 (2/5): kernel-headers-2.6.18-371.9.1.el5.i386.rpm | 1.5 MB 00:02 (3/5): glibc-devel-2.5-118.el5_10.2.i386.rpm | 2.1 MB 00:02 (4/5): cpp-4.1.2-54.el5.i386.rpm | 2.7 MB 00:04 (5/5): gcc-4.1.2-54.el5.i386.rpm | 5.2 MB 00:06 -------------------------------------------------------------------------------- Total 672 kB/s | 12 MB 00:18 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : kernel-headers 1/5 Installing : cpp 2/5 Installing : glibc-headers 3/5 Installing : glibc-devel 4/5 Installing : gcc 5/5 Installed: gcc.i386 0:4.1.2-54.el5 Dependency Installed: cpp.i386 0:4.1.2-54.el5 glibc-devel.i386 0:2.5-118.el5_10.2 glibc-headers.i386 0:2.5-118.el5_10.2 kernel-headers.i386 0:2.6.18-371.9.1.el5 Complete!
2. sendmail 중지 : sendmail, dovecot, saslauthd 서비스 중지
[root@localhost ~]# service sendmail stop Shutting down sm-client: [ OK ] Shutting down sendmail: [ OK ] [root@localhost ~]# service dovecot stop Stopping Dovecot Imap: [ OK ] [root@localhost ~]# service saslauthd stop Stopping saslauthd: [ OK ] //부팅시 자동으로 시작되지 않게 설정 [root@localhost ~]# chkconfig --del sendmail [root@localhost ~]# chkconfig --del saslauthd
3. OS 업데이트
[root@localhost ~]# yum update
4. 폴더 생성 후 해당 폴더로 이동 및 다운로드
[root@localhost ~]# mkdir /usr/local/src/qmail [root@localhost ~]# cd /usr/local/src/qmail [root@localhost qmail]# wget http://www.qmail.org/netqmail-1.05.tar.gz [root@localhost qmail]# wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz [root@localhost qmail]# wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz [root@localhost qmail]# wget http://www.alib.jp/files/qmail-date-localtime.patch [root@localhost qmail]# wget http://www.lug.or.kr/files/centos_book/qmail/netqmail-1.05-tls-smtpauth-20070417.patch
5. netqmail-1.05.tar.gz 파일 압축 해제
[root@localhost qmail]# tar -zxvf netqmail-1.05.tar.gz
6. ucspi-tcp-0.88.tar.gz 압축해제
[root@localhost qmail]# cd /usr/local/src/qmail [root@localhost qmail]# tar -zxvf ucspi-tcp-0.88.tar.gz [root@localhost qmail]# cd ucspi-tcp-0.88
7. ucspi-tcp-0.88 설치
[root@localhost ucspi-tcp-0.88]# patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/ucspi-tcp-0.88.errno.patch patching file error.h [root@localhost ucspi-tcp-0.88]# patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/ucspi-tcp-0.88.a_record.patch patching file rblsmtpd.c [root@localhost ucspi-tcp-0.88]# patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/ucspi-tcp-0.88.nodefaultrbl.patch patching file rblsmtpd.c Hunk #1 succeeded at 193 (offset 38 lines). Hunk #3 succeeded at 227 (offset 38 lines). [root@localhost ucspi-tcp-0.88]# make && make setup check ./load auto-str unix.a byte.a ./auto-str auto_home `head -1 conf-home` > auto_home.c ./compile auto_home.c ./load install hier.o auto_home.o unix.a byte.a ./compile instcheck.c ./load instcheck hier.o auto_home.o unix.a byte.a ./install ./instcheck
7.1 sudo make && make setup check 에러시
collect2: ld returned 1 exit status make: *** [tcpserver] 오류 1 vi error.h #include <errno.h> <- 추가후 저장 #ifndef ERROR_H #define ERROR_H
8.qmail 폴더로 돌아와서 /package 디렉토리 생성후 daemontools 압축해제
[root@localhost ucspi-tcp-0.88]# cd .. [root@localhost qmail]# mkdir -p /package [root@localhost qmail]# chmod 1755 /package/ [root@localhost qmail]# tar -zxvf daemontools-0.76.tar.gz -C /package/ /package/admin/daemontools-0.76 폴더로 이동후 패키지 설치 [root@localhost qmail]# cd /package/admin/daemontools-0.76/ [root@localhost daemontools-0.76]# patch -p1 < /usr/local/src/qmail/netqmail-1.05/other-patches/daemontools-0.76.errno.patch patching file src/error.h [root@localhost daemontools-0.76]# package/install
8.1. Reboot 후 pstree 명령어로 svscanboot,readproctitle,svscan 데몬이 정상적으로 올라왔는지 확인
8.2 위와 같이 나오지 않을 경우
먼저 ps aux | grep svscan으로 하여 프로세스에 올라와 있는지 확인합니다.
올라오지 않았을 경우 다음과 같이 작업해 주시면 됩니다.
Centos 5.X 이하
[root@localhost]# echo “SV:345:respawn:/command/svscanboot” >> /etc/inittab
[root@localhost]# pkill -1 init
Centos 6.X 이상 (추가)
[root@localhost]# vi /etc/init/svscan.conf
start on runlevel [2345]
stop on runlevel [S016]
respawn
exec /command/svscanboot
[root@localhost]# initctl start svscan
9. netqmail 폴더에서 아래와 같이 작업 [7]번사항이 보여야 정상
[root@localhost daemontools-0.76]# cd /usr/local/src/qmail/netqmail-1.05 [root@localhost netqmail-1.05]# mkdir /var/qmail [root@localhost netqmail-1.05]# ./collate.sh You should see 7 lines of text below. If you see anything else, then something might be wrong. [1] Extracting qmail-1.03... tar: Read 1024 bytes from - [2] Patching qmail-1.03 into netqmail-1.05. Look for errors below: 24 [4] The previous line should say 24 if you used GNU patch. [5] Renaming qmail-1.03 to netqmail-1.05... [6] Continue installing qmail using the instructions found at: [7] http://www.lifewithqmail.org/lwq.html#installation
10. qmail을 위한 그룹과 계정 생성 (홈 디렉터리가 존재한다는 경고는 무시)
[root@localhost netqmail-1.05]# groupadd nofiles [root@localhost netqmail-1.05]# useradd -g nofiles -d /var/qmail/alias alias [root@localhost netqmail-1.05]# useradd -M -g nofiles -d /var/qmail qmaild [root@localhost netqmail-1.05]# useradd -M -g nofiles -d /var/qmail qmaill [root@localhost netqmail-1.05]# useradd -M -g nofiles -d /var/qmail qmailp [root@localhost netqmail-1.05]# groupadd qmail [root@localhost netqmail-1.05]# useradd -M -g qmail -d /var/qmail qmailq [root@localhost netqmail-1.05]# useradd -M -g qmail -d /var/qmail qmailr [root@localhost netqmail-1.05]# useradd -M -g qmail -d /var/qmail qmails [root@localhost netqmail-1.05]# chgrp qmail /var/qmail //유저가 생성된 것을 확인 [root@localhost netqmail-1.05]# tail /etc/passwd xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin gdm:x:42:42::/var/gdm:/sbin/nologin sabayon:x:86:86:Sabayon user:/home/sabayon:/sbin/nologin alias:x:500:500::/var/qmail/alias:/bin/bash qmaild:x:501:500::/var/qmail:/bin/bash qmaill:x:502:500::/var/qmail:/bin/bash qmailp:x:503:500::/var/qmail:/bin/bash qmailq:x:504:501::/var/qmail:/bin/bash qmailr:x:505:501::/var/qmail:/bin/bash qmails:x:506:501::/var/qmail:/bin/bash
11. netqmail-1.05/netqmail-1.05 폴더로 이동후 패치작업 수행
[root@localhost netqmail-1.05]# cd /usr/local/src/qmail/netqmail-1.05/netqmail-1.05 [root@localhost netqmail-1.05]# patch -p1 < /usr/local/src/qmail/qmail-date-localtime.patch patching file date822fmt.c [root@localhost netqmail-1.05]# patch -p0 < /usr/local/src/qmail/netqmail-1.05-tls-smtpauth-20070417.patch patching file ./base64.c patching file ./base64.h patching file ./case_startb.c patching file ./conf-cc patching file ./dns.c patching file ./FILES.auth patching file ./hier.c patching file ./install_auth.sh patching file ./ipalloc.h patching file ./Makefile patching file ./Makefile-cert.mk patching file ./qmail-control.9 patching file ./qmail-remote.8 patching file ./qmail-remote.c patching file ./qmail-smtpd.8 patching file ./qmail-smtpd.c patching file ./README.auth patching file ./ssl_timeoutio.c patching file ./ssl_timeoutio.h patching file ./TARGETS patching file ./tls.c patching file ./tls.h patching file ./update_tmprsadh.sh //make로 컴파일 [root@localhost netqmail-1.05]# make qmail-remote.c:494: error: ‘NID_commonName’ undeclared (first use in this function) qmail-remote.c:496: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token qmail-remote.c:496: error: ‘s’ undeclared (first use in this function) qmail-remote.c:496: error: invalid type argument of ‘->’ qmail-remote.c: In function ‘main’: qmail-remote.c:673: warning: return type of ‘main’ is not ‘int’ make: *** [qmail-remote.o] Error 1 //위와같은 오류가 나올 경우 openssl-devel 설치 [root@localhost netqmail-1.05]# yum -y install openssl-devel [root@localhost netqmail-1.05]# make clean [root@localhost netqmail-1.05]# make [root@localhost netqmail-1.05]# make setup check [root@localhost netqmail-1.05]# make cert Generating a 1024 bit RSA private key ................++++++ ..............++++++ writing new private key to '/var/qmail/control/servercert.pem' ----- You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [GB]:KR State or Province Name (full name) [Berkshire]:SEOUL Locality Name (eg, city) [Newbury]: JONGRO Organization Name (eg, company) [My Company Ltd]:MYCOMPANY Organizational Unit Name (eg, section) []:Section Common Name (eg, your name or your server's hostname) []:192.168.70.130 Email Address []:linux@192.168.70.130 [root@localhost netqmail-1.05]# make tmprsadh echo "Creating new temporary RSA and DH parameters" Creating new temporary RSA and DH parameters ./update_tmprsadh Generating RSA private key, 512 bit long modulus .++++++++++++ ...++++++++++++ e is 65537 (0x10001) Generating DH parameters, 512 bit long safe prime, generator 2 This is going to take a long time ..........................................................++*++*++*++*++*++* Generating DH parameters, 1024 bit long safe prime, generator 2 This is going to take a long time
12. ./config-fast 다음에는 메일서버의 호스트네임 세팅 (도메인/테스트는 IP)
[root@localhost netqmail-1.05]# ./config-fast mydomain.co.kr Your fully qualified host name is 192.168.70.130 Putting 192.168.70.130 into control/me... Putting 168.0.44 into control/defaultdomain... Putting 0.44 into control/plusdomain... Putting 192.168.70.130 into control/locals... Putting 192.168.70.130 into control/rcpthosts... Now qmail will refuse to accept SMTP messages except to 192.168.70.130. Make sure to change rcpthosts if you add hosts to locals or virtualdomains!
13. qmail 구동에 필요한 파일을 만들고 권한을 생성한다
[root@localhost netqmail-1.05]# vi /var/qmail/rc #//방법1 #!/bin/sh # Using splogger to send the log through syslog. # Using qmail-local to deliver messages to ~/Maildir/ by default. exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start ./Maildir/ splogger qmail #//방법2 #!/bin/sh # Using stdout for logging # Using control/defaultdelivery from qmail-local to deliver messages by default exec env - PATH="/var/qmail/bin:$PATH" \ qmail-start "'cat /var/qmail/control/defaultdelivery'" [root@localhost netqmail-1.05]# chmod 755 /var/qmail/rc [root@localhost netqmail-1.05]# mkdir -p /var/qmail/supervise/qmail-send/log [root@localhost netqmail-1.05]# mkdir -p /var/qmail/supervise/qmail-smtpd/log [root@localhost netqmail-1.05]# chmod +t /var/qmail/supervise/qmail-send [root@localhost netqmail-1.05]# chmod +t /var/qmail/supervise/qmail-smtpd [root@localhost netqmail-1.05]# vi /var/qmail/supervise/qmail-send/run #!/bin/sh exec /var/qmail/rc [root@localhost netqmail-1.05]# vi /var/qmail/supervise/qmail-send/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail [root@localhost netqmail-1.05]# vi /var/qmail/supervise/qmail-smtpd/run #//방법1 #!/bin/sh Q_UID='id -u qmaild' Q_GID='id -g qmaild' exec /usr/local/bin/softlimit -m 7340032 \ /usr/local/bin/tcpserver -vHRl 0 -x /etc/tcp.smtp.cdb \ -u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1 #//방법2 #!/bin/sh QMAILDUID='id -u vpopmail' NOFILESGID='id -g vpopmail' MAXSMTPD='cat /var/qmail/control/concurrencyincoming' QMAILQUEUE="/var/qmail/bin/simscan" export QMAILQUEUE rbldns="-r bl.spamcop.net" rbldns="-r spamlist.or.kr" rbldns="-r dnsbl.sorbs.net" rbldns="-r blackholes.mail-abuse.org" rbldns="-r cbl.abuseat.org" rbldns="-r dnsbl.njabl.org" rbldns="-r list.dsbl.org" rbldns="-r multi.surbl.org" rbldns="-r opm.blitzed.org" rbldns="-r relays.mail-abuse.org" rbldns="-r sbl-xbl.spamhaus.org" rbldns="-r zen.spamhaus.org" exec /usr/local/bin/softlimit -m 100000000 \ /usr/local/bin/tcpserver -v -H -R -l 0 \ -x /home/vpopmail/etc/tcp.smtp.cdb -c "$MAXSMTPD" \ -u "$QMAILDUID" -g "$NOFILESGID" 0 smtp \ /usr/local/bin/rblsmtpd -t 30 -b $rbldns \ /var/qmail/bin/qmail-smtpd \ /home/vpopmail/bin/vchkpw /bin/true 2>&1 [root@localhost netqmail-1.05]# vi /var/qmail/supervise/qmail-smtpd/log/run #!/bin/sh exec /usr/local/bin/setuidgid qmaill \ /usr/local/bin/multilog t /var/log/qmail/smtpd
14. supervise 실행퍼미션 부여
[root@localhost qmail-send]# chmod 755 /var/qmail/supervise/qmail-send/run [root@localhost qmail-send]# chmod 755 /var/qmail/supervise/qmail-send/log/run [root@localhost qmail-send]# chmod 755 /var/qmail/supervise/qmail-smtpd/run [root@localhost qmail-send]# chmod 755 /var/qmail/supervise/qmail-smtpd/log/run
15. 로그파일을 저장하기 위한 디렉토리 생성 qmail 소유자로 지정
[root@localhost qmail-send]# mkdir -p /var/log/qmail/smtpd [root@localhost qmail-send]# chown qmaill /var/log/qmail /var/log/qmail/smtpd
16. 릴레이 클라이언트로 허용할 아이피 주소를 설정하기 위한 tcp.smtp 파일 생성
[root@localhost netqmail-1.05]# vi /etc/tcp.smtp 127.0.0.1:allow,RELAYCLIENT=""
17. qmail 시작 파일을 생성후 서비스 등록
[root@localhost netqmail-1.05]# tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp (데이터베이스 생성) //Qmail 시작스크립트 작성 [root@localhost netqmail-1.05]# wget http://auctionpro.co.kr/wp-content/uploads/2016/01/qmail-start.txt [root@localhost netqmail-1.05]# mv qmail-start.txt /etc/rc.d/init.d/qmail [root@localhost netqmail-1.05]# chmod 755 /etc/rc.d/init.d/qmail //chkconfig 등록 [root@localhost netqmail-1.05]# chkconfig --add qmail [root@localhost netqmail-1.05]# chkconfig --level 35 qmail on [root@www netqmail-1.05]# chkconfig --list|grep qmail //백업파일, 링크, 별칭 생성 [root@localhost netqmail-1.05]# mv /usr/lib/sendmail /usr/lib/sendmail.backup [root@localhost netqmail-1.05]# mv /usr/sbin/sendmail /usr/sbin/sendmail.backup [root@localhost netqmail-1.05]# ln -s /var/qmail/bin/sendmail /usr/lib [root@localhost netqmail-1.05]# ln -s /var/qmail/bin/sendmail /usr/sbin [root@localhost netqmail-1.05]# echo master > /var/qmail/alias/.qmail-root [root@localhost netqmail-1.05]# echo master > /var/qmail/alias/.qmail-postmaster [root@localhost netqmail-1.05]# echo master > /var/qmail/alias/.qmail-mailer-daemon [root@localhost netqmail-1.05]# chmod 644 /var/qmail/alias/.qmail*
18. qmail 서비스 시작
[root@localhost qmail-smtpd]# service qmail start Starting qmail
19. pstree 명령어로 다음과 같이 svscanboot의 하위프로세스가 정상적으로 뜨는지 확인
20. qmail start stop 테스트
[root@localhost netqmail-1.05]# /etc/rc.d/init.d/qmail stop Stopping qmail... qmail-smtpd qmail-send [root@localhost netqmail-1.05]# /etc/rc.d/init.d/qmail start Starting qmail [root@localhost netqmail-1.05]# /etc/rc.d/init.d/qmail cdb Reloaded /etc/tcp.smtp. [root@localhost netqmail-1.05]# /etc/rc.d/init.d/qmail restart Restarting qmail: * Stopping qmail-smtpd. * Sending qmail-send SIGTERM and restarting. * Restarting qmail-smtpd.
21. Maildir 디렉토리 자동생성법
[root@localhost netqmail-1.05]# /var/qmail/bin/maildirmake /etc/skel/Maildir [root@localhost netqmail-1.05]# ls -l /etc/skel/ 합계 8 drwx------ 5 root root 4096 6월 23 05:53 Maildir [root@localhost netqmail-1.05]# ls -l /etc/skel/Maildir/ 합계 24 drwx------ 2 root root 4096 6월 23 05:53 cur drwx------ 2 root root 4096 6월 23 05:53 new drwx------ 2 root root 4096 6월 23 05:53 tmp
22. 계정 생성시 디렉토리 생성여부 테스트
[root@localhost netqmail-1.05]# useradd vhost [root@localhost netqmail-1.05]# passwd vhost Changing password for user vhost. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. [root@localhost netqmail-1.05]# cd ~vhost/ [root@localhost vhost]# ls -l 합계 8 drwx------ 5 vhost vhost 4096 6월 23 05:55 Maildir [root@localhost vhost]# ls -l /home/vhost/Maildir/ 합계 24 drwx------ 2 vhost vhost 4096 6월 23 05:55 cur drwx------ 2 vhost vhost 4096 6월 23 05:55 new drwx------ 2 vhost vhost 4096 6월 23 05:55 tmp
23. Dovecot 설정 및 ps 확인
원격에서 pop3(110번 포트)와 imap(143번 포트)을 사용을 위해 CentOS에서는 devecot 패키지를 설치해야 한다.
devecot는 pop3d(110번 포트)와 imapd(143번 포트) 데몬관리와 유저인증을 담당하는 프로그램이다. dovecot 패키지 안에 imapd, pop3d 프로그램이 포함되어 있다.
[root@localhost webmail]# yum -y install dovecot [root@localhost webmail]# service dovecot restart [root@localhost webmail]# vi /etc/dovecot.conf mail_location = maildir:~/Maildir (212 째 줄) [root@localhost webmail]# service dovecot restart [root@localhost webmail]# ps aux | grep dovecot root 3703 0.0 0.1 1984 468 ? Ss 06:02 0:00 /usr/sbin/dovecot root 3704 0.0 0.5 7884 1440 ? S 06:02 0:00 dovecot-auth dovecot 3706 0.0 0.5 5032 1508 ? S 06:02 0:00 pop3-login dovecot 3707 0.0 0.5 5032 1512 ? S 06:02 0:00 pop3-login dovecot 3708 0.0 0.5 5032 1508 ? S 06:02 0:00 pop3-login dovecot 3709 0.0 0.5 5036 1516 ? S 06:02 0:00 imap-login dovecot 3710 0.0 0.5 5036 1512 ? S 06:02 0:00 imap-login dovecot 3711 0.0 0.5 5036 1512 ? S 06:02 0:00 imap-login root 3713 0.0 0.3 5308 768 pts/0 R+ 06:02 0:00 grep dovecot [root@localhost webmail]# ps aux|grep pop3 dovecot 3706 0.0 0.5 5032 1508 ? S 06:02 0:00 pop3-login dovecot 3707 0.0 0.5 5032 1512 ? S 06:02 0:00 pop3-login dovecot 3708 0.0 0.5 5032 1508 ? S 06:02 0:00 pop3-login root 3715 0.0 0.2 5308 764 pts/0 R+ 06:02 0:00 grep pop3 [root@localhost webmail]# ps aux|grep imap dovecot 3709 0.0 0.5 5036 1516 ? S 06:02 0:00 imap-login dovecot 3710 0.0 0.5 5036 1512 ? S 06:02 0:00 imap-login dovecot 3711 0.0 0.5 5036 1512 ? S 06:02 0:00 imap-login root 3719 0.0 0.2 5308 764 pts/0 R+ 06:03 0:00 grep ima