qmail + vpopmail + mysql 연동 후 간헐적 사이트 접속 오류 현상

리눅스/Mail|2015. 1. 23. 09:30
반응형

[증상]

qmail + vpopmail + mysql 연동 설치 후 기존 사이트가 떴다 안떴다 하는 현상

 

[해결]

설치 과정중 mysql rpm 버전을 삭제했다면, /etc/my.cnf 에 max_connections =1000 옵션을 추가해볼것

이상하게 이런 옵션 추가 후 문제가 해결되었습니다. -_-;

 

반응형

댓글()

Qmail 서버에서 스팸발송 안되게 하기

리눅스/Mail|2015. 1. 23. 09:30
반응형

qmail + vpopmail 설치 후 스팸발송이 되면 아래와 같이 셋팅해보세요.

 

vi /home/vpopmail/etc/tcp.smtp

 

127.0.0.1:allow,RELAYCLIENT=""
192.168.10.2:allow,RELAYCLIENT=""    // 192.168.10.2 는 서버 IP 입니다.
:allow

 
tcprules /home/vpopmail/etc/tcp.smtp.cdb /home/vpopmail/etc/tcp.smtp.tmp < /home/vpopmail/etc/tcp.smtp

 

그리고 스팸이 queue 에 쌓여있으므로 queue 를 비워줍니다.

> queue-fix 사용 방법은 sysdocu의 다른 포스팅을 참조합니다.


반응형

댓글()

roundcube 각종 플러그인 설정

리눅스/Mail|2015. 1. 23. 09:29
반응형

1. password (vpopmail + mysql 환경에서의 패스워드 변경)

vpopmail을 mysql과 연동하기 때문에 라운드큐브의 패스워드 변경 부분도 mysql과 연동되도록 설정한다.

 

플러그인 설정

roundcube 디렉토리/plugins/password 디렉토리에서 config.inc.php.dist 파일을 config.inc.php로 변경한 후

아래 부분 수정.

$rcmail_config['password_driver'] = 'sql';

$rcmail_config['password_confirm_current'] = true;

$rcmail_config['password_db_dsn'] = 'mysql://vpopmail:패스워드@localhost/vpopmail';

$rcmail_config['password_query'] = 'UPDATE vpopmail set pw_passwd=ENCRYPT(%p,concat("$1$",right(md5(rand()), 8),"$")),pw_clear_passwd=%p where pw_name=%l';

roundcube 디렉토리/config/main.inc.php

$rcmail_config['plugins'] = array('password');

2. Mark as Junk 2

스팸어쌔신이 설치되어 있을 경우 라운드큐브에서 받은 메일함의 스팸메일을 스팸폴더로 이동시키면서

스팸어쌔신 학습을 시킨다.

 

플러그인 설정

첨부된 markasjunk2.zip 파일을 압축해제한 후, roundcube 디렉토리/plugins 디렉토리에 markasjunk2 폴더를 업로드.

markasjunk2 폴더의 config.inc.php.dist 파일을 config.inc.php로 변경한 후 아래 부분 수정

$rcmail_config['markasjunk2_read_spam'] = true;

$rcmail_config['markasjunk2_detach_ham'] = true;

$rcmail_config['markasjunk2_spam_cmd'] = '/usr/bin/sa-learn --spam --username=%u %f';

$rcmail_config['markasjunk2_ham_cmd'] = '/usr/bin/sa-learn --ham --username=%u %f';

roundcube 디렉토리/config/main.inc.php

$rcmail_config['plugins'] = array('password','markasjunk2');

3. ContextMenu

메일 목록에서 오른쪽 마우스 클릭 시, 상단의 메뉴와 그 외 기능들을 contextmenu로 표시해 준다.

 

플러그인 설정

첨부된 contextmenu.zip 파일을 압축해제한 후, roundcube 디렉토리/plugins 디렉토리에 contextmenu 폴더 업로드

 

roundcube 디렉토리/config/main.inc.php

$rcmail_config['plugins'] = array('password','markasjunk2','contextmenu');

[출처] aramjo's Blog | 아람조 (http://aramjo.blog.me/120103753749)



contextmenu.zip

markasjunk2.zip


반응형

댓글()

QmailAdmin 설치

리눅스/Mail|2015. 1. 23. 09:28
반응형

1. 다운로드

# cd /usr/local/src

# wget http://www.inter7.com/qmailadmin/qmailadmin-1.0.6.tar.gz
# wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-0.53.tar.gz
# wget http://gd.tuwien.ac.at/infosys/mail/qmail/ezmlm-patches/ezmlm-idx-0.40.tar.gz
 

 

2. 설치

# tar xvzf ezmlm-0.53.tar.gz
# tar xvzf ezmlm-idx-0.40.tar.gz
# tar xvzf qmailadmin-1.0.6.tar.gz
# mv -f ezmlm-idx-0.40/* ezmlm-0.53
# cd ezmlm-0.53
# patch < idx.patch
# make

 

make 오류시 error.h 파일을 열어 아래 내용을 윗부분에 삽입해줍니다.
#include <errno.h>

 

그리고 다시 make 를 합니다.

# make

# make man
# make setup
# cd ../qmailadmin-1.0.6
# ./configure --enable-cgibindir=/usr/local/apache/cgi-bin
# make
# make install-strip
 

 

3. QmailAdmin 한글화

# cd /usr/local/share/qmailadmin/html
# vi ko

 

[아래 첨부파일(ko.txt)을 참고하여 내용을 붙여넣습니다.]

 

잘뜨는지 아래 URL 로 접속해봅니다.

http://192.168.10.2/cgi-bin/qmailadmin

 

 

4. 추가작업

QmailAdmin 이미지가 잘 뜨도록 하기 위해 아래작업을 추가로 해줍니다.

(/home/sysdocu/webmail 이 DocumentRoot 디렉토리 일 경우)

 

# mkdir /home/sysdocu/webmail/images

# cp -arp /usr/local/apache/htdocs/images/qmailadmin /home/sysdocu/webmail/images/


ko.txt


반응형

댓글()

라운드큐브메일 한글 첨부파일 발송하기

리눅스/Mail|2015. 1. 23. 09:28
반응형

한글판으로 설치했다 하더라고 한글 첨부파일은 전송이 되지 않는 현상이 있습니다.

 

- RoundcubeMail 0.7 에서 확인

 

[해결책]

라운드큐브메일 디렉토리/program/lib/Mail/mimePart.php 파일을 열고

238번째 라인에 filename_encoding 부분의 NULL 을 EUC-KR 바꾸면 됩니다.

 

!empty($params['filename_encoding']) ? $params['filename_encoding'] : EUC-KR


반응형

댓글()

authdaemond: vmysql: sql error[3]: MySQL server has gone away

리눅스/Mail|2015. 1. 23. 09:27
반응형

maillog 에 아래와 같은 오류 메세지가 출력될 경우

 

authdaemond: vmysql: sql error[3]: MySQL server has gone away

 

해당 문제에 대한 원인은 찾지 못했지만 편법으로 아래처럼 해결이 가능합니다.

 

crontab -e

 

아래 내용 삽입

00 * * * * /etc/init.d/courier-authlib restart

 

반응형

댓글()

[Qmail] telnet localhost 25 접속 실패시 (110 포트 포함)

리눅스/Mail|2015. 1. 23. 09:27
반응형

※ 정상적으로 smtp 서버가 구축이 되지 않은 경우

 [root@localhost]# telnet localhost 25
Trying 127.0.0.1...
Connected to mail.foobar.com (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
 



만약 위처럼 정상적으로 접속이 안되는 경우에는 qmail script의 softlimit 값을 늘려줘 보시기 바랍니다.

 [root@localhost]# vi /var/qmail/supervise/qmail-smtpd/run
#!/bin/sh
Q_UID=`id -u qmaild`
Q_GID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 72000000 
/usr/local/bin/tcpserver -vRHl 0 
-x /home/vpopmail/etc/tcp.smtp.cdb 
-u $Q_UID -g $Q_GID 0 25 /var/qmail/bin/qmail-smtpd 2>&1
[root@localhost]# /etc/rc.d/init.d/qmail restart
Restarting qmail:
* Stopping qmail-smtpd.
* Sending qmail-send SIGTERM and restarting.
* Restarting qmail-smtpd.
 

 

 

※ 정상적으로 pop3 서버가 구축이 되지 않은 경우

 [root@localhost]# telnet localhost 110
Trying 127.0.0.1...
Connected to mail.foobar.com (127.0.0.1).
Escape character is '^]'.
Connection closed by foreign host.
 


만약 위처럼 접속이 안되는 경우 smtp와 마찬가지로 pop3 script의 softlimit 값을 늘려주시기 바랍니다.

 [root@localhost]# vi /var/qmail/supervise/vpop/run
#!/bin/sh
VPOP_UID=`id -u vpopmail`
VPOP_GID=`id -g vpopmail`

exec /usr/local/bin/softlimit -m 72500000 
tcpserver -vRHl 0 -u $VPOP_UID -g $VPOP_GID 0 110 
/var/qmail/bin/qmail-popup foobar.com 
/home/vpopmail/bin/vchkpw /var/qmail/bin/qmail-pop3d Maildir 2>&1
[root@localhost]# /etc/rc.d/init.d/qmail restart
Restarting qmail:
* Stopping qmail-smtpd.
* Sending qmail-send SIGTERM and restarting.
* Restarting qmail-smtpd.
 



[발췌] 순수나꾸 (http://blog.daum.net/freeppro/5944080)

반응형

댓글()

[IMAP] Qmail + Vpopmail + Dovecot 연동하기

리눅스/Mail|2015. 1. 23. 09:27
반응형

[출처]

http://community.365managed.com/191#0

http://community.365managed.com

http://www.365managed.com

 

 

 

"Imap"을 쓰기 위해, Qmail + Vpopmail + Courier-imap 연동방식을 이용해도 메일 확인에 전혀 문제가 없습니다만............

[IMAP] 이용시(Pop3이용시는 무관?), 편지함이 달랑 [받은 편지함]만 제공된다는 것이...........

물론, 받은 편지함 하위에 새로운 편지함을 만들수는 있지만, 통상적으로 제공되는

[보낸 편지함], [지운 편지함]기능이 제공되지 못해, 상당히 빈약(?)하죠....

Qmail에, Dovecot와 연동하면 이러한 부분이 말끔하게 해소 됩니다.

Dovecot 소스 설치를 해야 하며, configure 옵션에 vpopmail 연동하는 옵션이 기본 지원됨.


제가 작업한 시스템 환경은, 아래와 같습니다.

======================================
OS : CentOS 5.2 x86_64
Mailer : Qmail + Vpopmail 이용중이었음...
======================================

(상기 정보와 다른 상황에서는 미 확인. 그러나 작업과정상 크게 문제될 것은 없어 보임)

<Dovecot 연동 작업 과정 요약>

1. openssl openssl-devel 패키지 설치 (ssl 기반의 imap 이용시 요구됨. 필요 없다면 생략 가능)
# yum -y install openssl openssl-devel

2. RPM으로 설치된 Dovecot 제거
# yum -y remove dovecot

3. 소스로 설치될 Dovecot 사용자, 그룹 생성
# groupadd -g 97 dovecot
# useradd -g 97 -u 97 -d /usr/local/libexec/dovecot -s /sbin/nologin dovecot

4. Dovecot 소스 최신 버전 다운로드 (현재 최신 버전은 dovecot-1.1.3.tar.gz 이었음)
http://www.dovecot.org/download.html
# wget http://www.dovecot.org/releases/1.1/dovecot-1.1.3.tar.gz

5. 압축 해제
# tar zxvf dovecot-1.1.3.tar.gz

6. Configure (필수 옵션 : --with-vpopmail)
# ./configure --with-vpopmail --with-ssl=openssl

7. 컴파일 & 설치
# make
# make install

8. "vpopmail" 유저 uid 번호 확인
# id -u vpopmail

9. Dovecot 설정파일 생성
아래 내용에서, [first_valid_uid = 508] 부분의 숫자를 (8)번 과정에서 확인한 번호로 수정한 후, /usr/local/etc/dovecot.conf 파일로 저장
(필요한 경우, protocols 부분은 적당히 수정)
# vi /usr/local/etc/dovecot.conf
 ## Ex) protocols = imap imaps pop3 pop3s
protocols = imap pop3
#listen = 192.168.0.123
ssl_disable = yes
disable_plaintext_auth = no
login_process_per_connection = no
login_greeting = Ready
mail_debug = yes
first_valid_uid = 508
protocol imap {
}
auth_verbose = yes
auth_debug = yes
auth default {
 mechanisms = plain
 passdb vpopmail {
 }
 userdb vpopmail {
 }
 user = vpopmail
}

10. Dovecot init 스크립트 생성
# vi /etc/init.d/dovecot

 #!/bin/bash
#
#   /etc/rc.d/init.d/dovecot
#
# Starts the dovecot daemon
#
# chkconfig: - 65 35
# description: Dovecot Imap Server
# processname: dovecot
# Source function library.
. /etc/init.d/functions

test -x /usr/local/sbin/dovecot || exit 0

RETVAL=0
prog="Dovecot Imap"

start() {
        echo -n $"Starting $prog: "
    daemon /usr/local/sbin/dovecot
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/dovecot
    echo
}

stop() {
    echo -n $"Stopping $prog: "
    killproc /usr/local/sbin/dovecot
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/dovecot
    echo
}

#
#   See how we were called.
#
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  reload|restart)
    stop
    start
    RETVAL=$?
    ;;
  condrestart)
    if [ -f /var/lock/subsys/dovecot ]; then
        stop
        start
    fi
    ;;
  status)
    status /usr/local/sbin/dovecot
    RETVAL=$?
    ;;
  *)
    echo $"Usage: $0 {condrestart|start|stop|restart|reload|status}"
    exit 1
esac

exit $RETVAL


11. Dovecot init스크립트 권한 조정
# chmod 700 /etc/init.d/dovecot
# chown root:root /etc/init.d/dovecot

12. ntsysv 등록
# chkconfig --add dovecot
# chkconfig --level 345 dovecot on

13. /etc/init.d/dovecot start

14. /var/log/message에 Dovecot 작동 로그에 특별한 에러가 보이지 않는다면, 정상 설치 된 것임.

[설치 작업 완료]

남은 부분은....... Qmail + Vpopmail + Dovecot 작동이 정상적인지, 그리고 [받은편지함], [보낸편지함], [지운편지함] 기능이

"Imap"에서도 정상적으로 지원되는지 확인하면 모든 작업 완료.
 
 
※ 내용 추가 (sysdocu)
설정 후에도 /var/log/maillog 파일에 아래와 같은 로그가 남는다면
 
Jul 24 10:45:27 localhost dovecot: auth(default): passwd(webmaster@sysdocu.com,192.168.10.2): unknown usere
 
dovecot.conf 파일에 아래 옵션을 추가해줍니다. (vpopmail 은 DB명)
  userdb vpopmail {
  }


반응형

댓글()

qmail 구동 되지 않을때

리눅스/Mail|2015. 1. 23. 09:26
반응형

[오류]

[root@mail service]# /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 는 에러가 발생하지 않으나 포트가 오픈되지 않을때.

 

[해결]

/command/svscanboot &

/etc/init.d/qmail start

 

/etc/inittab 에도 아래 행을 삽입하여 부팅시 정상 작동되도록 합니다.

 

SV:123456:respawn:/command/svscanboot

 

반응형

댓글()

sendmail에서 localhost [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection

리눅스/Mail|2015. 1. 23. 09:26
반응형

sendmail에서 포트확인시

telnet localhost 25 
로 확인할때 응답이 느릴경우가 있다.

물론 로컬에서 메일을 보낼때도 느리지만, 외부에서 25번포트 접속시에는 빠르게 접속된다.
maillog를 보면 아래와 같이 메시지가 나타난다면.

Apr  2 14:51:27 moa sm-mta[1059]: n325pQea001059: localhost [127.0.0.1] did not issue MAIL/EXPN/VRFY/ETRN during connection to IPv4


sendmail.cf 에

Timeout.ident=0s


로 기술해보면 로컬에서도 빠르게 응답할것이다.
이걸로 4시간 삽질했따아...

 

[출처] 임성진의 블로그입니다~~ (http://blog.bbom.org/31)

반응형

댓글()

큐에서 특정 도메인의 메일만 삭제하기

리눅스/Mail|2015. 1. 23. 09:25
반응형
주말에 회사 메일서버 정리 작업하면서 알게된 프로그램입니다. 

http://www.linuxmagic.com/opensource/qmail/qmail-remove 
에서 다운로드 할 수 있습니다. 

큐에 스팸이 가득차 있거나 할때 사용하면 됩니다. 

1. 설치 
wget http://www.linuxmagic.com/opensource/qmail-remove-0.95.tar.gz 
tar xvfz qmail-remove-0.95.tar.gz 
cd qmail-remove-0.95 
make 
mkdir /var/qmail/queue/yanked 

2. 사용 
qmail 정지(qmail을 죽이지 않다도 큐는 삭제되나 영향은 모릅니다. ^^;) 
qmail-remove -r -p 도메인 

-- 결과 
324001: yes 
moved mess/0/324001 to yanked/324001.mess 
moved remote/0/324001 to yanked/324001.remote 
moved info/0/324001 to yanked/324001.info 
324024: yes 
moved mess/0/324024 to yanked/324024.mess 
moved remote/0/324024 to yanked/324024.remote 
moved info/0/324024 to yanked/324024.info 


더 다양한 방법은 http://www.debianadmin.com/delete-qmail ... queue.html 을 참조합니다.
 
 
[출처] qmail.kldp.net | junilove (http://qmail.kldp.net/phpbb/viewtopic.php?f=3&t=8060)


반응형

댓글()