centOS 에서 dovecot POP3 사용하기

2010.05.12 07:46

조인상 조회 수:15239

원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어

Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea

+++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어

+++++++++++++++++++++++++++++++++++++++++++++++++++++++


centOS를 설치하고 pop3를 사용하기 위해서

ntsysv 에서 설정하려던 중 pop3를 아무리 찾아도 없었다...


qpopper도 없고 pop3도 없었다

# rpm -qa | grep pop  도 안나오고...

해서 centos에서 쓸수 있는 pop3를 찾던 중

dovecot 이 페도라코어3 부터 나왔다는것을 알게되어 처음 사용해 보게 되었다.






ntsysv 에서 dovecot 을 사용가능하게 해주고

# service dovecot start 로 시작하고

# telnet localhost 110 

해도 접속이 안된다.


확인해보니 dovecot을 실행해도 계속 죽는 것이었다.

네이버에서 관련 문건을 찾아보니 다음과 같은 트러블슈팅 해결건이 있었다.


출처 : http://blog.empas.com/wwiww76/16152212
=====================================================

서버 환경 : 페도라 3

지난 금요일밤 피스넷 서버를 업그레이드 했는데 주말동안 아무 일이 없길래 정상적으로 작동하고 있는 줄 알았던 메일서비스가 안된다는 것을 어제저녁 전샘과 채팅하면서 알게 되었다. dovecot 은 pop3 와 imap 서비스를 지원해주는 서비스인데 계속 재시작해도 아래와 같이 나오기만 한다.


[root@ns init.d]# /etc/init.d/dovecot restart
Stopping Dovecot Imap: [ FAILED ]
Starting Dovecot Imap: [ OK ]

sendmail [SMTP 서비스] 은 정상적으로 작동하고 있는데 위 서비스가 죽어 있으니 그나마 피스넷 계정에서 살고 있던 사람들이 메일을 받지 못하고 있을 것이라 생각하니 걱정이 되기도 하였지만 그래도 피곤에 지쳐 그냥 쓰러져 자고 말았다.

아침에 일어나자마자 뉴스 그룹을 뒤져본 결과 아래 메시지에 대한 응답들이 죽 있는 것을 보았다. 아무리 뒤져봐도 별로 신통한 대답들이 없다. 아래 메시지들만 계속 나오고 더 이상 해결방책이 떠오르지 않는다. 그런데 아래와 같은 에러에 대한 문제해결에 대한 방법이 있을 것 같다고 확신이 섰던 것은


Mar 14 06:03:41 ns dovecot: Dovecot starting up
Mar 14 06:03:42 ns dovecot: Auth process died too early - shutting down
Mar 14 06:03:42 ns dovecot: child 20964 (auth) returned error 127
Mar 14 06:03:42 ns pop3-login: fd_send(-1) failed: Broken pipe


위 에러에 대한 하나의 답변이었다.


I'd guess this means the dovecot-auth binary is linked against a
different version of some library, eg. mysql. See what ldd says:

ldd /usr/lib/dovecot/dovecot-auth (or whereever dovecot-auth is) 지금 나 같은 경우는 페도라3 에서 dovecot 관련 파일이 위치되어 있는 곳은 /usr/libexec/dovecot/dovocot-auth 이다.


여기서 나의 추측이 발동하기 시작했다. dovecot 이 메시지 정보를 저장할때 특별히 imap 의 경우는 mysql과 관련이 있다는 것을 읽었던 기억이 되살아 났다.

난 보통 소스 기반으로 APM 을 설치하므로 아무래도 라이브러리 링크관련해서 발생하는 것 같다는 생각이 들어

#> up2date mysql-server
#> up2date mysql

로 업데이트 한 후 dovecot 을 다시 실행해 보았다.

[root@ns init.d]# /etc/init.d/dovecot restart
Stopping Dovecot Imap: [ OK ]
Starting Dovecot Imap: [ OK ]

후와 기분이 일단 상쾌해진다. 몇시간이고 헤메일 것 같은 서비스가 살아난다. 글구 미심쩍어 다시 한번 해보아도 역시 OK 메시지가 떨어진다. 결국 dovecot 서비스는 mysql 을 APM 소스 기반으로 설치했을 경우에 발생하는 문제이며 mysql 을 rpm 으로 설치해 주기만 하면 일단 문제가 해결되는 것을 알게 되었다.
=========================================================




그렇다 결론은 APM을 소스기반으로 설치하기 위해서

mysql 패키지를 rpm으로 제거햇을 경우에 관련 라이브러리가

사라졌기 때문이며 dovecot은 그 라이브러리를 찾으려고 백방 노력하기 때문이다.


이 문제를 해결하기 위해서 멀쩡히 잘 서비스하고 있는 소스기반 APM을 놔두고 굳이 mysql을 rpm으로 설치해줄 필요가 있을까 싶었다.


그래서 서버에서 직접 문제가 되는 라이브러리를 연결해 주기로 했다.


# ldd /usr/libexec/dovecot/dovocot-auth
libcrypt.so.1 => /lib/libcrypt.so.1 (0x0096e000)
        libcrypto.so.4 => /lib/libcrypto.so.4 (0x00426000)
        libpam.so.0 => /lib/libpam.so.0 (0x0016a000)
        libldap-2.2.so.7 => /usr/lib/libldap-2.2.so.7 (0x06309000)
        libpq.so.3 => /usr/lib/libpq.so.3 (0x00cbb000)
        libmysqlclient.so.14 => not found
        libdl.so.2 => /lib/libdl.so.2 (0x00ca3000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00b52000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0x00528000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0x0039c000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0x00397000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0x00403000)
        libresolv.so.2 => /lib/libresolv.so.2 (0x00de5000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00ca9000)
        libaudit.so.0 => /lib/libaudit.so.0 (0x00194000)
        liblber-2.2.so.7 => /usr/lib/liblber-2.2.so.7 (0x0095f000)
        libsasl2.so.2 => /usr/lib/libsasl2.so.2 (0x00949000)
        libssl.so.4 => /lib/libssl.so.4 (0x00555000)
        libnsl.so.1 => /lib/libnsl.so.1 (0x0099e000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00d9c000)
        /lib/ld-linux.so.2 (0x00b35000)

찾았다.  위에서 보면

        libmysqlclient.so.14 => not found

라고 분명히 찍혀있다.

이제 고 파일을 찾자.


rpm으로 깔던 소스로 깔던 똑같은 mysql이다.

/usr/local/mysql/lib 에서 쉽게 찾을수 있었다.



# cp /usr/local/mysql/lib/mysql/libmysqlclient.so.14 /usr/lib


으로 복사해주니

        libmysqlclient.so.14 => /usr/lib/libmysqlclient.so.14 (0x00111000)

라고 잘 찾아줬다.


이제 dovecot 을 실행해주면 무난하게 잘 된다.
번호 제목 글쓴이 날짜 조회 수
공지 [공지] 게시자료 열람자유. 불펌금지입니다. 조인상 2010.12.07 30767
» centOS 에서 dovecot POP3 사용하기 조인상 2010.05.12 15239
23 sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 조인상 2010.05.12 13170
22 centOS 4.2 설치시 한글깨짐 문제 조인상 2010.05.12 18468
21 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 조인상 2010.05.12 24525
20 삼바 세팅 및 사용법 [1] 조인상 2010.05.12 25132
19 LVM(Linux Volume Manager) 구축하기 조인상 2010.05.12 15329
18 리눅스에서 플로피 사용하기 조인상 2010.05.12 8949
17 리눅스에서 HBA카드의 WWN확인 방법 조인상 2010.05.12 54474
16 HBA카드의 WWNN과 WWPN에 대한 포럼 내용 조인상 2010.05.12 17513
15 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 file 조인상 2010.05.12 20213
14 리눅스 가상 IP 설정 조인상 2010.05.12 30761
13 2G이상 파일 tar 로 생성 / 분할생성(복사) 조인상 2010.05.12 12997
12 NFS 관련 명령어 및 파일들 조인상 2010.05.12 14450
11 내가 즐겨사용하는 프롬프트 변수(PS1) 설정치 조인상 2010.05.12 10352
10 터미널에서 한글을!! Unicon 소개/설치 조인상 2010.05.12 12369
9 mysql 4 버전 설치하기 조인상 2010.05.12 11670
8 APM 설치하기 조인상 2010.05.12 8062
7 새로운 디스크를 ext3로 파일시스템 생성하기 조인상 2010.05.12 8757
6 NAT환경에서 넷미팅 사용하기 조인상 2010.05.12 9540
5 리눅스 환경에서 Xmanager 사용법 조인상 2010.05.12 19184
서버에 요청 중입니다. 잠시만 기다려 주십시오...