LoginSignup
15
10

More than 3 years have passed since last update.

Symbol Testnet node 構築備忘録

Last updated at Posted at 2020-02-11

※注意 2020/10/29 現在の symbol-bootstrap での構築方法とは異なっています

これは

https://billing.time4vps.com

借りたサーバーで

テストネットノードを構築した際の 備忘録である

この構築にあたっては

mikun氏
https://twitter.com/mikunNEM

の協力無くしては

成し得ませんでした 今一度 感謝の意を表します

☕☕☕セキュリティー編☕☕☕☕☕☕☕☕☕☕☕

ここでは 例として
usernameを "pasomi"
sshdportを "20023"
として 作業を進めます

rootでログイン

新しいuser作成

adduser pasomi(任意の名前)

新しいuserにsudo権限付与

gpasswd -a pasomi sudo

sshポート変更とrootログイン禁止

vim /etc/ssh/sshd_config

"i"で編集を開始

接続Poetの変更
"#Port 22"を"Port 20023"(任意の数字)に変更
※先頭の"#"は消す事 "#"があると 反映しません

rootログインを禁止
"PermitRootLogin yes"を"PermitRootLogin no"に変更
無題2.png

ESC keyで編集を終了

":wq"で保存して終了
※間違った時は":q!"で保存せず終了

設定変更を反映させる

systemctl restart sshd

※rebootの方がいいかも

これより後は変更したsshポートでないとログイン不可
rootでのログインも不可

port20023でpasomiにログイン

☕☕☕dockerインストール編☕☕☕☕☕☕☕☕☕

(参考サイト https://qiita.com/youtangai/items/ff67ceff5497a0e0b1af)

dockerがインストールのシェルスクリプトを用意しているので,それを実行します

curl https://get.docker.com | sh

デフォルトだと,sudoなしではdockerを実行できません.
ユーザをdockerグループに追加すると,sudoなしでdockerコマンドを実行できるので追加します.

sudo usermod -aG docker pasomi

その後,ユーザ情報を更新するために再起動します.

sudo reboot

ターミナルが消える(再起動が掛かる)
ターミナル再起動

pasomiでログイン

dockerを起動し,常時起動するようにします

sudo systemctl start docker
sudo systemctl enable docker

dockerが正常にインストールできたか確認します

docker --version

ここでは"Docker version 19.03.5, build 633a0ea838"と出れば完了

☕☕☕docker-composeインストール編☕☕☕☕☕☕

(参考サイトhttps://qiita.com/youtangai/items/ff67ceff5497a0e0b1af)

↓でdocker-composeの最新のバージョンを確認しましょう(メモしてください)
https://github.com/docker/compose/releases

ここでは"1.25.4"と出る

docker-composeをインストール

sudo curl -L https://github.com/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

("1.25.4"は確認したバージョンを入力する)

docker-composeコマンドを実行できるように,実行権限を与えます

sudo chmod +x /usr/local/bin/docker-compose

docker-composeが正常にインストールできたか確認します

docker-compose --version

ここでは"docker-compose version 1.25.4, build 8d51620a"と出る

☕☕☕bootstrapのダウンロード☕☕☕☕☕☕☕☕

Gitをインストール--------------
(参考サイト https://qiita.com/tommy_g/items/771ac45b89b02e8a5d64)

Gitをインストール

sudo apt-get install git

以下のコマンドを叩き、バージョンが表示されていればOK

git --version

以下のコマンドを叩き、初期設定を行う

git config --global user.name pasomi
git config --global user.email pasomi

☕☕☕ufw(FireWall)のインストールと設定☕☕☕☕☕

(参考サイト https://qiita.com/_takeuchi_/items/2a1ee9b53c6a863bf844)

ufwをインストール

sudo apt-get install ufw

SSHで使用しているポート以外を閉じる

sudo ufw allow 20023/tcp(前に設定したsshポート)

設定を反映させる

sudo ufw enable

FireWall設定の確認

sudo ufw status

※ 2020/09/21修正
/symbol-testnet-bootstrap/api-harvest-assembly/docker-compose.yaml に記述されている為
7900/7902/3000 のportは
ufw 設定で開ける必要はありません

bootstrapをインストール

git clone https://github.com/nemfoundation/symbol-testnet-bootstrap.git

bootstrap起動の為にディレクトリに移動

cd symbol-testnet-bootstrap/api-harvest-assembly

(又は"cd symbol-testnet-bootstrap/peer-assembly")

IPとフレンドリネームの設定ファイルを編集する

vim api-node/userconfig/resources/config-node.properties.template

[localnode]の下にある
"host ="を"host = 176.223.130.232"に変更(自分のIP)

"friendlyName = FRIENDLY_NAME"を "PASOMI! from @dusanjp"に変更
無題.png

docker-composeを実行する

sudo docker-compose up --build --detach

dockerを停止する時は

sudo docker-compose down

☕☕☕更新の方法 例①☕☕☕☕☕☕☕☕☕☕☕

Bootstrapのアップデートがあった時は、

サーバにlogin後
"api-harvest-assembly"ディレクトリへ移動

cd symbol-testnet-bootstrap/api-harvest-assembly

Bootstrapを停止してから、

sudo docker-compose down

※ここでdockerのキャッシュを削除するといいかも

sudo docker system prune -a

"symbol-testnet-bootstrap"の直上のディレクトリまで移動

cd

"symbol-testnet-bootstrap"を全て削除して、※これ結構時間かかる場合あるからあわてないでね

sudo rm -rf symbol-testnet-bootstrap

新しいBootstrapをダウンロードして、やり直してみてください👍

git clone https://github.com/nemfoundation/symbol-testnet-bootstrap.git

"api-harvest-assembly"ディレクトリへ移動

cd symbol-testnet-bootstrap/api-harvest-assembly

IPとフレンドリネームの設定ファイルを編集する

vi api-node/userconfig/resources/config-node.properties.template

docker-composeを実行する

sudo docker-compose up --build --detach

☕☕☕更新の方法 例②☕☕☕☕☕☕☕☕☕☕☕

更新の確認 https://github.com/nemfoundation/symbol-testnet-bootstrapで確認

"api-harvest-assembly"ディレクトリへ移動

cd symbol-testnet-bootstrap/api-harvest-assembly

api-harvest-assemblyを停止

sudo docker-compose down

上のディレクトリ"symbol-testnet-bootstrap"へ移動

cd ../

bootstrapを更新

git pull

ディレクトリ"api-harvest-assembly"へ移動

cd api-harvest-assembly

api-harvest-assemblyを開始

sudo docker-compose up -d

☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕☕

再立ち上げに失敗した時は

一旦 サーバーを再起動

sudo reboot

firewallを起動

sudo ufw enable

ディレクトリ移動

cd symbol-testnet-bootstrap/api-harvest-assembly

ブートストラップ起動

docker-compose up -d

これで行けます

こちらも参考にしてね
"Symbolのテストネットのノードを新しいノード構築ツールで立て直した際に発生したトラブルとその対処方法"
https://qiita.com/salaryman-toushi/items/1333c454d75f303460fe

https化については
ココを参考にすると良い
https://nemlog.nem.social/blog/31033

コピペする際の注意
無題1.png

15
10
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
10