VPSにメールサーバを導入する方法
VPSにメールサーバを導入したかった。具体的にはThunderbirdでメールの送受信が出来る状態まで設定したい。細かい設定はよく分からないので最低限の設定で対応したかった。以下に環境と方法をメモ。
■環境など
サーバ環境:CentOS 6.5 64bit
ドメイン:hoge.com
メールユーザ:webmaster
■作業中はログ確認しながらの方が良い
メールログは/var/log/maillogにあるので、送受信ができないとかトラブルがあれば確認する。2つぐらいターミナル立てておいて片方では、
tail -f /var/log/maillog
とかでリアルタイム確認にしておけば分かりやすかった。
■導入方法
sendmailが動いている場合は念のため止めておく
/etc/rc.d/init.d/sendmail stop
postfixをインストール
yum -y install postfix
postfixの設定ファイルを開く
vi /etc/postfix/main.cf
以下を追記していく
myhostname = mail.hoge.com mydomain = hoge.com myorigin = $mydomain inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain mynetworks = 192.168.1.0/24, 127.0.0.0/8 home_mailbox = Maildir/ smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
ファイアウォールを設定
iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport smtp -j ACCEPT iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport pop3 -j ACCEPT iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport imap -j ACCEPT /etc/rc.d/init.d/iptables save
dovecotをインストール
yum -y install dovecot
dovecotの設定ファイルを開く
vi /etc/dovecot/dovecot.conf
以下を追記していく
protocols = pop3 imap disable_plaintext_auth = no
もう一つのdovecot設定ファイルを開く(違いは分からず)
vi /etc/dovecot/conf.d/10-auth.conf
以下を追記していく
disable_plaintext_auth = no
新規ユーザ追加時にメールボックスが作成されるよう設定
mkdir -p /etc/skel/Maildir/{new,cur,tmp} chmod -R 700 /etc/skel/Maildir/
メール用のユーザを作成
useradd webmastert passwd webmaster
既存ユーザにメールボックスを作成する場合はそのユーザでログインして以下コマンドを入力。以下ではhogehogeというユーザに変更してメールボックスを作成
su - hogehoge mkdir /etc/skel/Maildir mkdir /etc/skel/Maildir/tmp mkdir /etc/skel/Maildir/cur mkdir /etc/skel/Maildir/new
SMTP-AUTHクライアントのインストールと起動設定
yum -y install cyrus* service saslauthd start chkconfig saslauthd on
postfixとdovecotを起動
service postfix start service dovecot start
必要なら自動起動も設定する
chkconfig postfix on chkconfig dovecot on
■その他
・POP3とは
メールを受信する為のプロトコルの一つ。サーバにメールを残さない為、サーバの負荷は軽くなるけど複数の場所でメールを見ることができない。
・IMAPとは
メールを保存しているサーバから受信する為のプロトコル。サーバにメールを残すので複数の場所でメールを見ることが出来るが、定期的にメールを削除していかないと負荷になる。
・SMTPとは
メールを伝送する為のプロトコルの一つ。POP3やIMAPは受信だけど、SMTPは送信。
・メーラーでの送受信は必要なくPHPでmail関数を使いたい場合
postfixをインストールして起動するだけで、以下ソースで送信できるみたい。特に設定は必要なし。
mb_language('ja'); mb_internal_encoding('UTF-8'); $from = 'hoge@hoge.com'; if( mb_send_mail($from, 'subject', 'body', "From: {$from}\r\n", "-f{$from}") ){ //成功時処理 }else{ //失敗時処理 }
・Thunderbird側での設定
「アカウント」→「新しいアカウント作成」の中から「メール」を選んで進んでいけばOK。IMAPで確認したところ問題なかった。ただ、セキュリティ設定がいけないらしく警告画面みたいなのが出るので、例外設定みたいな感じで進む。この辺の設定とかもちゃんとできるようになりたいところ。
関連記事
-
-
linuxのシェルスクリプト
とあるサイトで自動更新で随時データベースにデータが挿入されるという機能があった。 ...
-
-
WordPressサイトのロードアベレージが高い
あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...
-
-
サーバーリソース監視にsar(sysstat)が便利だった
過去にサーバーリソース監視のmuninとかcactiを何度か入れようとして挫折し ...
-
-
htmlファイル内でPHPを動かす(AddHandler)
サイトを引き継ぐことがあり、ソースを確認していると拡張子はhtmlなのにPHPの ...
-
-
Class ‘DOMDocument’ not foundエラーの対処
PHPでphpQueryというライブラリを利用しようとすると「Fatal err ...
-
-
URLを入力するだけでサーバーの負荷テストが出来る「loadimpact」が便利
URLを入力するだけでサーバーの負荷テストが出来る「loadimpact」が便利 ...
-
-
sshでMySQLの操作
今までMySQLを操作するときはphpmyadminから 行っていたけど、php ...
-
-
プロキシサーバの接続ログを確認する方法
だいぶ前にVPSにプロキシサーバ(squid)を導入した。接続IPは指定している ...
-
-
リモートマシンからSSH接続
AのサーバーにSSHで接続して、そのまま BのサーバーにSSHでログインみたいな ...
-
-
ServerQueenのVPSプランが非常に安いみたい
今のところ、スペックとかはあまりこだわらずに、値段だけでVPSを選ぶ際はDTIの ...