0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

仮想CentOS6.5にMailCatcherを導入する顛末

Posted at

仮想マシンのCentOS6.5にmailcatcherを導入しようと思うも、色々と躓くところがあったので顛末を記録しておく。

環境

  • CentOS release 6.5 (Final)

TL;DR

1. 必要になるライブラリをあらかじめ入れておく

$ yum install -y openssl-devel readline-devel zlib-devel gcc-c++ sqlite sqlite-devel ruby ruby-devel rubygems

2. NSSの更新

$ yum update nss nss-util nspr

3. rbenv の導入と、もう少し新しいRubyのインストール

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ ~/.rbenv/bin/rbenv init
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
$ rbenv install -v 2.0.0-p648
$ rbenv global 2.0.0-p648

4. mailcatcher インストールと起動

$ gem install mailcatcher
$ mailcatcher --ip=0.0.0.0

Ruby周りの導入

まず mailcatcher は rubygems でインストールするのだけれど、その際に前提条件としてRubyのバージョンは1.9.3以上が必要になる。

mailcatcher requires Ruby version >= 1.9.3

CentOS6.5にバンドルされているRubyは1.8.7と古いので、この際 rbenv でもう少し新しいバージョンを入れておく。詳細は rbenv/rbenvrbenv/ruby-build を参考にされたし。

$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
$ ~/.rbenv/bin/rbenv init
$ git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

rbenv が導入できたら2.0.0あたりを入れておく。

$ rbenv install --list # バージョンのリストを確認
$ rbenv install -v 2.0.0-p648

ここで curl: (35) SSL connect error のエラーが発生してRubyのダウンロードに失敗する(ここでの調査に結構な時間を要することになる)
結論から言うと「pycurlで「(35, 'SSL connect error')」が出るときの対処法(のうちの1つ) - Qiita」が参考になった。
NSSが脆弱性のあるバージョンで、アップデートの必要があるとのこと。

$ yum update nss nss-util nspr
$ rbenv install -v 2.0.0-p648

さらに Build Failed のエラーが吐かれるので、エラーメッセージに従って不足ライブラリをyumで入れる。

$ yum install -y openssl-devel readline-devel zlib-devel
$ rbenv install -v 2.0.0-p648

ビルドが通り、Rubyの2.0.0がインストールされた。globalに適用する。

$ rbenv global 2.0.0-p648
$ ruby --version
ruby 2.0.0p648 (2015-12-16 revision 53162) [x86_64-linux]

Mailcatcherのインストール

Rubyの準備が整ったら gem コマンドで mailcatcher のインストールを行う。

$ gem install mailcatcher

エラーが吐かれたので不足しているライブラリを導入して再試行。成功した。

$ yum install -y gcc-c++ sqlite sqlite-devel
$ gem install mailcatcher

早速起動。IPアドレスはデフォルトだと127.0.0.1で都合が悪いので、0.0.0.0とする。

$ mailcatcher --ip=0.0.0.0

ホストからブラウザでアクセスできるようにポートを開放しておこう。

$ vim /etc/sysconfig/iptables
$ sudo /etc/init.d/iptables reload

PHPからのメール送信をキャッチしてみる

PHPから使いたかったので、php.ini の sendmail_path を書き換える。送信テストは成功した。

sendmail_path = /usr/bin/env catchmail
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?