서버 설정 · 2 min read · Nov 26, 2025

Postfix, Courier, MySQL 및 SquirrelMail을 이용한 가상 사용자 및 도메인 설정 (Fedora 13 x86_64) - 페이지 3

9 Saslauthd 구성

/usr/lib64/sasl2/smtpd.conf (i386 시스템의 경우 /usr/lib/sasl2/smtpd.conf)를 편집합니다. 다음과 같이 보여야 합니다:

vi /usr/lib64/sasl2/smtpd.conf

| pwcheck_method: authdaemond log_level: 3 mech_list: PLAIN LOGIN authdaemond_path:/var/spool/authdaemon/socket |

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

chmod 755 /var/spool/authdaemon  
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

10 Courier 구성

이제 Courier가 MySQL 데이터베이스에 대해 인증해야 한다고 알려야 합니다. 먼저 /etc/authlib/authdaemonrc를 편집하고 authmodulelist의 값을 다음과 같이 변경합니다:

vi /etc/authlib/authdaemonrc

| [...] authmodulelist="authmysql" #authmodulelist="authuserdb authpam authpgsql authldap authmysql authcustom authpipe" [...] |

그런 다음 /etc/authlib/authmysqlrc를 편집합니다. 다음과 같이 정확히 보여야 합니다 (다시 말하지만, 올바른 데이터베이스 세부정보를 입력해야 합니다):

cp /etc/authlib/authmysqlrc /etc/authlib/authmysqlrc_orig  
cat /dev/null > /etc/authlib/authmysqlrc  
vi /etc/authlib/authmysqlrc

| MYSQL_SERVER localhost MYSQL_USERNAME mail_admin MYSQL_PASSWORD mail_admin_password MYSQL_PORT 0 MYSQL_DATABASE mail MYSQL_USER_TABLE users MYSQL_CRYPT_PWFIELD password #MYSQL_CLEAR_PWFIELD password MYSQL_UID_FIELD 5000 MYSQL_GID_FIELD 5000 MYSQL_LOGIN_FIELD email MYSQL_HOME_FIELD "/home/vmail" MYSQL_MAILDIR_FIELD CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') #MYSQL_NAME_FIELD MYSQL_QUOTA_FIELD quota |

그런 다음 Courier를 재시작합니다:

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

다음 명령을 실행하여

telnet localhost pop3

POP3 서버가 제대로 작동하는지 확인할 수 있습니다. +OK Hello there .를 반환해야 합니다 (Linux 셸로 돌아가려면 quit를 입력하십시오):

[root@server1 share]# telnet localhost pop3  
Trying ::1...  
Connected to localhost.  
Escape character is '^]'.  
+OK Hello there.  
quit  
+OK Better luck next time.  
Connection closed by foreign host.  
[root@server1 share]#

11 /etc/aliases 수정

이제 /etc/aliases를 열어야 합니다. postmaster가 root를 가리키고 root가 자신의 사용자 이름이나 이메일 주소를 가리키도록 하십시오. 예를 들어 다음과 같이:

vi /etc/aliases

| [...] postmaster: root root: [email protected] [...] |

또는 (관리자가 자신의 사용자 이름인 경우):

| [...] postmaster: root root: administrator [...] |

/etc/aliases를 수정할 때마다

newaliases

를 실행해야 하며, Postfix를 재시작해야 합니다:

/etc/init.d/postfix restart
Share: X/Twitter LinkedIn

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

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