新しいConoHaでメールサーバを立ち上げる

新しい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 通常のパスワード認証

で、設定を行う

Ubuntu でsublimetxt3 をインスツール

Ubuntu 14。04にSublimeText3をインストールする

■SublimeText3をインストールする
端末より

sudo add-apt-repository -y ppa:webupd8team/sublime-text-3

sudo apt-get update; sudo apt-get install -y sublime-text-installer

で、インスツール

■Package Controlのインストール
https://sublime.wbond.net/installation
より、バージョン(Sublime Text 3)のコード(Python code)をコピー

View>ShowContral
で、下部の入力フィールドに貼り付け、リターンする

コマンドパレット(ctr+shift+p)から、
Package Controlを、指定できるようになる

■漢字入力
日本語入力対応方法
mozcとemacs-mozcをインストール

sudo apt-get install ibus-mozc emacs-mozc

Sublime Textで、(ctr+shift+p)にてコマンドパレットを開き、
Package Control:Add Repositoryを選択し、
下部コンソールへ
https://github.com/yasuyuky/SublimeMozcInput
を入力(リポジトリを追加)

Sublime Textで、(ctr+shift+p)にてコマンドパレットを開き、
Package Control:Install Packageを選択し
SublimeMozcInputを選択し
インストール

日本語入力の切り替えを
ctrl+spaceに変更するために
Preferences -> Key Bindings – User
から[]の中に

{ "keys": ["ctrl+space"], "command":"toggle_mozc"},

を追加し、保存(ctr+s)

ctrl+spaceで、漢字変換ができることを確認

■サイドバー表示

view>SideBar>open files
にて、左に開いたファイルのフォルダーとファイルを表示できる

■追記
インストールは
https://qiita.com/Migly_A/items/f1f9871ea7a13103571c
を参考に、Ubuntuは、上記サイトより、
一括で最新がインストール
日本語化ができました。

新しいConoHaでメールサーバを立ち上げる

新しいConoHaでは、メールサーバのサービスも加わりましたが
以前と同じように、独自にメールサーバを立ち上げてみました。

手順
0,VPSサービスの前提
1,SSHで接続を確認する
2,dovecotをインストール
3,FileZillaにて接続を確認する
4,Postfixの設定ファイルの編集
5,Dovecotの設定ファイルの変更
6,SSLキーの作成
7,ドメイン名の設定を行う
8,Hostnameの変更
9,メールアカウントの作成
10,メールポートの開放
11,サービスの起動
12,OS再起動時、サービスの自動起動設定
13,送信確認
14,メーラからの動作確認
となります。

0,VPSサービスの前提
ConoHaのサービスは、CentOS 6.6 64bit
SSHキーを使用
とします。

1,SSHで接続を確認する
ssh -i /home/xxxx/key-2015-0x-xx-0x-xx.pem

2,dovecotをインストール
yum -y install dovecot

3,FileZillaにて接続を確認する

作業用フォルダを作成する

サブフォルダ
postfix
dovecot

を作成する

/etc/postfix/main.cf
/etc/postfix/master.cf

/etc/dovecot/conf.d/10-mail.conf
/etc/dovecot/conf.d/10-auth.conf
/etc/dovecot/conf.d/10-ssl.conf
/etc/dovecot/conf.d/10-master.conf
をダウンロードする

4,Postfixの設定ファイルの編集
すでに、Postfixは、インストール済なため、
Postfixの設定ファイルの編集を行います

# vi /etc/postfix/main.cf

76行目近くを編集
:76 Enter

変更前
myhostname = virtual.domain.tld

i(挿入モード)
変更後
myhostname = xxxxx.com

83行目近くを編集
変更前
mydomain = domain.tld
変更後
mydomain = xxxxx.com

99行近く、先頭の#を削除
変更前
#myorigin = $mydomain
変更後
myorigin = $mydomain

116行近く
変更前
#inet_interfaces = localhost

変更後
inet_interfaces = all

119行近く
変更前
inet_protocols = all

変更後
inet_protocols = ipv4

164行近く
変更前
#mydestination = $myhostname, localhost.$mydomain, localhost

変更後
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

264行近く
変更前
#mynetworks = 168.100.189.0/28, 127.0.0.0/8

変更後
mynetworks = 192.168.0.0/23,127.0.0.0/8

419行近く、コメントをはず
変更前
#home_mailbox = Maildir/
変更後
home_mailbox = Maildir/

569行近く、コメント解除して $mail_name を unknownに
変更前
#smtpd_banner = $myhostname ESMTP $mail_name
変更後
smtpd_banner = $myhostname ESMTP unknown

最終行に以下を追加

smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
 permit_mynetworks
 permit_sasl_authenticated
 reject_unauth_destination
mailbox_size_limit = 1073741824

smtpd_use_tls = yes
smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt
smtpd_tls_key_file = /etc/pki/tls/private/server.key
smtpd_tls_session_cache_database =         btree:/etc/postfix/smtpd_scache
smtpd_tls_session_cache_timeout = 3600s

[esc]:wq
で、終了

# vi /etc/postfix/master.cf

17行ちかく
変更前
#smtps inet n – n – – smtpd
# -o smtpd_tls_wrappermode=yes
# -o smtpd_sasl_auth_enable=yes
# -o smtpd_client_restrictions=permit_sasl_authenticated,reject

変更後
smtps inet n – n – – smtpd
-o smtpd_tls_wrappermode=yes
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject

5,Dovecotの設定ファイルの変更
10-mail.confを変更
vi /etc/dovecot/conf.d/10-mail.conf
i(挿入モード)で、編集
30行近く、先頭の「#」を削除し、設定ファイルを指定
変更前
#mail_location =
変更後
mail_location = maildir:~/Maildir
[esc]:wq
で、終了

vi /etc/dovecot/conf.d/10-auth.conf
10-auth.confを編集
9行付近のコメントの#削除し、yesをnoに
変更前
#disable_plaintext_auth = yes
変更後
disable_plaintext_auth = no

97行付近の末尾に login を追加
変更前
auth_mechanisms = plain
変更後
auth_mechanisms = plain login
[esc]:wq
で、終了

vi /etc/dovecot/conf.d/10-master.conf
10-master.confを、編集

17行
変更前
inet_listener imap {
#port = 143
}
inet_listener imaps {
#port = 993
#ssl = yes
}
変更後
inet_listener imap {
port = 143
ssl = no
}
inet_listener imaps {
port = 993
ssl = yes
}

38行目
変更前
service pop3-login {
inet_listener pop3 {
#port = 110
}
inet_listener pop3s {
#port = 995
#ssl = yes
}
}

変更後
service pop3-login {
inet_listener pop3 {
#port = 110
port = 0
}
inet_listener pop3s {
port = 995
ssl = yes
}
}

88行目
変更前
# Postfix smtp-auth
#unix_listener /var/spool/postfix/private/auth {
# mode = 0666
#}

変更後
# Postfix smtp-auth
unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

:wq Enter で終了

vi /etc/dovecot/conf.d/10-ssl.conf
10-ssl.confを、編集

12行目
変更前

ssl_cert = </etc/pki/dovecot/certs/dovecot.pem
ssl_key = </etc/pki/dovecot/private/dovecot.pem

変更後

ssl = yes
ssl_cert = </etc/pki/dovecot/certs/server.crt
ssl_key = </etc/pki/dovecot/private/server.key

6,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

saslauthdを起動

chkconfig saslauthd on && service saslauthd start

7,ドメイン名の設定を行う

ドメイン名は、お名前.comなどで、
DNS登録は、お名前.com側に、
ConoHaのDNSを登録

お名前側で、
ドメインNavi
ネームサーバの設定にて、
他のネームサーバを使用から
ConoHaのDNSサーバを設定する

お名前で取得したドメイン名をConoHa側に登録
属性追加
・A(通常)   XXX.XXX.XXX.XXX
・MX      ポイント先 xxx.com(ドメイン名) 優先度10
・TXT     v=spf1 +ip4:xxx.xxx.xxx.xxx ~all

VPS設定の
IPアドレス 逆引きホスト名にドメイン名を登録する

8,Hostnameの変更
hostname
で、現状を確認
xxx.xxx.xxxx.xxx
IPで表示される

設定ファイルを変更する
vi /etc/sysconfig/network

i(挿入モード)で、変更
変更前
HOSTNAME=localhost.localdomain

変更後
HOSTNAME=xxxx.com
に変更
:wq Enter で終了

サーバを再スタート
shutdown -r now
または、
ConoHaのコントロールパネルで、再起動ボタンを押す

再起動後、変更されたか確認

hostname
で、確認
xxxx.com
設定内容に変更された事を確認

9,メールアカウントの作成
メールアカウントを作成します
メール用のユーザとパスワードを設定

ユーザの追加
useradd userxxxx ← 新規ユーザ名

パスワード設定
passwd userxxxx

xxxxx ← パスワードを設定
xxxxx ← 確認で再度入力

10,メールポートの開放
ConoHa
コントロールパネルから開放を設定

11,サービスの起動
service postfix restart
service dovecot restart

12,OS再起動時、サービスの自動起動設定
chkconfig dovecot on

13,送信確認

mail xxxx@xxxx.com ← 確認できるメールアドレスを指定

Subject:メールテストです ←題名を入力 
メールの送信確認を行います ← 本文を入力
よろしくお願いします
. ← .のみで、本文終了

送信されたかの確認
(rootの場合、root@ドメイン で送信されます)

メールアカウントで送信確認

ユーザに切り替える
su xxxxxx ← ユーザ名
mail xxxx@xxxx.com ← 確認できるメールアドレスを指定

Subject:メールテストです ←題名を入力 
メールの送信確認を行います ← 本文を入力
よろしくお願いします
. ← .のみで、本文終了

送信されたかの確認
(ユーザ名 xxxx@ドメイン で送信されます)

作成した、アカウント(ユーザ)に、メールが届いているか確認

メールが届いているか
#ls /home/(ユーザ名)/Maildir/new

届いたメールの内容を確認
#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: user02@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.

パスワード設定を確認

perl -MMIME::Base64 -e ‘print encode_base64(“user_name\0user_name\0user_pass”);’
dXNlcl9uYWXXXXXQB1c2VyX3BFertD=

パスコードを確認

telnet localhost 25 ← 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
にならない場合、
server.crt
server.key
のパスがあっているか
パスにファイルがあるか
saslauthdが起動しているか
(chkconfig saslauthd on && service saslauthd start)
などを確認して下さい

14,メーラからの動作確認
メーラへの設定
Thunderbirdの場合

受信サーバ IMAP XXXX.com 993 SSL/TLS 通常のパスワード認証
送信サーバ SMTP XXXX.com 465 SSL/TLS 通常のパスワード認証

で、設定を行う

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174 error対策

処理するメールがないと下記エラーがでます

***error: There is no valid email in the directories at /usr/local/bouncehammer/bin/mailboxparser line 174

これを避けるまめに、フォルダー内にデータがある時だけ、
(新規メールが届いている時だけ)
処理を行うようにする

if ls  /フォルダーのバス/*.* > /dev/null 2>&1
  then
   :  フォルダーにデータがある場合に処理する
fi

機能を追加する

vi /usr/local/autobonuc.sh

#!/bin/sh
 if ls  /home/user0xxx/Maildir/new/*.* > /dev/null 2>&1
  then
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user031/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

fi

ConoHa BounceHammer メールの自動登録

Cronで、BounceHammerへメールの自動登録を行う

vi /usr/local/autobonuc.sh
#!/bin/sh
/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user0xxx/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

:wq
chmod +x /usr/local/autobonuc.sh

crontab -l

crontab -e
MAILTO="xxxx@gmail.com"
*/2 * * * * /usr/local/autobonuc.sh

処理するメールがない場合のエラー対策 →

ConoHa BounceHammer 内部のメールを複写登録

2重登録を避けるため、メールを2重化し、登録

user01@xxxxx.com
転送先
user011@xxxxx.com

アカウント作成
useradd user01
passwd user01
xxxxxx
xxxxxx

useradd user011
passwd user011
xxxxxx
xxxxxx

aliasesにて自動転送
user01@xxxxx.com
に送信し
user011@xxxxx.com
へ、自動転送(user01@xxxxx.comにもデータを残す)

vi /etc/aliases
user01:user011,user01

postalias /etc/aliases
newaliases

aliasを有効化

user01@xxxxx.com
へメールを送信

ls /home/user011/Maildir/new
で、転送確認

user01@xxxxx.com
から、未到達メールを送信

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/user011/Maildir/new --remove
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

bouncehammerへ登録

http://xxxxxx/admin/mail/bouncehammer.cgi
で、追加されたことを、確認

外部のメールサーバの内容の登録 →

ConoHa BounceHammer 内部のメールを登録

BounceHammerに、同じサーバにある内容を登録

/usr/local/bouncehammer/bin/mailboxparser -g --log /home/{user}/Maildir/cur
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

/home/{user}/Maildir/new
は、新規
/home/{user}/Maildir/cur
は、既読
ただし、メーラを立ち上げるとnewは消えてしまう

外部のメールサーバの内容の登録 →
メールBOXを2重化し、一方をBounceHammer登録用とする →

ConoHa BounceHammer メールの登録

外部のメールサーバの内容をBounceHammerに登録

yum install fetchmail procmail
vi ~/.fetchmailrc

set no bouncemail
defaults
 uidl
 no mimedecode
 keep
 mda /usr/bin/procmail

poll smpt.xxx1.com
 protocol imap
 user xxx1
 password pppp
 smtphost localhost

poll smpt.xxx2.com
 user xxx2
 password pppp
 smtphost localhost

vi ~/.procmailrc
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOCKFILE=$HOME/procmail.lock
$LOGFILE=$HOME/procmail.log

fetchmail --ssl

/usr/local/bouncehammer/bin/mailboxparser -g --log /root/new
/usr/local/bouncehammer/bin/logger -c --remove

for f in /usr/local/bouncehammer/var/log/*.log
do
  /usr/local/bouncehammer/bin/databasectl --update $f
done

内部のメールサーバの内容の登録 →

ConoHa BounceHammer

ConoHaにBounceHammerを
インストール


# yum install -y perl-core gcc
# cd /usr/local/bin
# wget -O- 'http://cpanmin.us/' > ./cpanm
# chmod +x ./cpanm
# cd /usr/local/src
# wget http://dist.bouncehammer.jp/bouncehammer-2.7.12.tar.gz
# tar xfz bouncehammer-2.7.12.tar.gz
# export PERL5LIB=/usr/local/bouncehammer/lib/perl5
# mkdir -p /usr/local/bouncehammer
# cd bouncehammer-2.7.12
# perl ./Modules.PL missing | cut -d' ' -f4 | cpanm -l /usr/local/bouncehammer
# perl ./Modules.PL missing
# perl ./Modules.PL check
# cpanm -l /usr/local/bouncehammer/ Compress::Zlib
# perl ./Modules.PL check
# ./configure --with-perl-extlib=/usr/local/bouncehammer/lib/perl5
# make
# make test
# make install
# cp /usr/local/bouncehammer/etc/bouncehammer.cf-example /usr/local/bouncehammer/etc/bouncehammer.cf

# cp /usr/local/bouncehammer/etc/webui.cf-example /usr/local/bouncehammer/etc/webui.cf

# vi /usr/local/bouncehammer/etc/bouncehammer.cf

dbtype: 'MySQL'
dbname: 'bouncehammer'

# Database name, username and password of the db-user
username: 'bouncehammer'
password: '794-uguisu-heiankyo'

hostname: '127.0.0.1'
port: 3306

# yum -y install mysql-server
# mysql -u root -p
passwordに対しリターン(パスワードなしで)入れてみる

USE mysql;
update mysql.user set password=password('xx') where user = 'root';
FLUSH PRIVILEGES;
quit
mysql -u root -p
パスワード設定を確認

mysql> CREATE DATABASE bouncehammer; 
mysql> GRANT ALL PRIVILEGES ON bouncehammer.* TO bouncehammer@127.0.0.1 IDENTIFIED BY '794-uguisu-heiankyo'; 
mysql> FLUSH PRIVILEGES;

# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/MySQL.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-hostgroups.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-many-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-providers.sql
# mysql -uroot -pxx bouncehammer < /usr/local/bouncehammer/share/script/mastertable-reasons.sql
# mkdir /var/www/cgi-bin/admin/
# mkdir /var/www/cgi-bin/admin/mail/

#cp /usr/local/bouncehammer/share/script/bouncehammer.cgi /var/www/cgi-bin/admin/mail/bouncehammer.cgi

#chmod a+x /var/www/cgi-bin/admin/mail/bouncehammer.cgi

http://(ip)/cgi-bin/admin/mail/bouncehammer.cgi

外部のメールサーバの内容の登録 →
内部のメールサーバの内容の登録 →

phpmysqladminで、複数サイトのDBを編集できるようにする

phpmysqladminで、複数サイトのDBを編集できるようにするには

設定ファイル
config.inc.php
の、
$i++;
から
/*
* End of servers configuration
*/
までを複写し
$cfg[‘Servers’][$i][‘host’] = ‘xxx.xxx.xxx.xxx’; // IP addrress
に、追加したい、サイトのホスト名かIPアドレスを入力する

操作としては、
一応、ファイルのバックアップをとり
#cp /etc/phpMyAdmin/config.inc.php /etc/phpMyAdmin/config.inc_backup.php
編集する
#vi /etc/phpMyAdmin/config.inc.php

サービスの再起動なしに、反映される

$i++;
$cfg[‘Servers’][$i][‘host’] = ‘xxx.xxx.xxx.xxx’; // IP addrress
:
:
/*
* End of servers configuration
*/

参考サイト
http://blog.shuffleee.com/1297/