Cyrus IMAP HOWTOAurora Skarra-Gallagher (Community Vision)v1.2, 5 September 2000옮긴이: 권태준 (linusben@kldp.org)옮긴날: 2000년 9월 7일Cyrus Imap 과 Cyrus Sasl 에 대한 설치, 설정, 실행 방법 소개 1. 이 문서에 대하여1.1 저작권(c) 2000 Aurora Skarra-Gallagher 이 부분은 HOWTO-HOWTO 에서 복사한 것입니다: 이 메뉴얼은 다음의 제약 아래 전체, 혹은 일부를 무료로 재사용할 수 있습니다:
1.2 피드백어떤 의견(특히 오류가 있다면 수정내용)이 있다면 다음 주소로 이메일을 보내주세요 asg@CommunityVision.com 1.3 변경 사항
1.4 문서 내의 표기
2. IMAP에 대한 소개2.1 IMAP 이 뭔가요?ComputerUser.com High-Tech Dictionary에 IMAP 은 다음과 같이 정의되어 있습니다: 인터넷 메시지 억세스 프로토콜(Internet Message Access Protocol). 사용자에게 리모트 서버에 있는 email 을 제공해 주는 프로토콜. IMAP을 통하여 사용자는 메일박스 만들기, 지우기, 이름 바꾸기 등의 기능을 수행할 수 있으며, 새로운 메시지 받기, 받음 메시지 지우기, 메일 검색 기능 등을 이용할 수 있음. 메일을 보내기 위해서는 독립적인 프로토콜이 필요함. 다른 이름으로 인터넷 메일 억세스 프로토콜(Internet Mail Access Protocol)이라고도 함. 2.2 IMAP vs. POPIMAP 은 서버 측에 매일이 보관되기 때문에 서로 다른 여러 곳에서 메일을 읽을 수 있습니다. POP는 새로 도착한 읽지 않은 편지만이 서버측에 저장되고 읽은 메일이나 저장한 메일 정보는 메일 클라이언트 측에 저장이 됩니다. POP 에서 읽은 메일을 서버에서 지우지 않도록 설정을 할 수도 있지만, 그럴 경우 똑같은 메일을 여러번 확인하게 되고 저장 공간을 낭비하게 됩니다. 하지만 IMAP 은 설정하기가 훨씬 복잡합니다. 만약 당신이 하나의 이메일 계정만을 가지고 있다면 POP 가 차라리 좋은 해결책이 될 것입니다. 만약 하나 이상의 메일 계정에 대해서 여러 군데에서 접근을 하고 싶다면 IMAP 이 보다 효율적으로 사용될 것입니다. 2.3 Cyrus IMAP vs. Washington IMAPCyrus IMAP은 독립적인 메일박스 데이터베이스를 가지고 있기 때문에 독립적으로 작동할 수 있으며 성능도 뛰어납니다. Washington IMAP 은 UNIX 표준 메일박스 형식을 사용하기 때문에 보다 적은 사용자 집단에 적합합니다. Washington IMAP 은 Cyrus IMAP 보다 많은 UNIX 시스템과 non-UNIX 시스템에 적용 가능하다는 장점도 있습니다. 가장 큰 차이점은 Cyrus IMAP 의 경우 새로운 메일 계정을 추가하면서 리눅스 머신에 새로운 사용자를 추가할 수 없지만 Washington IMAP 은 그러한 기능을 제공하고 있습니다. 3. 파일 구하기3.1 Cyrus Imap 홈페이지현재 Cyrus Imap 의 홈페이지는 다음과 같습니다: http://asg.web.cmu.edu/cyrus/imapd 3.2 파일 받기IMAP 과 SASL 이 모두 필요합니다. 최신 프로그램을 다음에서 구하실 수 있을 겁니다: ftp://ftp.andrew.cmu.edu/pub/cyrus-mail 다운받은 cyrus-imapd-X.X.X.tar.gz 과 cyrus-sasl-X.X.X.tar.gz 을 임시 디렉토리로 옮깁니다 (여기서 X.X.X 는 최신 버전을 의미합니다). 이 문서에서는 /temp 디렉토리에 파일들의 압축을 풀었다고 가정하겠습니다. 4. Cyrus SASL4.1 압축 풀기다음과 같은 방법으로 파일의 압축을 풉니다.
4.2 실행 파일 만들기대부분의 경우 다음과 같은 방법으로 프로그램을 쉽게 인스톨할 수 있을 것입니다. 만약
설정 내용을 바꾸고 싶다면
만약 기본적인 sasldb 를 이용한 사용자 인증을 사용하지 않으려면 PAM, kerberos_v4, passwd, shadow 가운데 사용할 방법을 지정해주어야 합니다. 만약 PAM 을 사용하여 인증을 처리하고자 한다면 위의 ./configure 를 다음과 같이 바꾸어 실행합니다:
5. Cyrus IMAP 설치5.1 압축 풀기다음과 같은 과정으로 cyrus IMAP 을 /temp 에다 풉니다.
5.2 com_err.h 에 대해서제가 Cyrus IMAP 을 설치하려고 할 때 com_err.h 에서 에러가 발생했습니다. 제가 설치할 때 com_err.h 파일이 /usr/include/et 밑에 있었습니다. 그렇다면 이 파일을 /usr/include으로 옮기십시오. 다음 명령으로 이 파일이 제대로 위치를 찾았는지 확인할 수 있습니다:
이 명령어는 파일이 어디에 위치하고 있는지를 보여줄 것입니다. 만약 /usr/include 밑에 있다면 다음 내용을 무시하셔도 됩니다. 만약 다른 디렉토리에 존재한다면 그냥 파일을 /usr/include로 복사하시기 바랍니다. 만약 이 파일이 없다면 다음 주소에서 새로 받아서 설치하시기 바랍니다: http://www.ludd.luth.se/~jnilsson/cvsweb/cvsweb.cgi/src/contrib/com_err. 5.3 설정하기
5.4 기본 사용자 추가Cyrus 는 파일들을 소유할 사용자를 필요로 합니다. 기본 사용자는 cyrus가 됩니다. 다음 명령을 통하여 "mail" 그룹에 속하는 사용자 cyrus 를 시스템에 추가할 수 있습니다.
이 사용자 아이디에 대해 비밀번호를 넣고자 한다면 다음과 같이 하면 됩니다.
5.5 실행파일 만들기
이제 끝났습니다. 이제 Cyrus IMAP 을 설정하기만 하면 됩니다. 6. Cyrus IMAP 설정6.1 conf 파일 편집하기
6.2 필요한 디렉토리들을 생성하기이들 작업은 imap 에서 사용할 디렉토리들을 설정하기 위한 것입니다.
이제 cyrus 라는 유저 상태가 되었을 것입니다. 이는 파일의 소유권 문제 때문에 필요한 과정입니다. 계속 작업을 진행합니다:
이제 다시 root 로 돌아왔습니다. 마지막으로 다음 명령을 실행합니다.
6.3 추가적인 설정 파일 편집
6.4 만약 sendmail 대신에 postfix 를 사용한다면?Postfix는 sendmail 과 같은 메일 전송 프로그램입니다. 대부분의 리눅스 머신에는 sendmail이 기본으로 설치되어 있습니다. 만약 여러분이 postfix 를 사용하신다면 위의 설정 단계 가운데 세번째 단계를 무시하고 다음 내용을 /etc/postfix/master.cf에 추가하시기 바랍니다.
cyrus unix - n n - - pipe flags=R user=cyrus
argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}
또한 다음 내용을 /etc/postfix/main.cf에도 추가합니다.
7. Cyrus IMAP 구현7.1 cyrus 관리자 추가다음 명령을 수행하여 cyrus 를 사용하기 위한 사용자를 세팅합니다
7.2 Cyrus IMAP 테스트하기
이제 비밀번호를 입력합니다. 만약 다음과 같은 화면이 보인다면 설정이 성공적으로 이루어진 것입니다:
(L01 OK User logged in means you're in)
다음 과정을 통하여 로그아웃합니다
. logout
7.3 일반 사용자 설정cyrus 의 권한으로 다음 명령을 실행합니다. 이 과정은 각각의 사용자들에 대해서 메일박스(es)를 설정하게 됩니다. (username) 부분에는 설정하고자 하는 사용자의 아이디를 입력합니다.
이제 루트 권한으로 각각의 사용자들의 비밀번호를 입력합니다:
7.4 배달 데이터베이스 정리만약 배달 데이터베이스를 정기적으로 정리해주지 않는다면, 파일 시스템이 넘치게 될 지도 모릅니다. 따라서 하루에 한 번 정도 cron 을 통해 이 작업을 해주는 것이 좋습니다. 우선 /etc/cron.daily 디렉토리에 cyrus-imapd 라는 이름의 파일을 만들고 다음과 같이 두 줄을 추가해줍니다:
#!/bin/bash su cyrus -s /bin/bash -c '/usr/cyrus/bin/deliver -E 3' 다음과 같이 하여 이 스크립트를 실행 가능하게 만듭니다:
또한 데이터베이스 파일들을 저장하기 위해서는 deliverdb 디렉토리를 만듭니다:
7.5 마무리시스템을 재부팅하고 새 설정이 제대로 실행되는지 확인합니다. 8. 문제 해결만약 사용시 어떤 문제가 생긴다면 다음과 같은 방법으로 에러를 확인할 수 있습니다:
|
It is better to wear out than to rust out. |











