Googleのクラウドサービス「Google Cloud Platform(通称GCP)」でスクレイピングツールのCasperjsを動かすための手順を備忘録としてまとめました。
GCPでCentOSのVMを作成する
2017年12月時点で、GCPのCompute Engine(=IaaS)は、以下の条件では無料で使えるというGoogle様の神対応があります。
- 1
f1-micro
インスタンス(1 か月あたり、米国リージョンのみ)- 30 GB の HDD(期間合計)、5 GB のスナップショット(期間合計)
- 1 GB の北米から全リージョン宛て下りネットワーク(1 か月あたり、中国およびオーストラリアを除く)
※公式サイトから引用
f1-microは仮想CPU1個に0.6GBのメモリととても貧弱ですが、なんせ無料ですから、ちょっとしたお遊び用として使います。
イメージはCentOS7を選択。
リージョンは必ず北米のものを選択してください。私は適当にus-west1-aを選択しました。
詳細は公式サイト参照:https://cloud.google.com/compute/docs/quickstart-linux?hl=ja
事前準備
CentOSのVMが出来たらSSHでログインして以下の事前準備を実施ください。
rootユーザになる
以下のコマンドでrootのパスワードを設定します。
sudo passwd root
設定したパスワードで入り直します。
su - root
SELINUX無効化
悪さをすることが多いSELINUXを無効化します。
vi /etc/sysconfig/selinux
該当箇所をdisabledに変更しましょう。
SELINUX=disabled
終わったらrebootが必要です。
CentOSにnodeをインストールする
CentoOSにnodeをインストールする手順は以下の通りNodeの公式サイトに記載があります。単純にyumでインストールするわけではないのでご注意を。
参照:https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
curlコマンドを使ってnodeの資材を持ってきます。
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
yumを使ってnodejsをインストールします。
yum install -y nodejs
確認しましょう。
node -v
npm -v
今のうちにnpmの初期化も済ませておきましょう。
npm init
対話式で設定が開始されますが取り敢えずは全部Enterで仮登録を。あとで変更可能です。
Phantomjsのインストール
Phantomjsのインストールに必要なbzipをインストール
yum install bzip2
Phantomjsをインストール
npm install -g phantomjs
上記で上手く行かない場合は以下のコマンドでやってみてください
npm install phantomjs --phantomjs_cdnurl=https://bitbucket.org/ariya/phantomjs/downloads
参考サイト:https://www.npmjs.com/package/phantomjs#downloading-from-a-custom-url
おまじない
yum install freetype-devel fontconfig-devel
環境変数に追加
phantomjsコマンドを打てるように環境変数に追加しましょう。
vi .bash_profile
で以下を記入。
PATH=$PATH:$HOME/bin PATH=$PATH:/root/node_modules/phantomjs/lib/phantom/bin
export PATH
確認しましょう
これでやっとphantomjsが使えるようになりました。
phantomjs -v
Casperjsのインストール
一方casperjsのインストールはnpmで一発です。
npm install -g casperjs
以上。
続いてGCPで常時Casperjsを起動する方法にチャレンジしたいと思います。