ServersMan@VPS編です。
第一章は後回しです・・・。*1
記事更新
2016-09-02:最新VerのNIS(0.6.79-BETA)に更新しました。
所要時間
VPSサービス契約からスーパーノード起動まで、順調に進めて丸1日は掛かるかと思います。
作業時間は、数時間程度。コピペでいいなら1時間。
- VPSサービスを契約する(十数分)
- サーバ構築が完了するまで待つ(10-15分)
- サーバにログインして、セキュリティ設定+αを行う(1時間)
- NISを起動させてBlockの同期を行う(数時間)
- 委任ハーベスト(6時間待ち)
- 4と5を待っている間にスーパーノードの設定(数十分)
1. VPSサービス契約
ServersMan@VPSへ飛んで、VPSサービスを契約します。
ServersManは、後からアップグレードができるのでメモリ2GBのStandardプランで良いでしょう。*2
今回は、Ubuntu14.04 LTS(64bit)で進めていきます。
申込画面の3番目は、以下のとおりです。
申込が終わると、自動的にサーバ構築が行われます。
2. サーバ構築まで暫し待つ
10~15分位。
状況は、My DTIで確認できます。
契約中サービスにある、契約したVPSの状態が稼働中となっていれば使える状態です。
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はウォレットを使うためのソフトですのでサーバ上で動かす必要はありません。
ローカル上で動かしましょう。
うっかりサーバ上で動かすと、あなたのウォレットも全世界に公開されちゃうかもですよ?
以下の様な状態が良いでしょう。
5. 委任ハーベスト
別記事(の3)参照。
ウォレットの操作なので、ローカルのPC上で。
6. スーパーノードの設定
別記事(の8あたり)参照しながら、サーバ上の設定を行います。
設定が終わったら、サーヴァント起動。
nem@localhost:~/nemServer$ cd servant nem@localhost:~/nemServer/servant$ ./startservant.sh
これで、動くはず。
(2016-07-03追記)
ちゃんと動いていますね٩( 'ω' )و
※残高が足りないのは仕様です。
(2016-07-04追記)
4から6のリンク先が間違っていたので修正。