서버 설정 · 3 min read · Jan 17, 2026

완벽한 서버 - 페도라 10 [ISPConfig 3] - 페이지 4

10 Courier-IMAP, Courier-Authlib 및 Maildrop 설치

불행히도 Courier-IMAP, Courier-Authlib 및 Maildrop에 대한 rpm 패키지가 없으므로, 우리는 직접 빌드해야 합니다.

RPM 패키지는 루트로 빌드해서는 안 됩니다. courier-imap은 컴파일이 루트 사용자로 실행되는 것을 감지하면 컴파일을 거부합니다. 따라서 이제 일반 사용자 계정(이 예에서는 compileuser)을 생성하고 비밀번호를 설정합니다:

useradd -m -s /bin/bash compileuser  
passwd compileuser

나중에 compileuser가 rpm 패키지를 컴파일하고 설치할 수 있도록 sudo 명령이 필요합니다. 하지만 먼저 compileuser가 sudo를 사용하여 모든 명령을 실행할 수 있도록 허용해야 합니다:

실행

visudo

열리는 파일에서 root ALL=(ALL) ALL이라는 줄이 있습니다. 그 줄 바로 아래에 compileuser에 대한 유사한 줄을 추가합니다:

| [...] root ALL=(ALL) ALL compileuser ALL=(ALL) ALL [...] |

이제 rpm 패키지를 빌드할 준비가 되었습니다. 먼저 compileuser 사용자로 전환합니다:

su compileuser

다음으로 빌드 환경을 생성합니다:

mkdir $HOME/rpm  
mkdir $HOME/rpm/SOURCES  
mkdir $HOME/rpm/SPECS  
mkdir $HOME/rpm/BUILD  
mkdir $HOME/rpm/BUILDROOT  
mkdir $HOME/rpm/SRPMS  
mkdir $HOME/rpm/RPMS  
mkdir $HOME/rpm/RPMS/i386
echo "%_topdir $HOME/rpm" >> $HOME/.rpmmacros

이제 http://www.courier-mta.org/download.php에서 소스 파일을 다운로드합니다:

mkdir $HOME/downloads  
cd $HOME/downloads

wget http://prdownloads.sourceforge.net/courier/courier-authlib-0.62.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/courier-imap-4.4.1.tar.bz2  
wget http://prdownloads.sourceforge.net/courier/maildrop-2.0.4.tar.bz2

이제 ($HOME/downloads에 있는 동안) courier-authlib를 빌드할 수 있습니다:

sudo rpmbuild -ta courier-authlib-0.62.1.tar.bz2

빌드 프로세스 후, rpm 패키지는 $HOME/rpm/RPMS/i386에 있습니다 ($HOME/rpm/RPMS/x86_64는 x86_64 시스템인 경우):

cd $HOME/rpm/RPMS/i386

명령

ls -l

은 사용 가능한 rpm 패키지를 보여줍니다:

[compileuser@server1 i386]$ ls -l
total 588
-rw-r–r– 1 root root 139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root 311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root   8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root root  34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
[compileuser@server1 i386]$

설치할 패키지를 선택하고 다음과 같이 설치합니다:

sudo rpm -ivh courier-authlib-0.62.1-1.fc10.i386.rpm courier-authlib-mysql-0.62.1-1.fc10.i386.rpm courier-authlib-devel-0.62.1-1.fc10.i386.rpm 

이제 $HOME/downloads 디렉토리로 돌아가서 다시 rpmbuild를 실행합니다. 이번에는 sudo 없이 실행해야 합니다. 그렇지 않으면 컴파일이 루트로 실행되었기 때문에 실패합니다:

cd $HOME/downloads  
rpmbuild -ta courier-imap-4.4.1.tar.bz2

빌드 프로세스 후, rpm 패키지는 $HOME/rpm/RPMS/i386에 있습니다 ($HOME/rpm/RPMS/x86_64는 x86_64 시스템인 경우):

cd $HOME/rpm/RPMS/i386

명령

ls -l

은 사용 가능한 rpm 패키지를 보여줍니다:

[compileuser@server1 i386]$ ls -l
total 1864
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
[compileuser@server1 i386]$

courier-imap을 다음과 같이 설치할 수 있습니다:

sudo rpm -ivh courier-imap-4.4.1-1.10.i386.rpm

이제 $HOME/downloads 디렉토리로 돌아가서 다시 rpmbuild를 실행하여 maildrop 패키지를 빌드합니다:

cd $HOME/downloads  
sudo rpmbuild -ta maildrop-2.0.4.tar.bz2

빌드 프로세스 후, rpm 패키지는 $HOME/rpm/RPMS/i386에 있습니다 ($HOME/rpm/RPMS/x86_64는 x86_64 시스템인 경우):

cd $HOME/rpm/RPMS/i386

명령

ls -l

은 사용 가능한 rpm 패키지를 보여줍니다:

[compileuser@server1 i386]$ ls -l
total 3076
-rw-r–r– 1 root        root        139439 2009-03-03 00:43 courier-authlib-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root        311720 2009-03-03 00:43 courier-authlib-debuginfo-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34714 2009-03-03 00:43 courier-authlib-devel-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         17779 2009-03-03 00:43 courier-authlib-ldap-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         14088 2009-03-03 00:43 courier-authlib-mysql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         13344 2009-03-03 00:43 courier-authlib-pgsql-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root          8144 2009-03-03 00:43 courier-authlib-pipe-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 root        root         34973 2009-03-03 00:43 courier-authlib-userdb-0.62.1-1.fc10.i386.rpm
-rw-r–r– 1 compileuser compileuser 397991 2009-03-03 00:52 courier-imap-4.4.1-1.10.i386.rpm
-rw-r–r– 1 compileuser compileuser 895065 2009-03-03 00:52 courier-imap-debuginfo-4.4.1-1.10.i386.rpm
-rw-r–r– 1 root        root        300664 2009-03-03 00:59 maildrop-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        723181 2009-03-03 00:59 maildrop-debuginfo-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root        132551 2009-03-03 00:59 maildrop-devel-2.0.4-1.10.i386.rpm
-rw-r–r– 1 root        root         58083 2009-03-03 00:59 maildrop-man-2.0.4-1.10.i386.rpm
[compileuser@server1 i386]$

이제 maildrop을 다음과 같이 설치할 수 있습니다:

sudo rpm -ivh maildrop-2.0.4-1.10.i386.rpm

필요한 모든 패키지를 컴파일하고 설치한 후, 다음을 입력하여 다시 루트가 될 수 있습니다:

exit

11 Postfix에 쿼터 패치 적용

Postfix 소스 rpm을 가져오고, 쿼터 패치로 패치한 후, 새로운 Postfix rpm 패키지를 빌드하고 설치해야 합니다.

cd /usr/src  
wget http://ftp-stud.fht-esslingen.de/pub/Mirrors/fedora/linux/releases/10/Fedora/source/SRPMS/postfix-2.5.5-1.fc10.src.rpm  
rpm -ivh postfix-2.5.5-1.fc10.src.rpm

마지막 명령은 무시할 수 있는 몇 가지 경고를 표시합니다:

경고: 사용자 mockbuild가 존재하지 않음 - 루트를 사용 중
경고: 그룹 mockbuild가 존재하지 않음 - 루트를 사용 중

cd /root/rpmbuild/SOURCES  
wget http://vda.sourceforge.net/VDA/postfix-2.5.5-vda-ng.patch.gz  
gunzip postfix-2.5.5-vda-ng.patch.gz  
cd /root/rpmbuild/SPECS/

이제 postfix.spec 파일을 편집해야 합니다:

vi postfix.spec

| [...] # Patches Patch0: postfix-2.5.5-vda-ng.patch Patch1: postfix-2.1.1-config.patch Patch3: postfix-alternatives.patch Patch6: postfix-2.1.1-obsolete.patch Patch7: postfix-2.1.5-aliases.patch Patch8: postfix-large-fs.patch Patch9: postfix-2.4.0-cyrus.patch Patch10: postfix-2.4.5-open_define.patch [...] %prep %setup -q # 필수 패치 적용 %patch0 -p1 -b .vda-ng %patch1 -p1 -b .config %patch3 -p1 -b .alternatives %patch6 -p1 -b .obsolete %patch7 -p1 -b .aliases %patch8 -p1 -b .large-fs %patch9 -p1 -b .cyrus %patch10 -p1 -b .open_define [...] |

그런 다음 쿼터 및 MySQL 지원이 포함된 새로운 Postfix rpm 패키지를 빌드합니다:

rpmbuild -ba postfix.spec

우리의 Postfix rpm 패키지는 /root/rpmbuild/RPMS/i386에 생성됩니다 (/root/rpmbuild/RPMS/x86_64는 x86_64 시스템인 경우), 따라서 그곳으로 이동합니다:

cd /root/rpmbuild/RPMS/i386

명령

ls -l

은 사용 가능한 패키지를 보여줍니다:

[root@server1 i386]# ls -l
total 11828
-rw-r–r– 1 root root 4006804 2009-03-03 01:06 postfix-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root 8027876 2009-03-03 01:06 postfix-debuginfo-2.5.5-1.fc10.i386.rpm
-rw-r–r– 1 root root   51904 2009-03-03 01:06 postfix-pflogsumm-2.5.5-1.fc10.i386.rpm
[root@server1 i386]#

Postfix 패키지를 선택하고 다음과 같이 설치합니다:

rpm -ivh postfix-2.5.5-1.fc10.i386.rpm

그런 다음 Sendmail을 끄고 Postfix, saslauthd 및 courier-authlib를 시작합니다:

chkconfig --levels 235 courier-authlib on  
/etc/init.d/courier-authlib start

chkconfig --levels 235 sendmail off  
chkconfig --levels 235 postfix on  
chkconfig --levels 235 saslauthd on  
/etc/init.d/sendmail stop  
/etc/init.d/postfix start  
/etc/init.d/saslauthd start

12 Courier 구성

이제 courier-imap의 시스템 시작 링크를 생성합니다:

chkconfig --levels 235 courier-imap on  
/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

courier-imap이 처음 시작될 때, 자동으로 /usr/lib/courier-imap/share/imapd.pem 및 /usr/lib/courier-imap/share/pop3d.pem 인증서 파일을 /usr/lib/courier-imap/etc/imapd.cnf 및 /usr/lib/courier-imap/etc/pop3d.cnf 파일에서 생성합니다. .cnf 파일에는 CN=localhost라는 줄이 포함되어 있지만, 우리의 서버 이름은 server1.example.com이므로, 인증서가 TLS 연결을 사용할 때 문제가 발생할 수 있습니다. 이를 해결하기 위해 두 인증서를 삭제합니다…

cd /usr/lib/courier-imap/share/  
rm -f imapd.pem  
rm -f pop3d.pem

… 그리고 /usr/lib/courier-imap/etc/imapd.cnf 및 /usr/lib/courier-imap/etc/pop3d.cnf의 CN=localhost 줄을 CN=server1.example.com으로 바꿉니다:

vi /usr/lib/courier-imap/etc/imapd.cnf

| [...] CN=server1.example.com [...] |

vi /usr/lib/courier-imap/etc/pop3d.cnf

| [...] CN=server1.example.com [...] |

그런 다음 두 인증서를 다시 생성합니다…

./mkimapdcert  
./mkpop3dcert

… 그리고 courier-authlib 및 courier-imap을 재시작합니다:

/etc/init.d/courier-authlib restart  
/etc/init.d/courier-imap restart

13 Getmail 설치

Getmail은 다음과 같이 설치할 수 있습니다:

yum install getmail
Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.