Page 2 of 2

Posted: 2009/05/09 14:59
by trim703
srpm 버전으로 만들어 주셔서 정말 고맙습니다.
이제 고객들한테 큐메일 설치 의뢰 들어오면 이걸로 간편하게 처리해 주면 되겠네요.

그런데 이번 srpm 버전을 설치하고 /etc/init.d/qmaild 로 실행하고 ps aux로 확인하니...

root 23144 0.0 0.0 1512 248 ? S 13:48 0:00 readproctitle service errors: ......................................cat: /var/qmail/controls/defaultdelivery: No such file or directory?



위와 같이 나옵니다.
원인 찾아보니 /var/qmail/rc 파일 안의 내용이 잘못되어 있더군요.


[root@digimoon qmail]# cat /var/qmail/rc
#!/bin/sh
exec env - PATH="/var/qmail/bin:$PATH" \
qmail-start `cat /var/qmail/controls/defaultdelivery`
[root@digimoon qmail]#


적색으로 표시된 부분을 control로 바꾸어 해결했습니다.

Posted: 2009/05/11 10:53
by stone92
아...미처 발견하지 못한 오타군요..ㅎㅎㅎ
변경해서 적용해야겠네요..
몇몇 배포판에서 잘 안된다고 하니..그거랑 같이 고쳐서 해야겠습니다...ㅋ

gentoo 2008 버젼에서 설치시 에러가

Posted: 2009/07/08 20:45
by creater
2004년에 FreeBSD 4.10에 qmail + vpopmail을 source 설치하고 잘 사용하다 메일 서버를 Linux로 바꾸려고 하는데...

gentoo 2008 버젼에서 설치시 에러가 발생하여 계속 삽질중입니다.

rpmbuild --rebuild --with cdb knetqmail-0.0.1-2.src.rpm 했을때

첫번째 에러는 vchkpw group과 vpopmail user거 없어서 발생했고,

두번째는 alias user가 없어서 발생하여 alias를 비롯하여 qmaild, qmaill, qmailp, qmailq, qmailr, qmails 등의 user와 qmail group등을 추가시켜줬고,

세번째는 아래의 메세지와 같이 에러가 발생했습니다.
---------------------------여 기 부 터 ----------------------------------------
+ install -d /var/tmp/knetqmail-root/var/qmail/queue/remote/22
+ touch /var/tmp/knetqmail-root/var/qmail/queue/lock/sendmutex
+ touch /var/tmp/knetqmail-root/var/qmail/queue/lock/tcpto
+ mkfifo -m 0622 /var/tmp/knetqmail-root/var/qmail/queue/lock/trigger
+ install -m755 /usr/src/rpm/SOURCES/qmail.init '/var/tmp/knetqmail-root%{_initrddir}/qmaild'
install: cannot create regular file `/var/tmp/knetqmail-root%{_initrddir}/qmaild': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.14226 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.14226 (%install)
---------------------------요 기 까 지 ----------------------------------------

/var/tmp/knetqmail-root/var/qmail/ 디렉토리에는 qmaild 파일 또는 디렉토리는 없더군요.

위 /var/tmp/rpm-tmp.14226 파일의 마지막 부분은 다음과 같습니다.

#### install queue-fix and qmHandle ####
cd $RPM_BUILD_DIR/knetqmail-0.0.1/queue-fix-1.4
install -m 755 queue-fix /var/tmp/knetqmail-root/var/qmail/bin
install -m 755 /usr/src/rpm/SOURCES/qmHandle /var/tmp/knetqmail-root/var/qmail/bin
#----------------------------------------------------------------------------------

에고 힘드네요. 어찌 하오리오? 플리즈~ :wink:

Re: gentoo 2008 버젼에서 설치시 에러가

Posted: 2009/07/10 16:25
by stone92
2004년에 FreeBSD 4.10에 qmail + vpopmail을 source 설치하고 잘 사용하다 메일 서버를 Linux로 바꾸려고 하는데...

gentoo 2008 버젼에서 설치시 에러가 발생하여 계속 삽질중입니다.

rpmbuild --rebuild --with cdb knetqmail-0.0.1-2.src.rpm 했을때

첫번째 에러는 vchkpw group과 vpopmail user거 없어서 발생했고,

두번째는 alias user가 없어서 발생하여 alias를 비롯하여 qmaild, qmaill, qmailp, qmailq, qmailr, qmails 등의 user와 qmail group등을 추가시켜줬고,

세번째는 아래의 메세지와 같이 에러가 발생했습니다.
---------------------------여 기 부 터 ----------------------------------------
+ install -d /var/tmp/knetqmail-root/var/qmail/queue/remote/22
+ touch /var/tmp/knetqmail-root/var/qmail/queue/lock/sendmutex
+ touch /var/tmp/knetqmail-root/var/qmail/queue/lock/tcpto
+ mkfifo -m 0622 /var/tmp/knetqmail-root/var/qmail/queue/lock/trigger
+ install -m755 /usr/src/rpm/SOURCES/qmail.init '/var/tmp/knetqmail-root%{_initrddir}/qmaild'
install: cannot create regular file `/var/tmp/knetqmail-root%{_initrddir}/qmaild': No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.14226 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.14226 (%install)
---------------------------요 기 까 지 ----------------------------------------

/var/tmp/knetqmail-root/var/qmail/ 디렉토리에는 qmaild 파일 또는 디렉토리는 없더군요.

위 /var/tmp/rpm-tmp.14226 파일의 마지막 부분은 다음과 같습니다.

#### install queue-fix and qmHandle ####
cd $RPM_BUILD_DIR/knetqmail-0.0.1/queue-fix-1.4
install -m 755 queue-fix /var/tmp/knetqmail-root/var/qmail/bin
install -m 755 /usr/src/rpm/SOURCES/qmHandle /var/tmp/knetqmail-root/var/qmail/bin
#----------------------------------------------------------------------------------

에고 힘드네요. 어찌 하오리오? 플리즈~ :wink:
음..젠투를 사용하고 계시군요..
에러 내용으로 봐서는 %initrddir 변수가 안먹히나 보군요..
RedHat 기준으로 만들어서 그런거 같은데요..다행히도 제 메인서버가 젠투니깐
한번 테스트 해서 수정해 보도록 하겠습니다.
어차피 몇몇 배포판에서 에러난다고 하니 그거랑 같이 한번 작업해보겠습니다.

Re: 우분투에서 빌드시 에러..

Posted: 2009/07/10 17:55
by stone92
우분투 9.x 에서 rpm 빌드시 아래와 같은 오류가 납니다.

In function 'open',
inlined from 'open_rw' at open_rw.c:6:
/usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make: *** [open_rw.o] Error 1
error: Bad exit status from /var/tmp/rpm-tmp.92405 (%build)

이런 오류가 왜 나는 걸까요?
GCC 4.3.2 버전 이상에서 open 함수쪽에 변경 사항때문에 그렇습니다.
버전업할때 수정하도록 하겠습니다.

knetqmail-0.0.1-2.src.rpm 설치 방법

Posted: 2009/07/13 15:24
by junilove
주말에 회사 서버에 설치하면서 작성했습니다.

IP가 xxx.yyy.zzz.bb 이고 hostname이 mail.aaaaaaaa.com 인 서버에
설치하였으며 이 서버에서 4개의 가상도메인을 운영하는 설정입니다.
CentOS 5.3 i386에서 빌드 및 설치하였습니다. 모든 패키지는 RPM입니다.
끝으로, SRPM을 만들어서 배포해주신 stone92님께 감사드립니다.



주의! 절대 기존 qmail + vpopmail이 운영중인 상태(서버)에서 빌드 하지 말것(SRPM 빌드과정에서 /home/vpopmail 가 삭제됨)
-> knetqmail.spec 파일에서 196행 rm -fr %{vpopmaildir} 부분



0. 네트워크 설정확인
----- Network 설정 -----
[root@mail ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=mail.aaaaaaaa.com
GATEWAY=xxx.yyy.zzz.aa

[root@mail ~]# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
xxx.yyy.zzz.bb mail.aaaaaaaa.com mail

[root@mail ~]# hostname
mail.aaaaaaaa.com

[root@mail ~]# hostname -s
mail




1. knetqmail SRPM 버전 다운로드(http://qmail.kldp.net/phpbb/viewtopic.php?t=7887)
wget http://mail.linuxstudy.pe.kr/download/k ... -2.src.rpm



2. RPM 빌드 및 설치
rpm -e sendmail --nodeps
rpmbuild --rebuild knetqmail-0.0.1-2.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/knetqmail-0.0.1-2.i386.rpm



3. vpopmail + mysql 설정
계정정보를 관리하기 위한 mysql 접속 정보를 수정한다. (root를 사용한다면 암호 부분만 수정하면 된다.)
vi /home/vpopmail/etc/vpopmail.mysql

DB호스트명|포트번호|DB유저명|암호|DB명
localhost|0|root|1q2w3e|h_vpopmail



4. SPF 정책 변경 (참조 : http://qmail.kldp.net/wiki/wiki.php/qma ... am#s-4.1.1)
/var/qmail/control/spfbehavior
3 에서 0으로 변경
-> 변경이유 : 우리 웹서버에서 mailhelp로 메일을 발송하는데, SPF정책에 의해 deny되어 mailhelp에만 메일수신됨



5. qmail 및 pop3 구동
/etc/init.d/qmald start
/etc/init.d/pop3d start



6. 가상도메인 및 계정추가
vadddomain aaaaaaaa.com
vadddomain bbbbbbbb.com
vadddomain ccccccc.com
vadddomain dddddddd.com

vadduser test@aaaaaaaa.com 1234
vadduser test@bbbbbbbb.com 1234
vadduser test@ccccccc.com 1234
vadduser test@dddddddd.com 1234



8. qmail을 웹에서 관리하기 위한 프로그램 qmailadmin의 설치
좀더 편하게 설치하기 위해서 qmailtoaster 에서 제공하는 SRPM을 가져다가 수정후 빌드한다.
knetqmail SRPM 버전에서는 autorespond 와 ezmlm을 기본으로 설치하지 않기 때문에 빌드 옵션을 조정한다.
그리고 의존성 문제를 해결하기위해 Requires부분을 주석처리한다.

wget http://qmailtoaster.org/download/stable ... .8.src.rpm
rpm -Uvh qmailadmin-toaster-1.2.12-1.3.8.src.rpm
vi /usr/src/redhat/SPEC/qmailadmin-toaster.spec
다음과 같이 수정한다.

Name: %{name}
#BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
#BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
#Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
#Requires: control-panel-toaster >= 0.2
#Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
--enable-ezmlmdir=n \
--enable-autoresponder-path=n \

-------------------- diff -Nur 명령의 결과 --------------------
--- qmailadmin-toaster.spec 2009-06-12 12:10:11.000000000 +0900
+++ qmailadmin-toaster.spec.jj 2009-07-12 23:58:00.000000000 +0900
@@ -544,7 +544,7 @@
%define builddate Fri Jun 12 2009
%{!?spambox:%define spambox 0}

-Name: %{name}-toaster
+Name: %{name}
Summary: Web Administration for qmail-toaster
Version: %{vtoaster}
Release: %{release}
@@ -554,11 +554,11 @@
Source0: qmailadmin-%{pversion}.tar.bz2
Source1: help.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
-BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
-BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
-Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
-Requires: control-panel-toaster >= 0.2
-Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
+#BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
+#BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
+#Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
+#Requires: control-panel-toaster >= 0.2
+#Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
Packager: Jake Vickers <jake@qmailtoaster.com>


@@ -667,8 +667,8 @@
--enable-cgipath=/qmailadmin/index.cgi \
--enable-vpopmaildir=%{vdir} \
--enable-qmaildir=%{qdir} \
- --enable-ezmlmdir=%{_bindir} \
- --enable-autoresponder-path=%{_bindir} \
+ --enable-ezmlmdir=n \
+ --enable-autoresponder-path=n \
--enable-vpopuser=vpopmail \
--enable-vpopgroup=vchkpw \
--enable-maxusersperpage=12 \
----------------------------------------------------------------------------

SPEC 파일을 이용하여 RPM 빌드 및 설치
rpmbuild -ba /usr/src/redhat/SPEC/qmailadmin-toaster.spec
rpm -Uvh /usr/src/redhat/RPMS/i386/qmailadmin-1.2.12-1.3.8.i386.rpm


웹브라우저를 실행하여 http://mail.bbbbbbbb.com/qmailadmin 에 접속



7. 설정파일 참조
----- qmail 설정 -----
/var/qmail/control/concurrencyincoming -> 변경없음, 수신(SMTPD) 데몬의 최대 갯수 지정
100

/var/qmail/control/concurrencyremote -> 변경없음, 발송 프로세스(qmail-remote) 갯수 = 동시처리량
60

/var/qmail/control/conf-knetqmail -> 변경없음
#!/bin/sh
QMAIL_CTL_DIR="/var/qmail/control"
SMTPD_LOG_DIR="/var/log/qmail/smtpd"
SEND_LOG_DIR="/var/log/qmail/send"
POP3_LOG_DIR="/var/log/qmail/pop3"

#if you not need rblsmtpd,then change "no"
USE_RBL="no"
RBL_DNS="-r bl.spamcop.net -r rbl.linuxstudy.pe.kr"
SOFT_LIMIT="-m 100000000"
TCPSERVER_OPT="-vRHl0"
TCPRULE_FILE="/etc/tcp.smtp.cdb"
LOG_OPTS="t" # 't' is for timestamp
LOG_MAXSIZE=2500000 # defalts to '99999' if empty
LOG_MAXCOUNT=10 # defaults to '10' if empty

### max connection for tcpserver #####
if [ -f $QMAIL_CTL_DIR/concurrencyincoming ];then
MAX_CONN=`cat $QMAIL_CTL_DIR/concurrencyincoming`
else
MAX_CONN="40"
fi
##########################################
# SET RBLSMTPD
# Default set:not ues rbldns
if [ "$USE_RBL" = "yes" ];then
RBLSMTPD="/usr/bin/rblsmtpd -t 30 $RBL_DNS"
else
RBLSMTPD=""
fi



/var/qmail/control/defaultdelivery -> 변경없음, 메일이 저장되는 메일함 지정
./Maildir/


/var/qmail/control/defaultdomain -> 자동설정됨, 기본 도메인 이름
aaaaaaaa.com


/var/qmail/control/defaulthost -> 자동설정됨, 기본 호스트 이름
aaaaaaaa.com


/var/qmail/control/locals -> vaddomain로 작업시 자동추가됨, qmail-send에서 발송시 내부로 전달함
localhost
mail.aaaaaaaa.com
mail.bbbbbbbb.com
mail.ccccccc.com
mail.dddddddd.com
mail.aaaaaaaa.com


/var/qmail/control/locals.lock -> 변경없음


/var/qmail/control/me -> 자동설정됨, 시스템의 FQDN, 다른 설정파일에 영향이 있음
mail.aaaaaaaa.com


/var/qmail/control/plusdomain -> 자동설정됨
aaaaaaaa.com


/var/qmail/control/queuelifetime -> 변경없음, 큐 저장시간, 86400초 = 1일
86400


/var/qmail/control/rcpthosts -> vadddomains 로 추가시 자동추가됨, 단 mail.도메인명 부분은 수동으로 추가함
qmail-smtpd가 받아들일 메일 주소 지정
aaaaaaaa.com
mail.aaaaaaaa.com
bbbbbbbb.com
mail.bbbbbbbb.com
ccccccc.com
mail.ccccccc.com
dddddddd.com
mail.dddddddd.com


/var/qmail/control/rcpthosts.lock -> 변경없음


/var/qmail/control/smtpgreeting -> 자동설정됨
mail.aaaaaaaa.com - Welcome to Qmail SMTP Server


/var/qmail/control/smtproutes -> 변경없음


/var/qmail/control/spfbehavior -> 3에서 0으로 수동변경, 3은 SPF 정책에 의해 deny하고, 0은 SPF정책 사용안함
0


/var/qmail/control/virtualdomains -> vaddomain로 작업시 자동추가됨, 가상도메인 설정
aaaaaaaa.com:aaaaaaaa.com
bbbbbbbb.com:bbbbbbbb.com
ccccccc.com:ccccccc.com
dddddddd.com:dddddddd.com


/var/qmail/control/virtualdomains.lock -> 변경없음


/var/qmail/users/assign -> vaddomain로 작업시 자동추가됨, 가상도메인 설정
+aaaaaaaa.com-:aaaaaaaa.com:101:104:/home/vpopmail/domains/aaaaaaaa.com:-::
+bbbbbbbb.com-:bbbbbbbb.com:101:104:/home/vpopmail/domains/bbbbbbbb.com:-::
+ccccccc.com-:ccccccc.com:101:104:/home/vpopmail/domains/ccccccc.com:-::
+dddddddd.com-:dddddddd.com:101:104:/home/vpopmail/domains/dddddddd.com:-::


/etc/tcp.smtp -> 변경없음, 릴레이 설정
127.0.0.1:allow,RELAYCLIENT="",CHKUSER_RCPTLIMIT="50",CHKUSER_WRONGRCPTLIMIT="10"
:allow,,CHKUSER_RCPTLIMIT="50",CHKUSER_WRONGRCPTLIMIT="10"



8. 실시간 로그 확인
SMTP 로그(메일 수신 확인)
tail -f /var/log/qmail/smtpd/current | tai64nlocal

POP3 로그(POP3 접속 유무 확인)
tail -f /var/log/qmail/pop3/current | tai64nlocal

발송 로그(메일 발송 확인)
tail -f /var/log/qmail/send/current | tai64nlocal



9. 주요 명령
vadddomain : 가상 도메인 추가, 생성시 물어보는 암호는 postmaster인 도메인관리자 암호, qmailadmin 사용시 사용함
/home/vpopmail/domains/도메인 디렉토리 및 다음 파일의 정보가 갱신됨
/var/qmail/control/rcpthosts, /var/qmail/control/virtualdomains,
/var/qmail/control/locals, /var/qmail/users/assign

vdeldomain : 가상 도메인 삭제, 삭제시 유저정도보 삭제되므로 주의, /home/vpopmail/domains/도메인 디렉토리 삭제함
vadduser : 가상유저 생성, vadduser test@도메인
vdeluser : 가상유저 비밀번호 변경, vpasswd test@도메인



10. 참고사항
Relay Check : http://www.rbl.jp/svcheck.php

큐메일 한글홈페이지 wiki : http://qmail.kldp.net/wiki/wiki.php

daemontools가 동작하는 흐름 : /etc/inittab -> /command/svscanboot -> svscan -> supervise -> /service

Linux notebook - qmail : http://binarios.com/lnb/qmail.html

Re: knetqmail-0.0.1-2.src.rpm 설치 방법

Posted: 2009/07/13 15:51
by stone92
주말에 회사 서버에 설치하면서 작성했습니다.

IP가 xxx.yyy.zzz.bb 이고 hostname이 mail.aaaaaaaa.com 인 서버에
설치하였으며 이 서버에서 4개의 가상도메인을 운영하는 설정입니다.
CentOS 5.3 i386에서 빌드 및 설치하였습니다. 모든 패키지는 RPM입니다.
끝으로, SRPM을 만들어서 배포해주신 stone92님께 감사드립니다.



주의! 절대 기존 qmail + vpopmail이 운영중인 상태(서버)에서 빌드 하지 말것(SRPM 빌드과정에서 /home/vpopmail 가 삭제됨)
-> knetqmail.spec 파일에서 196행 rm -fr %{vpopmaildir} 부분



0. 네트워크 설정확인
----- Network 설정 -----
[root@mail ~]# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=mail.aaaaaaaa.com
GATEWAY=xxx.yyy.zzz.aa

[root@mail ~]# cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
xxx.yyy.zzz.bb mail.aaaaaaaa.com mail

[root@mail ~]# hostname
mail.aaaaaaaa.com

[root@mail ~]# hostname -s
mail




1. knetqmail SRPM 버전 다운로드(http://qmail.kldp.net/phpbb/viewtopic.php?t=7887)
wget http://mail.linuxstudy.pe.kr/download/k ... -2.src.rpm



2. RPM 빌드 및 설치
rpm -e sendmail --nodeps
rpmbuild --rebuild knetqmail-0.0.1-2.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/knetqmail-0.0.1-2.i386.rpm



3. vpopmail + mysql 설정
계정정보를 관리하기 위한 mysql 접속 정보를 수정한다. (root를 사용한다면 암호 부분만 수정하면 된다.)
vi /home/vpopmail/etc/vpopmail.mysql

DB호스트명|포트번호|DB유저명|암호|DB명
localhost|0|root|1q2w3e|h_vpopmail



4. SPF 정책 변경 (참조 : http://qmail.kldp.net/wiki/wiki.php/qma ... am#s-4.1.1)
/var/qmail/control/spfbehavior
3 에서 0으로 변경
-> 변경이유 : 우리 웹서버에서 mailhelp로 메일을 발송하는데, SPF정책에 의해 deny되어 mailhelp에만 메일수신됨



5. qmail 및 pop3 구동
/etc/init.d/qmald start
/etc/init.d/pop3d start



6. 가상도메인 및 계정추가
vadddomain aaaaaaaa.com
vadddomain bbbbbbbb.com
vadddomain ccccccc.com
vadddomain dddddddd.com

vadduser test@aaaaaaaa.com 1234
vadduser test@bbbbbbbb.com 1234
vadduser test@ccccccc.com 1234
vadduser test@dddddddd.com 1234



8. qmail을 웹에서 관리하기 위한 프로그램 qmailadmin의 설치
좀더 편하게 설치하기 위해서 qmailtoaster 에서 제공하는 SRPM을 가져다가 수정후 빌드한다.
knetqmail SRPM 버전에서는 autorespond 와 ezmlm을 기본으로 설치하지 않기 때문에 빌드 옵션을 조정한다.
그리고 의존성 문제를 해결하기위해 Requires부분을 주석처리한다.

wget http://qmailtoaster.org/download/stable ... .8.src.rpm
rpm -Uvh qmailadmin-toaster-1.2.12-1.3.8.src.rpm
vi /usr/src/redhat/SPEC/qmailadmin-toaster.spec
다음과 같이 수정한다.

Name: %{name}
#BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
#BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
#Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
#Requires: control-panel-toaster >= 0.2
#Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
--enable-ezmlmdir=n \
--enable-autoresponder-path=n \

-------------------- diff -Nur 명령의 결과 --------------------
--- qmailadmin-toaster.spec 2009-06-12 12:10:11.000000000 +0900
+++ qmailadmin-toaster.spec.jj 2009-07-12 23:58:00.000000000 +0900
@@ -544,7 +544,7 @@
%define builddate Fri Jun 12 2009
%{!?spambox:%define spambox 0}

-Name: %{name}-toaster
+Name: %{name}
Summary: Web Administration for qmail-toaster
Version: %{vtoaster}
Release: %{release}
@@ -554,11 +554,11 @@
Source0: qmailadmin-%{pversion}.tar.bz2
Source1: help.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-buildroot
-BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
-BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
-Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
-Requires: control-panel-toaster >= 0.2
-Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
+#BuildRequires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
+#BuildRequires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324, bzip2
+#Requires: qmail-toaster >= 1.03, vpopmail-toaster >= 5.4.17
+#Requires: control-panel-toaster >= 0.2
+#Requires: autorespond-toaster >= 2.0.2, ezmlm-toaster >= 0.53.324
Packager: Jake Vickers <jake@qmailtoaster.com>


@@ -667,8 +667,8 @@
--enable-cgipath=/qmailadmin/index.cgi \
--enable-vpopmaildir=%{vdir} \
--enable-qmaildir=%{qdir} \
- --enable-ezmlmdir=%{_bindir} \
- --enable-autoresponder-path=%{_bindir} \
+ --enable-ezmlmdir=n \
+ --enable-autoresponder-path=n \
--enable-vpopuser=vpopmail \
--enable-vpopgroup=vchkpw \
--enable-maxusersperpage=12 \
----------------------------------------------------------------------------

SPEC 파일을 이용하여 RPM 빌드 및 설치
rpmbuild -ba /usr/src/redhat/SPEC/qmailadmin-toaster.spec
rpm -Uvh /usr/src/redhat/RPMS/i386/qmailadmin-1.2.12-1.3.8.i386.rpm


웹브라우저를 실행하여 http://mail.bbbbbbbb.com/qmailadmin 에 접속



7. 설정파일 참조
----- qmail 설정 -----
/var/qmail/control/concurrencyincoming -> 변경없음, 수신(SMTPD) 데몬의 최대 갯수 지정
100

/var/qmail/control/concurrencyremote -> 변경없음, 발송 프로세스(qmail-remote) 갯수 = 동시처리량
60

/var/qmail/control/conf-knetqmail -> 변경없음
#!/bin/sh
QMAIL_CTL_DIR="/var/qmail/control"
SMTPD_LOG_DIR="/var/log/qmail/smtpd"
SEND_LOG_DIR="/var/log/qmail/send"
POP3_LOG_DIR="/var/log/qmail/pop3"

#if you not need rblsmtpd,then change "no"
USE_RBL="no"
RBL_DNS="-r bl.spamcop.net -r rbl.linuxstudy.pe.kr"
SOFT_LIMIT="-m 100000000"
TCPSERVER_OPT="-vRHl0"
TCPRULE_FILE="/etc/tcp.smtp.cdb"
LOG_OPTS="t" # 't' is for timestamp
LOG_MAXSIZE=2500000 # defalts to '99999' if empty
LOG_MAXCOUNT=10 # defaults to '10' if empty

### max connection for tcpserver #####
if [ -f $QMAIL_CTL_DIR/concurrencyincoming ];then
MAX_CONN=`cat $QMAIL_CTL_DIR/concurrencyincoming`
else
MAX_CONN="40"
fi
##########################################
# SET RBLSMTPD
# Default set:not ues rbldns
if [ "$USE_RBL" = "yes" ];then
RBLSMTPD="/usr/bin/rblsmtpd -t 30 $RBL_DNS"
else
RBLSMTPD=""
fi



/var/qmail/control/defaultdelivery -> 변경없음, 메일이 저장되는 메일함 지정
./Maildir/


/var/qmail/control/defaultdomain -> 자동설정됨, 기본 도메인 이름
aaaaaaaa.com


/var/qmail/control/defaulthost -> 자동설정됨, 기본 호스트 이름
aaaaaaaa.com


/var/qmail/control/locals -> vaddomain로 작업시 자동추가됨, qmail-send에서 발송시 내부로 전달함
localhost
mail.aaaaaaaa.com
mail.bbbbbbbb.com
mail.ccccccc.com
mail.dddddddd.com
mail.aaaaaaaa.com


/var/qmail/control/locals.lock -> 변경없음


/var/qmail/control/me -> 자동설정됨, 시스템의 FQDN, 다른 설정파일에 영향이 있음
mail.aaaaaaaa.com


/var/qmail/control/plusdomain -> 자동설정됨
aaaaaaaa.com


/var/qmail/control/queuelifetime -> 변경없음, 큐 저장시간, 86400초 = 1일
86400


/var/qmail/control/rcpthosts -> vadddomains 로 추가시 자동추가됨, 단 mail.도메인명 부분은 수동으로 추가함
qmail-smtpd가 받아들일 메일 주소 지정
aaaaaaaa.com
mail.aaaaaaaa.com
bbbbbbbb.com
mail.bbbbbbbb.com
ccccccc.com
mail.ccccccc.com
dddddddd.com
mail.dddddddd.com


/var/qmail/control/rcpthosts.lock -> 변경없음


/var/qmail/control/smtpgreeting -> 자동설정됨
mail.aaaaaaaa.com - Welcome to Qmail SMTP Server


/var/qmail/control/smtproutes -> 변경없음


/var/qmail/control/spfbehavior -> 3에서 0으로 수동변경, 3은 SPF 정책에 의해 deny하고, 0은 SPF정책 사용안함
0


/var/qmail/control/virtualdomains -> vaddomain로 작업시 자동추가됨, 가상도메인 설정
aaaaaaaa.com:aaaaaaaa.com
bbbbbbbb.com:bbbbbbbb.com
ccccccc.com:ccccccc.com
dddddddd.com:dddddddd.com


/var/qmail/control/virtualdomains.lock -> 변경없음


/var/qmail/users/assign -> vaddomain로 작업시 자동추가됨, 가상도메인 설정
+aaaaaaaa.com-:aaaaaaaa.com:101:104:/home/vpopmail/domains/aaaaaaaa.com:-::
+bbbbbbbb.com-:bbbbbbbb.com:101:104:/home/vpopmail/domains/bbbbbbbb.com:-::
+ccccccc.com-:ccccccc.com:101:104:/home/vpopmail/domains/ccccccc.com:-::
+dddddddd.com-:dddddddd.com:101:104:/home/vpopmail/domains/dddddddd.com:-::


/etc/tcp.smtp -> 변경없음, 릴레이 설정
127.0.0.1:allow,RELAYCLIENT="",CHKUSER_RCPTLIMIT="50",CHKUSER_WRONGRCPTLIMIT="10"
:allow,,CHKUSER_RCPTLIMIT="50",CHKUSER_WRONGRCPTLIMIT="10"



8. 실시간 로그 확인
SMTP 로그(메일 수신 확인)
tail -f /var/log/qmail/smtpd/current | tai64nlocal

POP3 로그(POP3 접속 유무 확인)
tail -f /var/log/qmail/pop3/current | tai64nlocal

발송 로그(메일 발송 확인)
tail -f /var/log/qmail/send/current | tai64nlocal



9. 주요 명령
vadddomain : 가상 도메인 추가, 생성시 물어보는 암호는 postmaster인 도메인관리자 암호, qmailadmin 사용시 사용함
/home/vpopmail/domains/도메인 디렉토리 및 다음 파일의 정보가 갱신됨
/var/qmail/control/rcpthosts, /var/qmail/control/virtualdomains,
/var/qmail/control/locals, /var/qmail/users/assign

vdeldomain : 가상 도메인 삭제, 삭제시 유저정도보 삭제되므로 주의, /home/vpopmail/domains/도메인 디렉토리 삭제함
vadduser : 가상유저 생성, vadduser test@도메인
vdeluser : 가상유저 비밀번호 변경, vpasswd test@도메인



10. 참고사항
Relay Check : http://www.rbl.jp/svcheck.php

큐메일 한글홈페이지 wiki : http://qmail.kldp.net/wiki/wiki.php

daemontools가 동작하는 흐름 : /etc/inittab -> /command/svscanboot -> svscan -> supervise -> /service

Linux notebook - qmail : http://binarios.com/lnb/qmail.html
그렇지 않아도 vpopmail 홈디렉토리 지우는 부분때문에..
패키징 업데이트 하면서 제 메일서버 한번 날려먹었어요..-.-;
백업본으로 복구했지만..ㅎㅎㅎ
여튼 전체적으로 패키징을 좀 손보고 있는 중입니다.
vpopmail 추가 부분도 /var/tmp/knetqmail/home/vpopmail 에 install 후에
작업하도록 하고 여튼 이것저것 현재 손보고 있는 중 입니다.

-ps-
혹시 /home/vpopmail 날려 먹은것은 아니시죠??ㅎㅎ

Re: knetqmail-0.0.1-2.src.rpm 설치 방법

Posted: 2009/07/13 15:57
by junilove
그렇지 않아도 vpopmail 홈디렉토리 지우는 부분때문에..
패키징 업데이트 하면서 제 메일서버 한번 날려먹었어요..-.-;
백업본으로 복구했지만..ㅎㅎㅎ
여튼 전체적으로 패키징을 좀 손보고 있는 중입니다.
vpopmail 추가 부분도 /var/tmp/knetqmail/home/vpopmail 에 install 후에
작업하도록 하고 여튼 이것저것 현재 손보고 있는 중 입니다.

-ps-
혹시 /home/vpopmail 날려 먹은것은 아니시죠??ㅎㅎ
ㅎㅎ /home/vpopmail 날려 먹었습니다. 백업도 없었구요. ㅠ_ㅠ 다행히 잘 넘어갔습니다.
qmail을 잘 모른상태에서 qmailtoaster로 설치했다가 고생고생하고...knetqmail SRPM으로 잘 되네요. 감사합니다~ ^^

저도 시간이 나면 qmailadmin이나 SRPM으로 깔끔하게 만들어야겠습니다. knetqmail으로 의존성걸어서요..^^;;

Posted: 2009/07/29 22:18
by rootage
centOS 5.3에서
rpmbuild --rebuild knetqmail-0.0.1-3.src.rpm 하는 도중에

+ mkdir -p /var/tmp/knetqmail-0.0.1/var/qmail
+ mkdir -p /var/tmp/knetqmail-0.0.1/home/vpopmail
+ '[' -f /var/qmail/bin/qmail-newu ']'
+ '[' '!' -d /var/qmail/bin ']'
+ mkdir /var/qmail/bin
mkdir: `/var/qmail/bin' 디렉토리를 만들 수 없습니다: 그런 파일이나 디렉토리가 없음
오류: /var/tmp/rpm-tmp.41850의 잘못된 종료 상황 (%build)


RPM 제작 오류:
/var/tmp/rpm-tmp.41850의 잘못된 종료 상황 (%build)
[root@localhost src]#

요런 에러가 나네요 걍 수동으로 빌드 전에 mkdir /var/qmail 하니깐 넘어가구요:)

Posted: 2009/07/29 22:19
by rootage
rpmbuild --rebuild knetqmail-0.0.1-2.src.rpm
을 할 경우 잘 진행되다가 아래와 같은 에러가 나는데 무슨 이유인지요?

gcc -DBIND_8_COMPAT -O2 -c dktest.c -I.
In file included from dktest.c:3:
./domainkeys.h:8:25: openssl/evp.h: 그런 파일이나 디렉토리가 없음
./domainkeys.h:9:25: openssl/pem.h: 그런 파일이나 디렉토리가 없음
./domainkeys.h:10:25: openssl/err.h: 그런 파일이나 디렉토리가 없음
make: *** [dktest.o] 오류 1
오류: /var/tmp/rpm-tmp.98687의 잘못된 종료 상황 (%build)


**sulinux 1.0에서는 잘 설치되며 sulinux 1.5에서 위와 같은 에러가 납니다.
(sulinux: http://www.sulinux.net)

수고하세요
openssl-devel 을 추가로 설치해 보세요
저도 동일한 에러가 나길래 설치했더니 무사히 넘어가지네요;)

Posted: 2009/07/31 18:33
by trim703
이번 7월 14일에 보완하신 부분 중

'gcc 4.3.2 이상 버전에서 open 함수 에러 수정'

요 부분을 어떻게 수정하신 건지 내역 좀 알 수 있을까요? 우분투 9.04에 소스로 knetqmail을 적용하고 있는데 make에서 아래와 같은 에러를 만나고 있습니다.

Code: Select all

./compile open_rw.c
In function ‘open’,
    inlined from ‘open_rw’ at open_rw.c:6:
/usr/include/bits/fcntl2.h:51: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT in second argument needs 3 arguments
make: *** [open_rw.o] 오류 1

Posted: 2009/08/01 08:47
by stone92
[root@mail knetqmail-1.06]# cat open_rw.c
#include <sys/types.h>
#include <fcntl.h>
#include "open.h"

int open_rw(fn) char *fn;
{ return open(fn,O_RDWR | O_CREAT,0644); }
[root@mail knetqmail-1.06]#

gcc 4.3.2 버전에서 open 함수가 3개의 인자를 필요로 합니다.
그래서 파일 생성시 퍼미션을 0644를 추가를 해줬습니다.

Re: knetqmail SRPM 버전[업데이트]

Posted: 2009/10/23 14:09
by z2440
knetqmail-0.0.1-2.src.rpm 설치 방법
by junilove 님의 글을 보고 따라하던중 같은 에러가 계속 발생해서 문의드립니다.
CentOS 5를 사용하고 있으며, mysql은 소스컴파일 하였습니다.
mysql 경로 : /usr/local/server/mysql
최초 rpm 빌드시에 mysql include와 lib가 문제가 생겨서
ln -s /usr/local/server/mysql/lib/mysql/* /usr/lib
ln -s /usr/local/server/mysql/include/mysql/* /usr/include
로 변경하여 해당 rpm을 생성하였는데,
실제로 rpm을 설치하려고 하면 아래와 같이 에러가 발생합니다.

[root@mail ~]# rpm -Uvh /usr/src/redhat/RPMS/i386/knetqmail-0.0.1-3.i386.rpm
오류: Failed dependencies:
libmysqlclient.so.16 is needed by knetqmail-0.0.1-3.i386
libmysqlclient.so.16(libmysqlclient_16) is needed by knetqmail-0.0.1-3.i386

뭐가 문제일까요?