EC-CUBE 2.13.5 のcURLをバージョンアップした時のメモ


EC-CUBE 2系を使用した時にcURLのSSL Versionが「NSS」になっていたので、
「OpenSSL」に変更した時のメモを書きます。

現在のcURLのバージョンをチェック

$ curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp 

NSS/3.19.1となっているのでこれを「OpenSSL」に変えます。

openssl関連のモジュールがインストール済みか確認

$ sudo yum info openssl-devel
$ sudo yum info gcc

実行して「Installed Packages」であればインストール済み。
「Available Packages」と表示されていればインストールされていないのでモジュールのインストールをします。

openssl関連のモジュールをインストール

$ sudo yum install openssl-devel
$ sudo yum install gcc

順番はどちらが先でも問題ありません。
「gcc」はcURLをコンパイルする時に必要になります。
(最初コンパイルに失敗しつまづきました)

cURLのダウンロード

http://curl.haxx.se/latest.cgi?curl=tar.bz2
にアクセスしてcURLの最新版のURLを取得します。

$ wget http://curl.mirror.anstey.ca/curl-7.51.0.tar.bz2

configure

$ tar xf curl-7.51.0.tar.bz2
$ cd curl-7.51.0
$ ./configure --enable-libcurl-option

ダウンロードしたファイルを展開して「configure」を実行してmake用のファイルを作成します。

コンパイルとインストール

$ make
$ sudo make install

cURLをインストールします。

ライブラリを登録

$ vi /etc/ld.so.conf.d/curl-x86_64.conf

curl-x86_64.conf
/usr/local/lib

インストールしたcURLをライブラリに登録します。
これをしないとapacheを再起動してもcURLのバージョンが上がりませんでした。

ライブラリの更新

$ ldconfig -v

共有ライブラリの依存関係を更新してcURLを認識させます。

apacheを再起動

$ sudo service httpd restart

apacheを再起動してPHPにも読み込ませます。

cURLのバージョンをチェック

$ curl --version
curl 7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.51.0 OpenSSL/1.0.1e zlib/1.2.3 libssh2/1.4.2
Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
Features: IPv6 Largefile NTLM SSL libz

最後にcURLのバージョンが上がったか確認します。
「NSS」が「OpenSSL」に変わりましたね。

参考にさせていただいたサイト

http://qiita.com/maangie/items/4af8b813ed9ddce4a0db
http://kayakuguri.github.io/blog/2016/07/07/curl-openssl-tls/