serversman@vpsでメールサーバー構築(未完)
12月が、2014年が終わっちゃうよ。何やってたんだよ私。
どうも、がじでございます。
今更ながら、自前メールアドレスが欲しくなったので、ServersMan@vpsでメールサーバーを構築してみました。若干残念な結果になりましたがその結果報告です。
参考にしたのはてもぐさんのページ
ServersMan@VPS でメール運用
私はお名前.comでドメインを取得したのでお名前.comのDNSサーバーにMXレコードを登録しておきます。
下記手順はほぼてもぐさんのサイトの通りなので省略
証明書の準備
SASLのインストール
SASLの設定
Postfixのインストール
yum install postfix
インストールが終わったら設定ファイルの編集。
vi /etc/postfix/main.cf
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = mail.seigaji.info ← 追加#mydomain = domain.tld
mydomain = seigaji.info ← 追加(自ドメイン名を指定)#myorigin = $myhostname
myorigin = $mydomain ← コメントアウト解除inet_interfaces = all ← コメントアウト解除
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
#inet_interfaces = localhost ← コメントアウト
inet_protocols = ipv4 ← 今回ipv4でのみ許可するので確認しておく#mydestination = $myhostname, localhost.$mydomain, localhost ← コメントアウト
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← コメントアウト解除
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,#home_mailbox = Mailbox
home_mailbox = Maildir/ ← コメントアウト解除#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP MyMTA(0.1) ← 追加(セキュリティ対策)
# 最終行に以下を追記
# smtp auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
# 受信メールサイズ制限(10M)
message_size_limit = 10485760
# ssl setting
smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.pem
smtpd_tls_key_file = /etc/pki/tls/certs/server.key
smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_schache
以下の行をコメントアウト
vi /etc/postfix/master.cf
smtps inet n – n – – smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
tlsmgr unix – – n 1000? 1 tlsmgr
デフォルトで立ち上がっているsendmail停止と自動起動解除
/etc/init.d/sendmail stop
chkconfig sendmail off
MTAの切り替え
alternatives –config mta
There are 2 programs which provide ‘mta’.
Selection Command
———————————————–
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfixEnter to keep the current selection[+], or type selection number:
2
# ↑のように表示されたら 2 を入力してEnter
Postfixの起動と自動起動設定
service postfix start
chkconfig postfix on
ここまでは完全にてもぐさんの手順通りですが、ThunderBirdの仕様が微妙に変わってたり、私の環境でうまく動かなかったりで確認できなかったのでDovecotの導入作業に先に入ります。
メール保存場所の作成
cd
mkdir -p Maildir/{new,cur,tmp}
chmod -R 700 Maildir/
私知らなかったのですが、今は各個人の$HomeにMaildir/{new,cur,tmp}形式で保存するのが普通みたいですね。
新規ユーザ作成時に自動でメール保存場所作成
mkdir -p /etc/skel/Maildir/{new,cur,tmp}
chmod -R 700 /etc/skel/Maildir/
Dovecotのインストール
yum install dovecot
設定
vi /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
mail_location = maildir:~/Maildir
今のDovecotのバージョンでは/etc/dovecot/conf.d配下に目的別の*.confファイルを配置するようです。
SSLの設定
vi /etc/dovecot/conf.d/10-ssl.conf
#コメントアウトを解除↓
ssl_disable = no# コメントアウト解除 + 証明書のパス設定
ssl_cert_file = /etc/pki/tls/certs/server.pem
ssl_key_file = /etc/pki/tls/certs/server.key
Dovecot 起動と自動起動設定
service dovecot start
chkconfig dovecot on
ThunderBirdで動作確認
ThunderBirdでアカウント設定→アカウント操作→追加します。
完了を押してもエラーで完了しないので詳細設定に入ります。
メールクライアントから認識できないのでIptablesの設定とか間違っているのかな?と思いましたが、ちゃんと必要なポートは開けていました。
IMAPの143,994
SMTPの465,995
とかですね。
この状態でThunderbitdからメールを強引に送ってみると一応送れている模様。Terminalで接続してみるとちゃんとメールのやり取りができている模様。
多分送受信はできているんですが、クライアント認証の設定で問題が出ている模様。うーん困った。
ただメールのやり取り自体はできているのでGMailの力を借りればいいんじゃね?と思いました。
メール転送の設定。
vi /etc/aliases
ユーザ名: 転送先メールアドレス
これで転送先メールアドレスにGmailを設定。Thunderbirdで送信はできていたのでGmailのアカウントインポートで今回作った送信用設定を追加。
要はGmailから自前メールサーバーを指定してメール送信。
受信したメールはGmailに転送される。
ということですね。
なんかいろいろ誤魔化していますが、何とか自分のドメインメールが使えるようになりました。
多分、dovecotの認証設定か、IMAPの設定にミスかぬけがあると思うのですが、今回はここまで。後で調査しますが、なんせ止めちゃいけないサーバー上で作業しているので難しいですね。
不完全燃焼ですみません。
—以下広告—