PhantomJS を CentOS 5.8系に導入したメモ

PhantomJS を導入しようと思ったら公式で配布されているバイナリが CentOS 5.8 だとバージョン合わずにインストールできないので、ソースから構築した。

ついでに RPM 作ろうとしたら、付属の spec ファイルが 1.7 用だったので 1.8 用に書き換えたよという話。



まずは必要なパッケージの導入。

$ yum groupinstall "Development Tools"
$ yum install openssl-devel qt-devel

そしてコンパイル

$ wget 'http://phantomjs.googlecode.com/files/phantomjs-1.8.0-source.zip'
$ unzip phantomjs-1.8.0-source.zip
$ cd phantomjs-1.8.0
$ ./build.sh --confirm

build.sh が勝手にコンパイルしてくれるのでこれを叩けばOK.

ただし、コンパイルには時間がかかるので注意。
さくらのクラウドで、 CPU:3GHz*3, Memory:8GB, Storage:SSD の環境で 40分程度かかった。



次に RPM 構築。
rpm ディレクトリに RPM 作業ディレクトリを作って rpm 構築までしてくれるスクリプト mkrpm.sh が用意されているのでこれを利用する。

しかし、デフォルトで用意されていた rpm/phantomjs.spec がちと古いようなので、以下のように書き換え。

1.7 を 1.8.0 としてるのは個人的趣味。

あとは mkrpm.sh を実行して完了。

$ cd rpm
$ diff -u phantomjs.spec.original phantomjs.spec
$ ./mkrpm.sh phantomjs
=> Copying sources...
=> Creating source tarball under /tmp/tmp.RAAiMG3820/SOURCES...
=> Building RPM...
/tmp/phantomjs-1.8.0-1.x86_64.rpm

/tmp/phantomjs-1.8.0-1.x86_64.rpm が生成された RPM

こちらは、コンパイル済みのファイルをまとめて RPM を構築するだけなので早い。