Serposcope

Serposcopeを格安VPSに設置してみた。

格安サーバーにSerposcopeをインストールして運営する

以前、SerposcopeをGCEからPCに移動させたんですが、PCで運営する場合、PCを起動させていないといけないんです。それが面倒で、やはりサーバーで自動でデータを取ってきてもらうようにしたい。
今回、格安VPSサーバーIndigoに、Serposcopeを設置して、自動でデータを取ってくるようにします。
今回使用するサーバーIndigoは、格安のVPSサーバーです。上限ありの従量制です。一番安いプランで、月当たり349円未満で使用することができます。費用の上限があるので、うっかりしていて支払いがとんでもないことになっていたということがないです。
メモリも1GBあるので、Serposcopeを運営するには十分だろうと思います。



Indigoのサインアップ

まずはサインアップします。
申し込みをクリック。
サインアップの画面になるので、名前、メールアドレス、国、電話番号、希望のパスワードを入力します。
確認メールが送信されるので、確認します。
電話番号の確認があるので、電話かSMSを選択して送信ボタンを押します。SMSをここでは選択しました。

SMSを確認して、コードを入力します。

クレジットカード情報そのほか住所等を入力します。

アンケートを入力して、完了ボタンを押します。
これでサインアップは完了です。
これからサーバーを立ち上げます。

SSH鍵の作成

まずはサーバーのアクセスにSSHを使用します。そのためのSSH鍵を作成します。
サービス名でIndigoと表示されています。WebARENAというNTTのサービスの一部としてIndigoがサービス運営されています。
ここで、アクションの下に、二つアイコンが表示されていますが、そのうち、アクセスするというアイコンをクリックします。

するとダッシュボードという画面になります。

ここで、左のペーンのインスタンス管理>SSH鍵を選択します。

 

SSH鍵一覧という画面になります。ここで、サーバーとのアクセスに使うSSH鍵を作成しておきます。
SSH鍵の作成というボタンをクリックします。

SSH鍵の作成で、SSH鍵名のところに鍵の名前を入力します。ここではserposcopeとしておきます。
作成ボタンをクリックします。

すると、private_key.txtがダウンロードされ、SSH鍵名にserposcopeと表示され、状態がアクティブになっています。
ダウンロードされたファイルはプライベートキーです。これは大切に保存してください。

インスタンスの作成

左のペーンのインスタンス管理>インスタンスをクリック。
インスタンス管理の画面になります。
インスタンスの作成をクリックします。

イメージの選択のところで、ここではUbuntu20.04を選択します。
サイズの選択は、1 cCPU 1GB RAM 20GB SSD 100Mbps を選択します。
SSH鍵の選択は、先ほど作成したserposcope、
リージョンの選択は日本にします。
インスタンス名はそのままで、インスタンスの作成をクリックします。

すると、インスタンスの一覧に、インスタンスが表示され、OSインストールを実行中です、IP割り当てが進捗中ですと表示されます。
インストール完了までしばらく待ちます。
画面を更新して、ステータスがStoppedになっていて、IPアドレスが表示されていたら、インストール完了しています。

インスタンスの起動

インスタンスを起動します。
右の方の操作のところの選択をクリックします。選択リストが表示されるので、インスタンスの起動をクリックします。
インスタンスをオンにしますか?と表示されるので、OKをクリックします。

するとステータスがRunnningとなります。

サーバーにログインする

SSH鍵を使ってログインします。
ここでは、Tera termというWindowsアプリを使用します。
Tera Termのインストールはここでは割愛します。ググると情報があります。
Tera Termを起動させると、 ログイン情報の画面が表示されます。
Hostのところに、IPアドレスを入力します。

 

SECURITY WARNINGという画面が出ますが、Continueをクリックします。

 

User name と Passphraseを入力する画面になりますが、ここでは、ubuntuとUser nameに入力します。Passphraseには何も入力しません。
下のUse RSA/DSA/~ key to log inというところがありますが、チェックして、Private key file:をクリックして、先ほどダウンロードしたprivate_key.txtを指定します。
OKをクリックします。
するとログインできます。

Serposcopeをインストール

ここでは、Serposcopeを公式のインストールマニュアルにそってインストールします。
まずは、Javaをインストールします。

sudo apt install default-jdk
Javaがインストールされます。
java -versionと入力すると、確認できます。
wget https://serposcope.serphacker.com/download/2.14.0/serposcope_2.14.0_all.deb
(ubuntu版のserposcopeのファイルのある所のダウンロードリンク)
と入力すると、Serposcopeのインストールファイルがダウンロードされます。
ここで
Failed to start serposcope.service: Unit serposcope.service not found.とでて、エラーになります。
どうやら、Javaのパスの指定が、初期だとうまくいかないようです。

sudo update-alternatives --config java
でパスを調べると
/usr/lib/jvm/java-11-openjdk-amd64
だったので、これをコピーしておきます。
これをSerposcopeの設定ファイルに指定します。

sudo nano /etc/default/serposcope
で、
#JAVA_HOME=
の#を消して、
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
と書いて、保存します。
sudo service serposcope start
そのあと、

systemctl status serposcope.service


active (running)と表示されたら成功です。

ここで、IPアドレス :7134とブラウザに打ち込むと、Serposcopeが表示されます。

MySQLで運営する

標準のデータベースからMySQLに変更します。データが多くなるとこちらのほうがいいようです。
ここではMySQL互換のMariaDBをインストールします。

sudo apt install apt-transport-https
curl -LsS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash
sudo apt update
sudo apt install mariadb-server

(この順番でインストールしないと途中で止まる)

sudo mysql -u root -p
Enter password:
そのままリターンで
CREATE USER 'ユーザー名'@'ホスト名' identified by 'パスワード';
GRANT ALL PRIVILEGES ON *.* TO 'ユーザー名'@'ホスト名';
FLUSH PRIVILEGES;
exit

で一度でて、作ったユーザーでログインする。
mysql -u ‘ユーザー名’ -p

でパスワードを入力し、リターン
CREATE DATABASE serposcope DEFAULT CHARACTER SET utf8;
でデータベースを作成します。
show databases;

で作成したデータベース(ここではserposcope)を確認します。
確認したら、exitでmySQLを出ます。

ここで、serposcopeの設定ファイルに、MySQLのパスを登録します。
sudo nano /etc/serposcope.conf

# alternative database url
#serposcope.db.url=

のところの#を消去して、
# alternative database url
serposcope.db.url=jdbc:mysql://localhost/serposcope?user=ユーザー名&password=パスワード&allowMultiQueries=true
と打ち込んで、保存します。

sudo service serposcope restart
で再稼働します。

もともとのwindowsのSerposcopeのデータを移行しようと思ったが、なぜかWindowsにインストールしていたmariaDBをアンインストールしてた。一緒にデータも消えてました。またデータを一から構築する予定。

エラーが出てクロールが失敗する

ランクをチェックしても、エラーがでて成功しない時は、
Setting>GoogleのPauseのMinとMaxを大きくするとエラーがでなくなった。(Min140Max200にした。)

これを大きくすればするほど成功確率が上がる。ただしかかる時間は長くなる。

まとめ

格安VPSサーバーのIndigoに、Serposcopeをインストールしてみました。使用料金がとても安いわりに、メモリが1GBあるおかげか、さくさく動く印象です。サイトのUIも使いやすく、さすがNTTといった感じです。

Serposcopeはただというわけではないですが、格安で運営できます。また、上限が349円なので、別のサービスを追加で入れてみてもいいかも。(例えばMT4とか。)



おすすめドメイン

-Serposcope