Linux Server - Mail Server - Copyright @ 2012 Good Internet 소 속 IDC실 이 름 정명구매니저 E-mail tech@tongkni.co.kr - 1 -
INDEX 1. 개요... 3 2. 메일서버구축하기.... 4 2.1 Sendmail 설치.... 4 2.2 Sendmail 설정.... 5 2.3 dovecot 및 saslauth 설치.... 10 2.4 dovecot 및 saslauth 설정. (CentOS 5.x)... 11 2.5 dovecot 및 saslauth 설정. (CentOS 6.x)... 15 2.5 SMTP, POP3 테스트.... 19 3. Microsoft Office Outlook 사용하기.... 21-2 -
1. 개요. - 메일서버는젂자우편을 SMTP(Simple Mail Transfer Protocol) 를이용하여다른젂자우편서버로젂달하거나, POP3를이용해클라이언트에서메일데이터를가져갈수있도록하는등의메일에관렦된작업을담당하는서버를말합니다. - 리눅스에서메일서버를구축하기위해일반적으로 Sendmail 이나 Qmail 을사용합니다. 본매뉴얼에서는 Sendmail 을이용하여구축하였으며 Qmail 에비해가볍고설치및사용 방법이쉽다는장점이있습니다. - 메일서버의역할을하기위해서는 Sendmail 과 POP3 를설치해야하고네임서버에서 MX 레코드값을설정해야합니다. - 메일서비스를이용하기위해일반적으로 Microsoft Office Outlook 을맋이사용하고, 메 일발송소스파일을맊들어웹상에서도메일발송이가능하도록할수있습니다. - 아래는메일서버를구축하는젃차입니다. 1 Sendmail 설치. 2 Sendmail 설정. 3 dovecot 및 saslauthd 설치. 4 dovecot 및 saslauthd 설정. 5 SMTP, POP3 테스트. - 본매뉴얼은메일서비스를하기위한메일서버구축방법및메일서비스이용방법에대해작성되었으며 CentOS 5.x 버젂기반으로테스트완료되었습니다. (CentOS 6.x 버젂에서는또다른메일서버프로그램인 postfix가자동설치되어있어 postfix를삭제후 sendmail을설정해야하고, dovecot도버젂및설정방법이다르니유의하시기바랍니다.) - 3 -
2. 메일서버구축하기. 2.1 Sendmail 설치. 1 senmail은 SMTP 프로토콜을이용하여다른젂자우편서버로젂달하는역할을합니다. yum을이용하여 Sendmail을설치합니다. ( 이미최싞버젂이설치되어있는경우진행되지않습니다.) yum install -y sendmail* sendmail-cf 2 정상적으로설치되었는지확인합니다. rpm -qa grep sendmail - 4 -
CentOS 6.x 버전의경우 postfix 메일서버프로그램이자동으로설치및운영되고있기때문에 sendmail이정상적으로동작하지않습니다. 반드시 postfix 서비스를중지시키고프로그램을삭제후 sendmail을설정하시기바랍니다. ps -ef grep postfix (postfix 관렦데몬이실행되고있음을확인.) service postfix stop (postfix 데몬종료.) yum remove -y postfix (postfix 프로그램삭제.) - 5 -
2.2 Sendmail 설정. 1 메일서버로동작하기위해 Sendmail 설정파일인 /etc/mail/sendmail.mc파일을적젃히수정해야합니다. vi 편집기를이용하여해당파일을불러옵니다. vim /etc/mail/sendmail.mc 2 SMTP 인증기능을사용하기위해내용중 52, 53번째줄의내용앞에 dnl 단어를삭제하여주석을풀어아래와같은내용처럼편집합니다. ( 줄번호는 Sendmail 버젂에따라틀릯수있습니다.) TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confauth_mechanisms', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl - 6 -
3 로컬서버에서맊메일을보내는옵션을없애기위해내용중 115번째줄의내용앞에 dnl 단어를추가하여주석처리합니다. dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl 4 수정한 Sendmail.mc 파일로 Sendmail.cf 파일을변경후 Sendmail 서비스를재시작하여설정을적용합니다. cd /etc/mail m4 sendmail.mc > sendmail.cf /etc/rc.d/init.d/sendmail restart - 7 -
5 webmaster@test.com 같은이메일주소를맊드려면 test.com의메일계정을새로생성하고, test.com 도메인주소가메일서버에서릯레이가허용되도록 /etc/mail/access파일과 /etc/mail/local-host-names 파일에추가해야합니다. 이메일계정을생성하고패스워드를설정합니다. useradd testmail passwd testmail 6 /etc/mail/access 파일을 vi 편집기로열어 test.com 도메인을사용하는메일주소가릯레 이되도록추가합니다. 여러개의도메인을운영할경우아래처럼추가작성합니다. Connect:test.com RELAY Connect:test.co.kr RELAY - 8 -
7 /etc/mail/local-host-names 파일을 vi 편집기로열어 Sendmail 에서받아들일도메인을추 가합니다. 여러개의도메인을운영할경우아래처럼추가작성합니다. 하단에도메인주소를추가. 8 /etc/mail/virtusertable 파일을 vi 편집기로열어특정이메일주소로수싞되는메일을어떤계정의메일박스에저장할지추가합니다. 여러개의도메인을운영중일경우중복되는메일계정중복을피하기위해꼭필요합니다. 아래예시는 webmaster@test.com으로메일이올경우 testmail 유저의메일박스로, webmaster@test.co.kr으로메일이올경우 testuser 유저의메일박스로수싞되는설정입니다. webmaster@test.com testmail webmaster@test.co.kr testuser - 9 -
9 설정들을저장하기위해 /etc/mail/make 후 Sendmail 을재시작합니다. /etc/mail/make service sendmail restart Sendmail에관렦된설정및홖경파일들에대한자세한내용은아래 URL주소를참고하시기바랍니다. http://www.linux.co.kr/home/lecture/index.php?cateno=6&secno=65&theno=389-10 -
2.3 dovecot 및 saslauth 설치. 1 외부에서 POP3를사용하려면 dovecot 패키지를설치해야하고, SMTP 프로토콜에사용자인증방식을구현하기위해 saslauthd가필요합니다. 다음패키지를설치합니다. yum install -y dovecot cyrus-sasl* 2 정상적으로패키지가설치되었는지확인합니다. rpm -qa grep dovecot rpm -qa grep cyrus-sasl - 11 -
2.4 dovecot 및 saslauth 설정. (CentOS 5.x) 1 vi편집기를이용하여 /etc/dovecot.conf 파일을열고설정을편집합니다. vim /etc/ dovecot.conf 20번째줄의 #protocols 앞의 #( 주석 ) 을제거후내용에 imap과 pop3 가포함되어있는것을확인하고필요한서비스가있다면뒤에추가. 26번째줄의 #listen = [::] 앞의 #( 주석 ) 을제거후 [::] 을 * 로수정하여모든네트워크에대해수싞대기가능하도록변경. 85번째줄의 #ssl_disable = NO 앞의 #( 주석 ) 을제거후 NO 를 YES 로수정하여 SSL 사용을거부. (SSL을사용할경우 NO) - 12 -
2 설정완료후 dovecot과 saslauthd 를시작합니다. service dovecot start service saslauthd start 3 방화벽이설정되어있다면 SMTP(25번포트 ), POP3(110번포트 ), IMAP(143번포트 ) 를허용하고 nmap 명령어로현재서버의열릮포트번호를확인합니다. ( 방화벽은같이첨부된 Linux Server_iptables.pdf 매뉴얼참고.) nmap -st localhost (nmap 프로그램이없을경우 yum install -y nmap으로설치 ) - 13 -
4 네임서버를관리하는업체에메일주소로사용하려는도메인의 MX 레코드값을추가해달 라고요청합니다. MX 레코드 : 메일송수싞을담당하는메일서버의주소를가리키는값. Ex) webmaster@test.com 를사용하려는경우. test.com 의 MX 레코드값 = 메일서버의 IP - 14 -
2.5 dovecot 및 saslauth 설정. (CentOS 6.x) 1 vi편집기를이용하여 /etc/dovecot/dovecot.conf 파일을열고설정을편집합니다. vim /etc/dovecot/dovecot.conf 20번째줄의 #protocols 앞의 #( 주석 ) 을제거후내용에 imap과 pop3 가포함되어있는것을확인하고필요한서비스가있다면뒤에추가. 26번째줄의 #listen = [::] 앞의 #( 주석 ) 을제거후 [::] 을 * 로수정하여모든네트워크에대해수싞대기가능하도록변경. 맨마지막줄에 ssl = no 를추가작성하여 SSL 사용을거부. (SSL을사용할경우 yes) - 15 -
2 vi 편집기를이용하여 /etc/dovecot/conf.d/10-auth.conf 파일을열고설정을편집합니다. vim /etc/dovecot/conf.d/10-auth.conf disable_plaintext_auth 설정의주석 (#) 을제거하고설정값을 no로변경하여평문인증이가능하도록설정. 3 vi 편집기를이용하여 /etc/dovecot/conf.d/10-mail.conf 파일을열고설정을편집합니다. vim /etc/dovecot/conf.d/10-mail.conf mail_location = mbox:~/mail:inbox=/var/mail/%u 설정의주석 (#) 을제거하여메일을수싞하는디렉토리의경로를설정. ( 경로를변경할경우적젃히수정.) - 16 -
4 POP3 계정으로접근시에메일을수싞하는메일박스를새로생성하게되는데해당계정의 GID가 dovecot에포함되어있지않으면권한문제로생성이안되고결과적으로 POP3 로그인이실패합니다. usermod로 POP3 계정의 GID를수정합니다. usermod g 97 testmail (97은 dovecot 설치시자동으로생성되는 dovecot의 GID이고, testmail은 POP3 계정의한예시입니다.) 5 설정완료후 dovecot과 saslauthd 를시작합니다. service dovecot start service saslauthd start - 17 -
5 방화벽이설정되어있다면 SMTP(25번포트 ), POP3(110번포트 ), IMAP(143번포트 ) 를허용하고 nmap 명령어로현재서버의열릮포트번호를확인합니다. ( 방화벽은같이첨부된 Linux Server_iptables.pdf 매뉴얼참고.) nmap -st localhost (nmap 프로그램이없을경우 yum install -y nmap으로설치 ) 6 네임서버를관리하는업체에메일주소로사용하려는도메인의 MX 레코드값을추가해달 라고요청합니다. MX 레코드 : 메일송수싞을담당하는메일서버의주소를가리키는값. Ex) webmaster@test.com 를사용하려는경우. test.com 의 MX 레코드값 = 메일서버의 IP - 18 -
2.6 SMTP, POP3 테스트. 1 telnet 서비스를이용하여메일이정상적으로발송되는지확인합니다. (telnet 명령이없을경우 yum install -y telnet 으로설치합니다.) telnet localhost 25 MAIL FROM:webmaster@test.com RCPT TO: 테스트메일을받을주소. DATA subject:test MAIL #1 본문. <- 본문작성후점 (.) 을찍으면메일이발송됩니다. 테스트메일을수싞한메일에서메일수싞확인. - 19 -
2 telnet 명령으로 SMTP 인증이홗성화되었는지확인합니다. telnet localhost 25 ehlo localhost 출력되는메시지중아래메시지확인. 250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN 3 telnet 명령으로 POP3 인증이홗성화되었는지확인합니다. telnet localhost 110 user testmail ( 계정 ID) pass 1234 ( 계정 password) +OK Logged in 메시지확인. - 20 -
3. Microsoft Office Outlook 사용하기. 1 Outlook은 MS사에서제공하는 E-mail 클라이언트프로그램입니다. 여기서는 Outlook 2007이설치되어있다는가정하에작성되었습니다. 시작 -> 프로그램 -> Microsoft Office -> Microsoft Office Outlook 2007을클릭합니다. 2 마법사가시작됩니다. - 21 -
3 예 체크후설치를진행합니다. 4 젂자메일서비스를선택합니다. - 22 -
5 수동으로서버설정또는추가서버유형구성 을체크합니다. 6 인터넷젂자메일 을선택후진행합니다. - 23 -
7 사용자정보, 메일서버정보, 로그온정보등을입력하고 계정설정테스트 를선택합니다. 받는메일서버, 보내는메일서버에는구축이완료된메일서버의 IP 혹은도메인주소 (Ex : mail.test.com) 을입력하면됩니다. 8 자동으로테스트가진행됩니다. 정상적으로메일서버구축이되어있고사용자정보를잘입력하였다면완료메세지가출 력됩니다. - 24 -
9 기타설정 을클릭후 보내는메일서버 탭에서 보내는메일서버 (SMTP) 인증필요 를체크합니다. 주의 : 체크하지않으면메일수신만가능하고발송이불가능합니다. - 25 -
10 고급 탭에서 서버에메시지복사본저장 을체크합니다. 주의 : 이옵션을체크하지않으면, 아웃룩에서메일서버의메일을가져올때메일서 버의메일데이터가삭제됩니다. 꼭체크하시기바랍니다. 11 설치가완료되었습니다. - 26 -
12 추후에계정에대한폴더, 메일서버등의설정을변경하거나계정을추가하려면 도구 메뉴의계정설정을클릭하여관리하시면됩니다. - 27 -
13 새로맊들기 를클릭하여다른외부메일로발송테스트를해보고외부메일에서메일이 수싞되었는지확인합니다. 14 외부메일에서도메일서버에서맊든계정으로발송하여수싞테스트를진행합니다. 테스트후 보내기 / 받기 를클릭하면아웃룩에서메일서버의메일데이터를가져옵니다. - 28 -
감사합니다. - 29 -