서버 운영중 발생하는 모든 정보, 문제들을 일일이 직접 확인하기란 매우 어렵다. 이럴때 서버 운영의 원활함을 위해 중요한 정보들을 메일을 통해 받게 되는데 이를 사용하기 위해서는 메일서버의 구축이 필요하다. 지금 설치하는 postfix는 다른 메일서버에 비해 비교적 설치가 쉽고 보안에 강해 요즘 많이 사용되는 추세이다. postfix설치 # sudo apt-get install postfixpostfix 환경설정# sudo dpkg-reconfigure postfixmain.cf 파일 수정# sudo vi /etc/postfix/main.cf
메일 수신 크기 설정 message_size_limit = 0
기타 설정 하단에 삽입 home_mailbox = Maildir/mailbox_command =smtpd_sasl_local_domain =smtpd_sasl_auth_enable = yessmtpd_sasl_security_options = noanonymousbroken_sasl_auth_clients = yessmtpd_sasl_authenticated_header = yessmtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destinationinet_interfaces = allsmtpd.conf 파일 수정 # sudo vi /etc/postfix/sasl/smtpd.conf
빈파일에 삽입 pwcheck_method: saslauthdmech_list:plain login
Next TLS 인크립션 인증을 위한 인증서 생성과정# touch smtpd.key# chmod 600 smtpd.key# openssl genrsa 1024 > smtpd.key# openssl req - new -key smtpd.key -x509 -days 2650 -out smtpd.crt# openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650# sudo mv smtpd.key /etc/ssl/private/# sudo mv smtpd.crt /etc/ssl/certs/# sudo mv cakey.pem /etc/ssl/private/# sudo mv cacert.pem /etc/ssl/certs/main.cf 파일 수정# sudo vi /etc/postfix/main.cf
하단에 삽입smtpd_tls_auth_only = nosmtp_use_tls = yessmtpd_use_tls = yessmtp_tls_note_starttls_offer = yessmtp_tls_key_file = /etc/ssl/private/smtpd.keysmtp_tls_cert_file = /etc/ssl/certs/smtpd.crtsmtpd_tls_CAfile = /etc/ssl/certs/cacert.pemsmtpd_tls_loglevel = 1smtpd_tls_received_header = yessmtpd_tls_session_cache_timeout = 3600stls_random_source = dev:/dev/urandompostfix 재시작# sudo /etc/init.d/postfix reloadsasl2 설치# sudo apt-get install libsasl2-2 libsasl2-modules sasl2-binsaslauthd 파일 수정# sudo vi /etc/default/saslauthd
START=yes PWDIR="/var/spool/postfix/var/run/saslauthd" // 추가PARAMS="-m ${PWDIR}"PIDFILE="${PWDIR}/saslauthd.pid"OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd" // 마지막줄 OPTIONS 수정
sasl 재시작# sudo dpkg-statoverride --add root sasl 710 /var/spool/postfix/var/run/saslauthd# sudo /etc/init.d/saslauthd start
courier IMAP POP3 설치# sudo apt-get install courier-pop# sudo apt-get install courier-imap
Maildir 설정# sudo maildirmake /etc/skel/Maildir# sudo maildirmake /etc/skel/Maildir/.Drafts# sudo maildirmake /etc/skel/Maildir/.Sent# sudo maildirmake /etc/skel/Maildir/.Trash# sudo maildirmake /etc/skel/Maildir/.Templates
사용자를 추가하고 메일폴더권한설정# sudo cp -r /etc/skel/Maildir /home/(사용자계정)/# sudo chown -R (유저이름):(유저가 속한 그룹) /home/(사용자계정)/Maildir# sudo chmod -R 700 /home/(사용자계정)/maildir
SMTP 테스트# telnet localhost 25ehlo 도메인.com mail from: root@도메인 rcpt to: 아이디@도메인 dataSubject: Subject test,. quit
메일이 정상적으로 도착했는지 확인# cd Maildir/new# ls
pop3 확인# telnet localhost pop3Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.+OK Hello there.user <user ID>+OK Password required.pass <user Password>+OK logged in.
imap 확인# telnet localhost imapTrying 127.0.0.1...Connected to localhost.Escape character is '^]'.* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION] Courier-IMAP ready. Copyright 1998-2005 Double Precision, Inc. See COPYING for distribution information.imap login <user ID> <user password>imap OK LOGIN Ok.