【WordPressカスタマイズ相談】現役プログラマが解決策を教えます

WordPress(ワードプレス)のお悩み、うまくいかなくてお困りなこと、不具合調査、新規制作依頼まで、ウェブアプリケーションエンジニアがあなたをサポートします。

PhantomJSをインストールする(Ubuntu)

f:id:jsaz:20171124183939p:plain
[Ubuntu]PhantomJSインストール手順

UtuntuにPhantomJSをインストールしました。

用途は以下の2つです。

  • Laravel/Duskでテストする
  • 応募フォームの応募フロー自動化

Laravel/DuskはChromeDriverの他、PhantomJSも選べます。
環境によってはChromeDriverがインストールできないこともあり、今回はPhantomJSを選ぶことになりました。

応募フォームの応募フロー自動化は、単純に手間を省きたかったからです。
PhantomJSを使うと比較的簡単にスクレイピングができるということで選びました。
こちらはシナリオテストレベルの使い方、Laravel/DuskはDBの結果と突き合わせたりするので単体/結合レベルのテスト用という感じでしょうか。

それでは、OS:Utuntuにインストールしていきます。

参考にしたサイト

install phantomjs 2.1.1 - ubuntu · GitHub

パッケージリストの更新

$ sudo apt-get update

apt-get install 前のルーチンです。

必要なパッケージをインストール

$ sudo apt-get install build-essential chrpath libssl-dev libxft-dev -y
$ sudo apt-get install libfreetype6 libfreetype6-dev -y
$ sudo apt-get install libfontconfig1 libfontconfig1-dev -y

私の環境では既にインストール済みとなり、新たにインストールするものはありませんでした。

日本語フォントインストール

sudo apt-get install fonts-migmix 

これを入れずにPhantomJSを起動すると文字化けします。
□で表示されたら、この作業が必要です。

phantomjsのバージョン指定を変数に保持

$ cd ~
$ export PHANTOM_JS="phantomjs-2.1.1-linux-x86_64"
$ echo $PHANTOM_JS
phantomjs-2.1.1-linux-x86_64

ここはただ以降のコマンドで使用する目的で変数を設定しています。

phantomjsをgitから取得

$ wget https://github.com/Medium/phantomjs/releases/download/v2.1.1/$PHANTOM_JS.tar.bz2
Saving to: ‘phantomjs-2.1.1-linux-x86_64.tar.bz2’

phantomjs-2.1.1-linux- 100%[=========================>]  22.33M  2.38MB/s    in 12s     

2017-11-23 08:30:49 (1.82 MB/s) - ‘phantomjs-2.1.1-linux-x86_64.tar.bz2’ saved [23415665/23415665]

ファイル確認

$ ls -la phantomjs-2.1.1-linux-x86_64.tar.bz2 
-rw-rw-r-- 1 vagrant vagrant 23415665 May 22  2017 phantomjs-2.1.1-linux-x86_64.tar.bz2

tar.bz2ファイルをダウンロードできました。

ファイル展開、インストール

$ sudo tar xvjf $PHANTOM_JS.tar.bz2
$ sudo mv $PHANTOM_JS /usr/local/share
mv: cannot move 'phantomjs-2.1.1-linux-x86_64' to '/usr/local/share/phantomjs-2.1.1-linux-x86_64': Directory not empty
  • 展開後のファイル移動時にエラーが出たけど、実態はあるためスルーしました。
$ ls -la /usr/local/share/
total 32
drwxr-xr-x  8 root root  4096 Nov 16 07:51 .
drwxr-xr-x 11 root root  4096 Oct 16 12:45 ..
drwxr-xr-x  2 root root  4096 Aug 23 01:50 ca-certificates
drwxrwsr-x  2 root staff 4096 Oct 16 12:38 fonts
drwxr-xr-x  2 root root  4096 Feb 15  2017 man
drwxr-xr-x  4 root root  4096 Jan 25  2016 phantomjs-2.1.1-linux-x86_64
drwxrwsr-x  7 root staff 4096 Aug 23 01:50 sgml
drwxrwsr-x  6 root staff 4096 Aug 23 01:50 xml

シンボリックリンク作成

$ sudo ln -sf /usr/local/share/$PHANTOM_JS/bin/phantomjs /usr/local/bin
  • phantomjsコマンドを使うために実行します。

phantomjsインストール確認

$ phantomjs --version
2.1.1
$ which phantomjs
/usr/local/bin/phantomjs

不要なダウンロードファイルを削除

$ rm phantomjs-2.1.1-linux-x86_64.tar.bz2 

特に問題なくインストールできました。
これでphantomjsコマンドを使うことができます。