우분투로 메일 서버 구축

Ubuntu로 메일 서버를 구축할 때의 순서입니다.
송신 서버로 Postfix를 사용하고 수신 서버로 dovecot을 사용합니다.

구축하기 전에 알아두는 것이 좋은 메일 지식



이메일을 보내려면 주소를 알아야 합니다.
이 이메일 주소는 다음과 같이 표현됩니다.
[email protected]

@ 앞의 "hogehoge"는 사용자 이름이며,
@ 뒤의 'gmail.com'은 서버의 인터넷상의 위치(도메인)가 됩니다.
지금부터 구축하려는 발신 서버에서 수신 서버로 메일을 보낼 때,
root@localhost

그렇다면 OK입니다. (루트 사용자의 사서함에 도착합니다.)

환경



OS: 우분투 14.04 LTS
Postfix: 2.11.0 (확인 명령:\$ postconf | grep mail_version)
Dovecot:2.2.9 (확인 명령:\$dovecot --version)

송신 서버 (Postfix) 구축



Postfix 설치


$ sudo apt-get install -y postfix

아래와 같은 화면이 나옵니다만, 「설정 없음」을 선택합니다.


설치 후 "main.cf"라는 설정 파일을/etc/postfix/디렉토리에 복사합니다.
$ sudo cp /usr/lib/postfix/main.cf /etc/postfix/main.cf

postfix 설정 편집


$ sudo vi /etc/postfix/main.cf

아래와 같이 편집합니다.
# 59行目:コメント解除
mail_owner = postfix
 
# 76行目:コメント解除しホスト名指定★
myhostname = mail.hogefuga.com
 
# 83行目:コメント解除しドメイン名指定
mydomain = hogefuga.com

# 104行目:コメント解除
myorigin = $mydomain

# 118行目:コメント解除
inet_interfaces = all

# 166行目:コメント解除
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 209行目:コメント解除
local_recipient_maps = unix:passwd.byname $alias_maps

# 268行目:自ネットワーク追記(ifconfigコマンドでeth0のinetアドレスが10.0.2.15だったので10.0.0.0/24を追記)
mynetworks = 127.0.0.0/8, 10.0.0.0/24

# 388行目:コメント解除
alias_maps = hash:/etc/aliases

# 399行目:コメント解除
alias_database = hash:/etc/aliases

# 421行目:コメント解除 ( Maildir形式へ移行 )
home_mailbox = Maildir/

# 557行目:コメントにしてその下に追記
#smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@)
smtpd_banner = $myhostname ESMTP

# 632行目:追記
sendmail_path = /usr/sbin/postfix

# 637行目:追記
newaliases_path = /usr/bin/newaliases

# 642行目:追記
mailq_path = /usr/bin/mailq

# 648行目:追記
setgid_group = postdrop

# 652行目:コメント化
#html_directory =

# 656行目:コメント化
#manpage_directory =

# 661行目:コメント化
#sample_directory =

# 665行目:コメント化
#readme_directory =

# 最終行へ追記:送受信メールサイズを10Mに制限
message_size_limit = 10485760
# メールボックスサイズを1Gに制限
mailbox_size_limit = 1073741824

# 以下SMTP-Auth用
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

메일 별칭 데이터베이스를 다시 작성하기 위해 쓰기 명령을 실행합니다.
$ newaliases

postfix 재부팅



설정을 반영하기 위해 postfix를 다시 시작합니다.
$ sudo /etc/init.d/postfix restart

전송 테스트



postfix가 성공적으로 구축되었는지 확인하기 위해 테스트 메일을 보냅니다.
그리고 그 전에 mail 명령을 사용할 수 있도록 "mailutils"를 설치하십시오.
$ sudo apt-get install mailutils

이메일을 보냅니다.
※메일을 송신하려면, 개행 후 「.」를 입력하고 [Enter]를 누릅니다.
# mail [email protected]
Cc:
Subject: test
hogehogefugafuga
.

결과는 아래와 같이 Gmail로 전송됩니다.


수신 서버(dovecot) 구축



Dovecot 설치


$ sudo apt-get install dovecot-common dovecot-imapd dovecot-pop3d

다음과 같이 자체 SSL 인증서를 만들 것인지 묻습니다.
필요한 경우 나중에 만들 수 있으므로 "아니오"를 선택합니다.



Dovecot 설정 편집



■ /etc/dovecot/dovecot.conf 변경


$ sudo vi /etc/dovecot/dovecot.conf

# 30行目:変更 ( IPv6をリスンしない場合 )
listen = *

■ /etc/dovecot/conf.d/10-auth.conf 변경


$ sudo vi /etc/dovecot/conf.d/10-auth.conf

# 10行目:コメント解除し変更(プレーンテキスト認証も許可する)
disable_plaintext_auth = no

# 100行目:追記
auth_mechanisms = plain login

■ /etc/dovecot/conf.d/10-mail.conf 변경


$ sudo vi /etc/dovecot/conf.d/10-mail.conf

# 30行目:Maildir形式に変更
mail_location = maildir:~/Maildir

■ /etc/dovecot/conf.d/10-master.conf 변경


$ sudo vi /etc/dovecot/conf.d/10-master.conf

# 96-98行目:コメント解除し追記
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
}

■ /etc/dovecot/conf.d/10-ssl.conf 변경


$ sudo vi /etc/dovecot/conf.d/10-ssl.conf

# 6行目:コメント解除して変更(SSLなし)
ssl = no

# 12,13行目:コメントにする
#ssl_cert = </etc/dovecot/dovecot.pem
#ssl_key = </etc/dovecot/private/dovecot.pem

■ Dovecot 시작


$ sudo initctl start dovecot

수신 테스트



수신 서버가 올바르게 작동하는지 확인합니다.
보내기 테스트와 마찬가지로 메일 명령을 사용하여 메일을 보냅니다.
다만, 이 때의 수신처(@이후)를 「localhost」로 합니다.
# mail root@localhost
Cc:
Subject: test
hogehogefugafuga
.

위 실행 후 @ 이전을 루트로 했으므로,
/root/Maildir 디렉토리가 만들어졌으므로,
확인하고보세요. (아래와 같이되면 수신 테스트 OK)
# ll /root/Maildir/
合計 20
drwx------  5 root root 4096  3月 16 10:39 ./
drwx------ 10 root root 4096  3月 16 10:39 ../
drwx------  2 root root 4096  3月 16 10:39 cur/
drwx------  2 root root 4096  3月 16 10:39 new/
drwx------  2 root root 4096  3月 16 10:39 tmp/


인트라넷 외부에서 수신을 원할 경우



메일의 송신에 관해서는, 인트라넷 밖에 송신할 수 있습니다만,
수신에 대해서는 방화벽이나 라우터(모뎀 포함)의 설정이 필요합니다.

받기 위해 필요한 것



■ 도메인 or 글로벌 IP 주소



인터넷상의 주소.
※@ 다음은 도메인뿐만 아니라 글로벌 IP 주소에서도 가능합니다.

고정 IP 및 도메인 등록과 같은 작업이 필요합니다.
도메인 취득에 관해서는
h tp : // 쿠이타. 코 m / 미즈키 _ 타카 하시 / ms / b0c5 아데 베아 48b9f2f7 아 6
도움이 될 것 같아요.

■ 포트 해제



메일의 송수신에 사용하는 포트는 아래와 같습니다.


송수신
포트 번호
용도


전송
25
smtp

전송
465
smtp(SSL)

전송
587
Submission 포트

수신
110
POP

수신
995
POP(SSL)

수신
143
IMAP

수신
993
IMAP(SSL)


다만, 상기 포트를 개방하는 순서는,
모뎀이나 라우터의 기종에 의해서 설정 방법이 마을 거리이므로, 아래를 참고로 해 보세요.
htp //27 t. 코 m/촛불 r. HTML

이상입니다.

좋은 웹페이지 즐겨찾기