[Qmail Ubuntu기준 설치 및 운영]

Ubuntu 기준 http://www.lifewithqmail.org/lwq.html

[변경 내역]

Date Status By Whom
2013-09-25  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,…. ) 로 설치하기

설치에 필요한 프로그램을은 다음과 같습니다.

1. Qmail 설치 전 gcc 컴파일러 설치(필수사항)

[root@localhost ~]# sudo gcc –version
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 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 ~]# sudo gcc –version
-bash: gcc: command not found

1.1.1 gcc 설치

[root@localhost ~]# sudo apt-get install gcc

2. sendmail 중지 및 삭제

[root@localhost ~]#sudo service sendmail stop
* Stopping Mail Transport Agent (MTA) sendmai

2.1 삭제 (필요시)

[root@localhost ~]#sudo apt-get remove sendmail sendmail-bin postfix

4. 설치

sudo apt-get update
sudo apt-get install qmail

4. 설치에러시 다음과 같이 재설치 (오류시 디렉토리 삭제 및   qmail 계정 수동 삭제)

sudo apt-get clean
sudo apt-get remove –purge qmail
sudo apt-get update
sudo apt-get install qmail

5. [stop 및 start 다음오류시]

# /etc/init.d/qmail stop
Stopping qmail…
qmail-smtpd
svc: warning: unable to control /service/qmail-smtpd: supervise not running
svc: warning: unable to control /service/qmail-smtpd/log: supervise not running
qmail-send
svc: warning: unable to control /service/qmail-send: supervise not running
svc: warning: unable to control /service/qmail-send/log: supervise not running
qmail pop3
svc: warning: unable to control /service/vpop: supervise not running
svc: warning: unable to control /service/vpop/log: supervise not running
[root@mail service]# /etc/init.d/qmail start
Starting qmail

> stop 은 위와 같은 에러가 출력되고,
start 는 에러가 발생하지 않으나 포트가 오픈되지 않을때.

5.1 해결

# /command/svscanboot &
# /etc/init.d/qmail start

/etc/inittab 에도 아래 행을 삽입하여 부팅시 정상 작동되도록 합니다. (centOS)
SV:123456:respawn:/command/svscanboot

————-아래 사항 삭제 예정 ——————
3. 폴더 생성 후 해당 폴더로 이동 및 다운로드

[root@localhost ~]# sudo mkdir /usr/local/src/qmail
[root@localhost ~]# cd /usr/local/src/qmail
[root@localhost qmail]# sudo wget http://www.qmail.org/netqmail-1.06.tar.gz
[root@localhost qmail]# sudo wget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
[root@localhost qmail]# sudo wget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
[root@localhost qmail]# sudo wget http://www.alib.jp/files/qmail-date-localtime.patch

4. netqmail-1.06.tar.gz 파일 압축 해제

[root@localhost qmail]# sudo tar -zxvf netqmail-1.06.tar.gz

5. ucspi-tcp-0.88.tar.gz 압축해제

[root@localhost qmail]# sudo tar -zxvf ucspi-tcp-0.88.tar.gz

6. netqmail 패치 후 ucspi-tcp-0.88 설치

[root@localhost qmail]# cd ucspi-tcp-0.88
[root@localhost qmail]# sudo patch -p1 < /usr/local/src/qmail/netqmail-1.06/other-patches/ucspi-tcp-0.88.errno.patch
[root@localhost qmail]# sudo patch -p1 < /usr/local/src/qmail/netqmail-1.06/other-patches/ucspi-tcp-0.88.a_record.patch
[root@localhost ucspi-tcp-0.88]# sudo patch -p1 < /usr/local/src/qmail/netqmail-1.06/other-patches/ucspi-tcp-0.88.nodefaultrbl.patch
[root@localhost ucspi-tcp-0.88]# sudo make && make setup check

6.1 sudo make && make setup check 에러시

install: fatal: unable to chmod /usr/local: permission denied
make: *** [setup] Error 111

6.1.1 openssl 설치 sudo apt-get install libssl-dev

[root@localhost qmail]# sudo apt-get install libssl-dev

6.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/

8./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.06/other-patches/daemontools-0.76.errno.patch
[root@localhost daemontools-0.76]# package/install
Reboot now to start svscan.

9.Reboot 후 pstree 명령어로 svscanboot,readproctitle,svscan 데몬이 정상적으로 올라왔는지 확인

[root@localhost daemontools-0.76]# pstree