macでローカル環境のopensslをバージョンアップする手順 〜 brewで更新→rbenvでrubyを再インストール 〜
公開日:
:
最終更新日:2014/12/18
Ruby on Rails, Web技術・ノウハウ openssl, rbenv
先日自社の運営サイトのSSL証明書の更新作業をしたのですが、ローカル環境として使っているmacで秘密鍵を作っているときにopensslのバージョンが古いことに気付きました。そこでopensslをバージョンアップしたのですが、手順を忘れそうなのでこのブログにメモを残しておきます。
目次
環境
パッケージマネージャーはHomebrewを使っていています。またrbenvでrubyのバージョンを管理しています。
手順
- brewで最新版のopensslを入手
-
brewで入れたopensslを参照させる
【手順1】brewで最新版のopensslを入手
opensslのバージョンを調べて最新版へアップグレードします。
1 2 3 |
$ which openssl #opensslのパスを確認 /usr/bin/openssl となってるはず $ openssl version #バージョンの確認 |
1 2 3 4 5 |
$ brew update #brewのアップデート $ brew list #opensslがインストールされているか確認 $ brew info openssl #最新版の情報取得 $ brew upgrade openssl #1.0.1gへアップグレード |
opensslのバージョン確認とアップデート(Heartbleed対応) – Qiita
リンク先の記事ではバージョンが「1.0.1g」ですが、私がインストールした時点での最新版は「1.0.1i」でした。
【手順2】brewで入れたopensslを参照させる
macにはじめから入っているopenssl(usr/bin/openssl)があり、こちらを参照したままになっていると手順1で入れた最新版opensslが使われません。
以下の手順でbrewで入れたopenssl(usr/local/bin/openssl)の方を参照させるようにします。
手順1のあと、opensslのバージョンを調べてみます。
1 2 3 |
$ openssl version OpenSSL 0.9.8y 5 Feb 2013 |
バージョンが古いままですね。
読み込んでいる(参照している)opensslを調べてみます。
1 2 3 |
$ which openssl usr/bin/openssl |
macに元々入っている、古いopensslを参照してしまっていました。
brewで入れた最新版openssl(/usr/local/bin/openssl)を参照するように設定します。
1 2 3 4 5 6 7 8 |
$ brew link openssl --force # brewで入れたopensslへリンクを張る $ which openssl /usr/local/bin/openssl # brewで入れたopenssl $ openssl version OpenSSL 1.0.1i 6 Aug 2014 # 最新バージョンのopenssl |
最新版のopenssl(usr/local/bin/openssl)が参照されるようになりました。
ハマりポイント
①brewで入れたopensslを参照してくれない!
brew link で openssl にリンクを張っても参照してくれない、というケース。
1 2 3 4 5 |
$ brew link openssl --force # brewで入れたopensslへリンクを張る $ which openssl usr/bin/openssl # brewで入れたopenssl(usr/bin/local/openssl)を参照してくれていない! |
~/.bash_profileに「export PATH=/usr/local/bin:$PATH
」を追加し、一度ターミナルを終了して再起動したところリンクが有効になりました。
1 2 3 4 5 6 |
$ which openssl /usr/local/bin/openssl # brewで入れたopensslを参照しています。 $ openssl version # 念のためバージョンを確認してみると・・・ OpenSSL 1.0.1i 6 Aug 2014 # 最新バージョンのopensslになっています。 |
②Rails serverが動かなくなった?!【rbenvでrubyをインストールしている人向け】
ローカルのrails4.0(mysql使用)でrails sを実行すると、opensslのリンクがおかしい云々とエラーが出て動かなくなりました。
ん?と思い色々調べたところ、opensslの更新に伴いrbenv/rubyも再設定が必要とのこと。
というわけでrbenvでrubyを再インストールします。
1 2 3 4 5 6 7 |
$ rbenv versions # rbenvで入れたrubyのバージョンを確認 2.0.0-p247 (set by /Users/sasakihiroyuki/.rbenv/version) $ env CONFIGURE_OPTS="--with-readline-dir=brew --prefix readline --with-openssl-dir=brew --prefix openssl" rbenv install -f 2.0.0-p247 $ rbenv rehash |
無事rails sが動くようになりました。
ひとこと
brewで入れたopensslの方を参照してくれなくてハマってしまいました。
opensslは今後も定期的にアップデートが必要になると思いますが、今回で手順がわかったので次回からはスムーズにできそうです。
参考
PR
関連記事
-
-
自作テーブルの追加からデータ取得まで!WordPressでデータをDBに保持して使う方法
WordPressでWebサイトを作ったとき、何かしらのデータをデータベース上に保持しておき必要
-
-
ドラッグ&ドロップだけ!『Intuitive Custom Post Order』は投稿一覧のページ並び順をスイスイ変更できるプラグイン
WordPressの投稿一覧の各投稿ページをカンタンに並べ替えできるプラグイン『Intuitiv
-
-
『Post Lists View Custom』で投稿一覧・固定ページ一覧の表示項目をカンタンON/OFF
投稿一覧・固定ページ一覧の表示項目を変えられるプラグイン『Post Lists View Cus
-
-
『Active Preview』で編集内容をリアルタイムプレビュー
最近使ってみたWordPressプラグイン『Active Preview』が便利だったのでご紹介しま
-
-
これでテーマの更新も怖くない!『Code Snippets』はfunctions.phpを編集できるWordPressプラグイン
WordPressのfunctions.phpファイルを直接編集せずにカスタマイズできるプラグイ
-
-
【やって覚える】BootstrapでWordPressサイトをレスポンシブデザイン化する方法
先日Googleから「4/21以降、サイトのスマホ対応有無を検索結果の順位に反映
-
-
『Simple Custom CSS』はテーマをいじらずちょっとCSSを編集したいときに便利なプラグイン
CSSだけ編集したいけれどWordPressのテーマを直接編集するのは避けたい、かといって子テーマを
-
-
URLを指定するだけでWebサイトを丸ごとダウンロードできるMacアプリ『SiteSucker』
Web制作をしていると、特定のサイトをローカルにダウンロードしたいと思うことがありませんか?
-
-
ムダな履歴データの蓄積をストップ!『Revision Control』で投稿ページ・固定ページの変更履歴をスマートに管理
投稿ページ・固定ページの「変更履歴」を制御するプラグイン『Revision Control』をご
-
-
『Duplicate Post』で投稿ページ・固定ページをカンタン複製
WordPressの投稿ページや固定ページを複製できるプラグイン『Duplicate Post』