홈서버의 꽃이라면 대부분이 apache2+mysql+php 등을 이용한 웹서버/블로그 구축을 꼽겠지만 내게 가장 큰 관심사는 메일서버 구축이었다. 대형 포탈사이트의 도메인인 hanmail.net 이나 gmail.com 등을 떼어버린 나만의 메일주소!! 그대 가슴이 뛰지 않는가?
참고로 쥔장은 현재 이 도메인을 홈서버에 연결하여 blog@justin.kr 이라는 개인 이메일을 사용하고있다. 안정성을 따진다면 대형 포탈사이트의 그것을 따라갈리 만무하겠지만 어떤가? 처음 홈서버에 내 메일계정을 성공적으로 구축했던 그 순간은 인류가 최초로 달에 착륙했을 때 이상 흥분되는 순간이었다.
처음 Postfix를 이용하여 메일서버를 만드려고 할때 인터넷의 HOW-TO 를 참조하였지만, 곧 수많은 에러를 만날 수 있었다. 그래서 그때 참고한 문서들을 바탕으로 나의 상황에 맞춘 최소한의 설명과 절차만을 기록한다. 각 명령문의 의미와 상세한 설명은 생략하며 다른 문서들을 참고하여 공부하기 바란다.
즉, 메일서버의 구축은 아래의 순서를 차근히 따라가기만 하면 가능하다.
0. 시작하는 말
본 과정에서는 Postfix라는 메일서버 프로그램을 이용해 가장 간단한 메일서버를 구축하도록 한다. 이를 위해서 기본적으로 콘솔에 들어가 vim 이라는 편집기를 간단하게나마 사용할 수 있으며, 압축을 풀고 복사하는 최소한의 개념을 알고있다고 가정한다.
지금 설치하게 될 Postfix의 메일함은 Maildir 형식을 따르고 있으며 이것이 무엇인지 모른다면 그냥 무시하고 넘어간다. 이 글은 홈서버를 통해, 사용자가 Outlook 이나 Thunderbird 등의 메일 클라이언트로 외부에서 메일을 보내고 받는 기능을 사용할 수 있도록 하는것에 목적을 둔다.
또한 아래의 순서는 쥔장 편의에 의해 뒤죽박죽일 수 있다. 설치가 제대로 되었는지 확인하는 일련의 과정도 생략되었다. Postfix 설치에 대해 잘 알고 있는 사람이 본다면 오리려 혼란이 올 수 있으므로 참고만하자.
준비사항:
(1) 인터넷 제공 업체에서 관련포트 (25,110,143번) 를 블록하지 않은 공인아이피
(2) 공인아이피가 연결된 서버를 가리키는 도메인 (DDNS 가능)위 (1)번에 해당하지 않을 경우 VPN 접속을 이용하는 것도 하나의 방법임 (쥔장의 방법)
1. 먼저 관련 프로그램을 설치하도록 한다. (ROOT 계정으로 실행)
#su
(root 비밀번호 입력)#apt-get -y install postfix
#dpkg-reconfigure postfix
#apt-get -y install libsasl2-2 libsasl2-modules sasl2-bin
#apt-get -y install courier-pop
#apt-get -y install courier-imap
2. 아직 메일함이 없으므로 아래 순서에 따라 만들어주자.
#maildirmake ~/Maildir
#maildirmake /etc/skel/Maildir
#maildirmake /etc/skel/Maildir/.Drafts
#maildirmake /etc/skel/Maildir/.Sent
#maildirmake /etc/skel/Maildir/.Trash
#maildirmake /etc/skel/Maildir/.Templates
(위에서 우린 루트의 메일함과 앞으로 adduser 명령어에 의해 생성될 사용자들이 기본적으로 메일함을 가지고 생성되도록 해주었다. 그러나 아직 기존에 있던 유저 -루트를 제외한 설치시에 만든 관리자계정- 에게는 메일폴더가 없다. 그러므로 아래의 절차에 따라서 수동으로 직접 생성해준다.)
#cp -r /etc/skel/Maildir /home/유저명/
#chown -R 유저명:유저명 /home/유저명/Maildir
#chmod -R 700 /home/유저명/Maildir
3. 설정파일/인증서 복사와 수정
원래는 이 과정이 조금 더 복잡할 수도 있으나, 쥔장과 같은 환경에서의 메일서버 설치라는 가정하에 이미 완료된 설정파일을 이곳에 올려놓는다. 설정파일을 덮어씌우므로 위 과정의 일부는 쥔장과 같은 환경으로 리셋된다. 미심쩍은 사람은 본 포스트의 가장 아랫부분을 보면 참고사이트가 있으니 링크를 따라가서 직접 해봐도 상관없다. -오히려 본인의 경험이 된다는 점에서 강력히 추천한다- 파일의 복사는 다운로드된 파일의 압축을 풀고 파일이 위치한 폴더 안에 있다고 가정한다.
다운로드 : postfixsetting.zip (3.16 kB) (download hits: 125)
#vim main.cf
(압축을 풀고 나오는 파일 세개 중 main.cf 파일만 약간 손보면 된다. 파일을 편집기로 열고myhostname, mydestination 두가지 항목만 본인에 맞게 편집해준다.)#cp main.cf /etc/postfix/
#cp smtpd.conf /etc/postfix/sasl/
#cp saslauthd /etc/default/
(인증서 생성 및 복사 – 무엇인지 몰라도 상관없으나 위 설정파일을 사용했을 경우 반드시 필요하다)
#touch smtpd.key
#chmod 600 smtpd.key
#openssl genrsa 1024 > smtpd.key
#openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt
#openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650
#mv smtpd.key /etc/ssl/private/
#mv smtpd.crt /etc/ssl/certs/
#mv cakey.pem /etc/ssl/private/
#mv cacert.pem /etc/ssl/certs/
#dpkg-statoverride –force –update –add root sasl 755 /var/spool/postfix/var/run/saslauthd
(이 명령문은 오류가 발생하지만 신경 쓰지 말고 한번 반드시 입력해준다.)
4. 설치완료 (메일서버 재시작)
#/etc/init.d/postfix reload
#/etc/init.d/saslauthd start
5. 참고사이트
https://help.ubuntu.com/community/PostfixBasicSetupHowto
https://help.ubuntu.com/community/Postfix
'Linux' 카테고리의 다른 글
[ubuntu] Nginx 설치 (0) | 2013.07.09 |
---|---|
ubuntu에서 모듈 컴파일, 커널 컴파일을 위한 준비 (0) | 2012.12.26 |
Git Sever 설정 (0) | 2012.12.14 |
Redmine + Git (1) | 2012.12.11 |
XtraBackup을 이용한 mysql 백업하기 (ubuntu) (0) | 2012.12.10 |