新しいConoHaでメールサーバを立ち上げる
1,VPSサービスを登録する
ConoHaのサービスは、CentOS 6.6 64bit
SSHキーを使用
とします。
接続許可ポート IPv4
全てのチェックを外し
SSH,メール(25/110/143/465/587/993/995)
にチェックを入れる
ネームタグに分かりやすい文言を入れ
作成する
2,SSHで接続を確認する
ssh -i /home/xxxx/key-2015-0x-xx-0x-xx.pem root@xxx.xxx.xxx.xxx
3,dovecotとpostfixの設定を一括で行う
dovecotをインストール
yum -y install dovecot
postfixの設定ファイルを変更
作業用データと(例:main.cf2)
バックアップを取る(例:main.cf3)
cd /etc/postfix/ cp main.cf main.cf2 cp master.cf master.cf2 cp main.cf main.cf3 cp master.cf master.cf3
ホスト名の設定を行う
xxxxx.com
は、設定のホスト名にする
sed -i -e '76c\myhostname = xxxxx.com' main.cf2 sed -i -e '83c\myhostname = xxxxx.com' main.cf2
設定ファイルを一括で変更する
sed -i -e '99c\myorigin = $mydomain' main.cf2 sed -i -e '116c\inet_interfaces = all' main.cf2 sed -i -e '119c\inet_protocols = ipv4' main.cf2 sed -i -e '164c\mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain' main.cf2 sed -i -e '264c\mynetworks = 192.168.0.0/23,127.0.0.0/8' main.cf2 sed -i -e '419c\home_mailbox = Maildir/' main.cf2 sed -i -e '569c\smtpd_banner = $myhostname ESMTP unknown' main.cf2 sed -i -e '$a\smtpd_sasl_auth_enable = yes' main.cf2 sed -i -e '$a\smtpd_sasl_local_domain = $myhostname' main.cf2 sed -i -e '$a\smtpd_recipient_restrictions =' main.cf2 sed -i -e '$a\ permit_mynetworks' main.cf2 sed -i -e '$a\ permit_sasl_authenticated' main.cf2 sed -i -e '$a\ reject_unauth_destination' main.cf2 sed -i -e '$a\mailbox_size_limit = 1073741824' main.cf2 sed -i -e '$a\smtpd_use_tls = yes' main.cf2 sed -i -e '$a\smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt' main.cf2 sed -i -e '$a\smtpd_tls_key_file = /etc/pki/tls/private/server.key' main.cf2 sed -i -e '$a\smtpd_tls_session_cache_database = btree:/etc/postfix/smtpd_scache' main.cf2 sed -i -e '$a\smtpd_tls_session_cache_timeout = 3600s' main.cf2 sed -i -e "17,20s/#//" master.cf2 diff main.cf main.cf2 > diffpostfix.txt diff master.cf master.cf2 >> diffpostfix.txt
変更内容を確認
cat diffpostfix.txt
問題がなければ変更上書きする
cp main.cf2 main.cf
上書きの確認にyで答える
cp master.cf2 master.cf
上書きの確認にyで答える
正しく複写できたか確認する
diffがなければOK
diff main.cf main.cf2 diff master.cf master.cf2
dovecotの設定ファイルを変更
cd /etc/dovecot/conf.d cp 10-mail.conf 10-mail.conf2 cp 10-auth.conf 10-auth.conf2 cp 10-ssl.conf 10-ssl.conf2 cp 10-master.conf 10-master.conf2 cp 10-mail.conf 10-mail.conf3 cp 10-auth.conf 10-auth.conf3 cp 10-ssl.conf 10-ssl.conf3 cp 10-master.conf 10-master.conf3 sed -i -e '30c\mail_location = maildir:~/Maildir' 10-mail.conf2 sed -i -e '9c\disable_plaintext_auth = no' 10-auth.conf2 sed -i -e '97c\auth_mechanisms = plain login' 10-auth.conf2 sed -i -e "19s/#//" 10-master.conf2 sed -i -e '20i ssl = no' 10-master.conf2 sed -i -e "23,24s/#//" 10-master.conf2 sed -i -e '41c\ port = 0' 10-master.conf2 sed -i -e "44,45s/#//" 10-master.conf2 sed -i -e "89,91s/#//" 10-master.conf2 sed -i -e '91i user = postfix' 10-master.conf2 sed -i -e '92i group = postfix' 10-master.conf2 sed -i -e "6s/#//" 10-ssl.conf2 sed -i -e '12c\ssl_cert = </etc/pki/dovecot/certs/server.crt' 10-ssl.conf2 sed -i -e '13c\ssl_key = </etc/pki/dovecot/private/server.key' 10-ssl.conf2 diff 10-mail.conf 10-mail.conf2 > diffdovecot.txt diff 10-auth.conf 10-auth.conf2 >> diffdovecot.txt diff 10-ssl.conf 10-ssl.conf2 >> diffdovecot.txt diff 10-master.conf 10-master.conf2 >> diffdovecot.txt
変更内容を確認
cat diffdovecot.txt
問題がなければ変更上書きする
cp 10-mail.conf2 10-mail.conf
上書きの確認にyで答える
cp 10-auth.conf2 10-auth.conf
上書きの確認にyで答える
cp 10-ssl.conf2 10-ssl.conf
上書きの確認にyで答える
cp 10-master.conf2 10-master.conf
上書きの確認にyで答える
正しく複写できたか確認する
diffがなければOK
diff 10-mail.conf 10-mail.conf2 diff 10-auth.conf 10-auth.conf2 diff 10-ssl.conf 10-ssl.conf2 diff 10-master.conf 10-master.conf2
4,SSLキーの作成
server.keyを作成し
パスワードを設定する
(パスワードxxxxxxは忘れないように)
cd /etc/pki/tls/certs
make server.key
Enter pass phrase:xxxxxxxx←パスコード入力
Verifying – Enter pass phrase:xxxxxxxx←パスコード再入力
opensslにパスワードを設定
openssl rsa -in server.key -out server.key
先ほど設定したパスワード(xxxxxxxx)を設定
Enter pass phrase for server.key:xxxxxxxx←パスコード入力
writing RSA key
server.csrを作成
make server.csr
Country Name (2 letter code) [XX]:JP(例:JP)
State or Province Name (full name) [](例:Tokyo)
Locality Name (eg, city) [Default City]:(例:Shinjuku)
Organization Name (eg, company) [Default Company Ltd]:(例:xxxx.com)
Organizational Unit Name (eg, section) []:(例:admin)
Common Name (eg, your name or your server’s hostname) []:(例:xxxx.com)
Email Address []:(例:webmaster@xxxx.com)
Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:(空)
An optional company name []:(空)
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
所定のフォルダーに複写
cp /etc/pki/tls/certs/server.crt /etc/pki/dovecot/certs/server.crt cp /etc/pki/tls/certs/server.key /etc/pki/dovecot/private/server.key cp /etc/pki/tls/certs/server.key /etc/pki/tls/private/server.key
複写されたことを、確認
diff /etc/pki/tls/certs/server.crt /etc/pki/dovecot/certs/server.crt diff /etc/pki/tls/certs/server.key /etc/pki/dovecot/private/server.key diff /etc/pki/tls/certs/server.key /etc/pki/tls/private/server.key
saslauthdを起動
chkconfig saslauthd on && service saslauthd start
5,ドメイン名の設定を行う
ドメイン名は、お名前.comなどで、
DNS登録は、お名前.com側に、
ConoHaのDNSを登録
お名前側で、
ドメインNavi
ネームサーバの設定にて、
他のネームサーバを使用から
ConoHaのDNSサーバを設定する
お名前で取得したドメイン名をConoHa側に登録
新規ドメインの場合
サイドメニュー[DNS]>[+追加]
登録済の場合
サイドメニュー[DNS]>[登録済ドメイン選択]
属性追加または編集
・A(通常) XXX.XXX.XXX.XXX
・MX ポイント先 xxx.com(ドメイン名) 優先度10
・TXT v=spf1 +ip4:xxx.xxx.xxx.xxx ~all
VPS設定の
IPアドレス 逆引きホスト名にドメイン名を登録する
サイドメニュー[サーバ]
対象VPS選択
[VPS設定]>[逆引きホスト名]右編集アイコン選択
ドメイン登録
6,Hostnameの変更
hostname
で、現状を確認
xxx.xxx.xxxx.xxx
IPで表示される
設定ファイルを変更する
vi /etc/sysconfig/network
i(挿入モード)で、変更
変更前
HOSTNAME=localhost.localdomain
変更後
HOSTNAME=xxxx.com
に変更
:wq Enter で終了
サーバを再スタート
shutdown -r now
または、
ConoHaのコントロールパネルで、再起動ボタンを押す
再起動後、変更されたか確認
再起動のため、SSHは切断されるため、
しばらくしてから、再度接続する
hostname
で、確認
xxxx.com
設定内容に変更された事を確認
7,メールアカウントの作成
メールアカウントを作成します
メール用のユーザとパスワードを設定
ユーザの追加
useradd userxxxx ← 新規ユーザ名
パスワード設定
passwd userxxxx
ユーザー userxx のパスワードを変更。
新しいパスワード:xxxxx ← パスワードを設定
新しいパスワードを再入力してください:xxxxx ← 確認で再度入力
passwd: 全ての認証トークンが正しく更新できました。
8,メールポートの開放
ConoHa
コントロールパネルから開放を設定
9,サービスの起動
service postfix restart service dovecot start
10,OS再起動時、サービスの自動起動設定
chkconfig dovecot on
11,送信確認
mail xxxx@xxxx.com ← 確認できるメールアドレスを指定
Subject:メールテストです ←題名を入力
メールの送信確認を行います ← 本文を入力
よろしくお願いします
. ← .のみで、本文終了
送信されたかの確認
(rootの場合、root@ドメイン で送信されます)
メールアカウントで送信確認
ユーザに切り替える
su xxxxxx ← ユーザ名 mail xxxx@xxxx.com ← 確認できるメールアドレスを指定
Subject:メールテストです ←題名を入力
メールの送信確認を行います ← 本文を入力
よろしくお願いします
. ← .のみで、本文終了
送信されたかの確認
(ユーザ名 xxxx@ドメイン で送信されます)
rootに戻り
exit
外部から、作成した、メールアカウントに
メールを送信し、
メールが届くか確認する
外部から、作成アカウントのメールを送信する
メールが届いているか確認する
ls /home/(ユーザ名)/Maildir/new
参考;
メールを受信しないと
/home/(ユーザ名)/Maildir/
のフォルダーは作成されない
外部のメールソフトで接続すると
受信のメールは
/Maildir/new
から
/Maildir/cur
へ移動する
届いたメールの内容を確認
cat /home/(ユーザ名)/Maildir/new/xxxxx.Vfdyyyy.xxx.com:2
telnetで確認
telnetをインストール
yum install -y telnet
localhost ポート 25で接続
telnet localhost 25
Trying ::1…
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 xxxxx.com ESMTP unknown
HELO xxxxxx.com ← 入力
250 xxxxx.com
MAIL From: userxx@xxxxx.com ← 送信元を入力
250 2.1.0 Ok
RCPT To:userxx@gmail.com ← 宛先を入力
250 2.1.5 Ok
DATA ← データ入力指定
354 End data with
よろしくお願いします ← データ入力
. ← .でデータ入力終了を指定
250 2.0.0 Ok: queued as 93735A0D5E
quit← 終了入力
221 2.0.0 Bye
Connection closed by foreign host.
パスワード設定を確認
user_name\0user_name\0user_pass
の中の
user_name
user_pass
を、実際に置き換えて入力
perl -MMIME::Base64 -e 'print encode_base64("user_name\0user_name\0user_pass");'
dXNlcl9uYWXXXXXQB1c2VyX3BFertD=
パスコードを確認
telnet localhost 25
Trying ::1…
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
220 xxxxx.com ESMTP unknown
EHLO localhost ← localhostで指定
250-xxxxx.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH PLAIN dXNlcl9uYWXXXXXQB1c2VyX3BFertD= 調べたパスコードをはりつける
235 2.7.0 Authentication successful
quit← 終了入力
221 2.0.0 Bye
Connection closed by foreign host.
・235 2.7.0 Authentication successful
にならない場合、
503 5.5.1 Error: authentication not enabled
などの場合
サービスの起動を確認
service postfix status service dovecot status service saslauthd status
変更した設定ファイル、その他、を正しく複写したか
を確認
cd /etc/postfix/ diff main.cf main.cf2 diff master.cf master.cf2 cd /etc/dovecot/conf.d diff 10-mail.conf 10-mail.conf2 diff 10-auth.conf 10-auth.conf2 diff 10-ssl.conf 10-ssl.conf2 diff 10-master.conf 10-master.conf2 diff /etc/pki/tls/certs/server.crt /etc/pki/dovecot/certs/server.crt diff /etc/pki/tls/certs/server.key /etc/pki/dovecot/private/server.key diff /etc/pki/tls/certs/server.key /etc/pki/tls/private/server.key
などを確認して下さい
diffで、表示がなければ、正しく表示されている
もし、複写の忘れがあれば、複写し再起動をする
service postfix restart service dovecot restart service saslauthd restart
サービスの自動起動の設定を確認
(ランレベル 2,3,4,5がONになっているか
)
chkconfig --list postfix chkconfig --list dovecot chkconfig --list saslauthd
自動起動時設定がなければ設定
chkconfig dovecot on chkconfig saslauthd on
server.crt
server.key
を、一応確認
ls /etc/pki/tls/certs/server.crt -l ls /etc/pki/dovecot/certs/server.crt -l ls /etc/pki/tls/certs/server.key -l ls /etc/pki/dovecot/private/server.key -l ls /etc/pki/tls/private/server.key -l
12,メーラからの動作確認
メーラへの設定
Thunderbirdの場合
受信サーバ IMAP XXXX.com 993 SSL/TLS 通常のパスワード認証
送信サーバ SMTP XXXX.com 465 SSL/TLS 通常のパスワード認証
で、設定を行う