読者です 読者をやめる 読者になる 読者になる

ブロックチェーン&暗号通貨の調査記録用紙

Bitcoin、NEMを始めとする暗号通貨の基盤となっているブロックチェーン技術や暗号通貨自身の情報まとめ

#NEM のスーパーノードに最適なVPSサービスを探してみる(第二章)

ServersMan@VPS編です。
第一章は後回しです・・・。*1

記事更新

2016-09-02:最新VerのNIS(0.6.79-BETA)に更新しました。

所要時間

VPSサービス契約からスーパーノード起動まで、順調に進めて丸1日は掛かるかと思います。
作業時間は、数時間程度。コピペでいいなら1時間。

  1. VPSサービスを契約する(十数分)
  2. サーバ構築が完了するまで待つ(10-15分)
  3. サーバにログインして、セキュリティ設定+αを行う(1時間)
  4. NISを起動させてBlockの同期を行う(数時間)
  5. 委任ハーベスト(6時間待ち)
  6. 4と5を待っている間にスーパーノードの設定(数十分)

1. VPSサービス契約

ServersMan@VPSへ飛んで、VPSサービスを契約します。
ServersManは、後からアップグレードができるのでメモリ2GBのStandardプランで良いでしょう。*2
今回は、Ubuntu14.04 LTS(64bit)で進めていきます。
申込画面の3番目は、以下のとおりです。

f:id:materia-x64:20160702200432p:plain
申込が終わると、自動的にサーバ構築が行われます。

2. サーバ構築まで暫し待つ

10~15分位。
状況は、My DTIで確認できます。
契約中サービスにある、契約したVPSの状態が稼働中となっていれば使える状態です。

f:id:materia-x64:20160702202905p:plain

3. サーバにログイン、セキュリティ設定、必要なソフトインストール

サーバ構築が終わったら、ターミナルからSSHでサーバにログインします。
接続先IPやパスワードの情報はServersMan(DTI)から送られてきているメールを参照してください。

rootパスワードを変える

まず、rootのパスワードを変えましょう。
メール上に平文で載っている*3ので、誰かに盗み見されている可能性があります。

root@localhost:~# passwd
Enter new UNIX password: (変更後のパスワードを入力)
Retype new UNIX password: (再度入力)
passwd: password updated successfully
(理解している人向け)SSH鍵認証のみに変更

パスワード認証を止めてSSH鍵認証に変更する。
SSH鍵ペアを生成して、公開鍵をauthorized_keysに追記。
sshdを再起動。
再起動後、SSH鍵でログイン出来ること&パスワードでログインできないことをそれぞれ確認。

root@localhost:~# cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org
root@localhost:~# perl -p -i -e 's/^#PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_config
root@localhost:~# perl -p -i -e 's/^#PermitEmptyPasswords no/PermitEmptyPasswords no/' /etc/ssh/sshd_config
root@localhost:~# vim ~/.ssh/authorized_keys
root@localhost:~# /etc/init.d/ssh restart
ユーザの作成

root権限で外にサービスを公開するのは、セキュリティ的に宜しくないのでNISを稼働するためのユーザを作成します。

root@localhost:~# useradd nem
root@localhost:~# passwd nem
Enter new UNIX password: (パスワードを入力)
Retype new UNIX password: (再度入力)
passwd: password updated successfully
root@localhost:~# mkdir /home/nem
root@localhost:~# cp -p .profile /home/nem/
root@localhost:~# cp -p .bashrc /home/nem/
root@localhost:~# chown -R nem:nem /home/nem
root@localhost:~# chmod 700 /home/nem
必要なソフトのインストール

OSがセットアップされた直後は、Javaが入っていないのでインストール
(OracleJavaを使うため、色々しています)

root@localhost:~# apt-get update
root@localhost:~# apt-get -y install apt-file
root@localhost:~# apt-file update
root@localhost:~# apt-file search add-apt-repository
root@localhost:~# apt-get -y install software-properties-common
root@localhost:~# add-apt-repository ppa:webupd8team/java
root@localhost:~# apt-get update
root@localhost:~# apt-get -y install oracle-java8-installer
root@localhost:~# java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

nem関係で必要なものをDLしてくる。
ここから先の作業は、nemユーザで実施します。
(執筆時点のファイルの最新版は以下のVerでした。最新のVer確認はNEMのページを参照。)

root@localhost:~# su - nem
nem@localhost:~$ 
nem@localhost:~$ wget http://bob.nem.ninja/nis-ncc-0.6.79.tgz
--2016-mm-dd hh:mm:ss--  http://bob.nem.ninja/nis-ncc-0.6.79.tgz
(中略)
2016-mm-dd hh:mm:ss (1.40 MB/s) - 'nis-ncc-0.6.79.tgz' saved [123456789/123456789]

nem@localhost:~$ wget http://bob.nem.ninja/servant_0_0_4.zip -O servant.zip
--2016-mm-dd hh:mm:ss--  http://bob.nem.ninja/servant_0_0_4.zip
(中略)
2016-mm-dd hh:mm:ss (6.00 MB/s) - 'servant.zip' saved [10582497]

nem@localhost:~$ tar xzf nis-ncc-0.6.79.tgz 
nem@localhost:~$ unzip -q servant.zip
nem@localhost:~$ chmod 755 servant/startservant.sh
nem@localhost:~$ mv servant package/
nem@localhost:~$ mv package/ nemServer/
nem@localhost:~$ cd nemServer/
nem@localhost:~/nemServer$ 

4. NISを起動して、Blockの同期

ここから先は、別記事(の5あたりから)も参照して下さい。

nem@localhost:~/nemServer$ ./nix.runNis.sh

【注意】
サーバ上でNCCは起動しないように。
NCCはウォレットを使うためのソフトですのでサーバ上で動かす必要はありません。
ローカル上で動かしましょう。
うっかりサーバ上で動かすと、あなたのウォレットも全世界に公開されちゃうかもですよ?
以下の様な状態が良いでしょう。

f:id:materia-x64:20160705232126p:plain

5. 委任ハーベスト

別記事(の3)参照。
ウォレットの操作なので、ローカルのPC上で。

6. スーパーノードの設定

別記事(の8あたり)参照しながら、サーバ上の設定を行います。
設定が終わったら、サーヴァント起動。

nem@localhost:~/nemServer$ cd servant
nem@localhost:~/nemServer/servant$ ./startservant.sh

これで、動くはず。

f:id:materia-x64:20160702203436p:plain

(2016-07-03追記)
ちゃんと動いていますね٩( 'ω' )و
f:id:materia-x64:20160704002448p:plain
※残高が足りないのは仕様です。

(2016-07-04追記)
4から6のリンク先が間違っていたので修正。

 

*1: GMOクラウドVPS、契約してからサーバが出来るまで1-2営業日掛かる様なので先にこっちを。
追記。 申し込み出来てなかった・・・(´・ω・`)

*2:税込で月額1008円、3-4日分のスーパーノード報酬でペイかな?

*3:ありえねぇ…