LoginSignup
14
8

More than 1 year has passed since last update.

Symbol node 起ち上げ(ふりーはんど版)【"b" にも対応してます】

Last updated at Posted at 2021-03-07

Symbol node を symbol-bootstrap を利用して手動で起ち上げたい人向け

Symbol-bootstrap を動作させる環境を作る

※この部分は 手入力で動作環境を構築する方法を述べています
自動で環境構築を行う "b" を使用すると
Symbol node の スタートから始める事ができます
【"b" Symbol bootstrap 動作環境 自動構築 shellscript(ベース構築)】

今回は t4vps c8プランを使用
※仮起ち上げの為スペックが低いプランを使用しています 実際は c16+faster ssd オプション以上でまともに動作します
若しくは 相応のスペック の vps を使用して下さい

ここでは user名を test8
IPアドレスは 212.24.106.178
sshdポート は 22 から 123 へ変更とする
※(この記事では 123 としてますが 1023 迄はシステムが使用しているので
1024~65535 の間にして下さい)
とする

各自で変更して作業して下さい

teratermを開き rootに sshdポート 22/root のパスワードでログイン
 
新しい user を作成

adduser test8

 
新しい user に sudo権限を付与

gpasswd -a test8 sudo

 
sshd port を変更する

vi /etc/ssh/sshd_config

"i" と打つと 入力が出来る様になります

sshd_config1.png
これを
sshd_config3.png
こうします

変更の入力が終わったら [esc]を押下 ":wq" と打って下さい 変更が保存されます
※!注意! 上記の作業後は root と root パスワード では ログイン出来なくなります
この作業後は 新規で作成した sshd port/アカウント/パスワード でのみ ログイン可能です
 
sshd_config の変更を反映させる

systemctl restart sshd

 
ufw インストール

apt-get install ufw

 
sshd port を開く

ufw allow 123/tcp

 
ufw を有効にする

ufw enable

 
ufw の状態を確認する

ufw status

ufw.png

 
docker インストール

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

 
user に docker 実行権限を付与

usermod -aG docker test8

 
docker 起動 

systemctl start docker

 
docker を常時起動させる

systemctl enable docker

 
docker のバージョン確認

docker --version

 
docker-compose インストール

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

 
docker-compose の実行権限の付与

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

 
docker-compose のバージョン確認

docker-compose --version

 
node.js インストール

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -

 

apt-get install -y nodejs

 
node.js のバージョン確認

node -v

 
npm のバージョン確認

npm -v

 
jq インストール

apt-get install jq

はい!
ここまでで symbol-bootstrap を 動作させる環境は 出来上がりました
この後からは 別に teraterm を開いて node の構築を行います

!!!!!注意!!!!!

※まだ root で ログイン している方の teraterm は 閉じないで下さい
teraterm を 新しい sshd ポート/user/パスワードで ログインする
ログイン 出来たら こちらへ
【symbol-bootstrap を使って node の構築をする】

 
↓↓↓新しく作成した sshd ポート/user/パスワードで ログイン 出来ない時↓↓↓

※ sshd port の番号によっては ログイン出来なくなる場合があります
その場合は root で ログイン 中の サーバで 以下 "re" を実行すると sshd port の設定を変更出来ます
ディレクトリ は どこにいても 実行出来ます

sshd port 再設定 script "re"

vi re

 
"i" と打って 以下をコピペして下さい

ufw reset
#new sshd port
echo "going to set new sshd port setting"
echo "??? please input new sshd port ???"
read sshd
#----------
echo "now remakeing new sshd setting..."

#sshdset
sed -i -e s/".*Port .*"/"Port $sshd"/ /etc/ssh/sshd_config
systemctl restart sshd

#ufwset
ufw allow $sshd/tcp
ufw enable

echo "now reset sshd port to" $sshd

"ESC" を押して 編集モード終了
":wq" を入力 "ENTER" で保存終了
 
"re" を実行します

sh re

下図の様に 入力を進めて下さい
image.png

これで sshd port の変更が完了します user名 と パスワードの変更はありませんので
sshd port だけを変えて ログインを試して下さい
新しい user で ログイン 出来た時点で rootでログインしていた方は閉じて下さい
 

Symbol node の スタート("b" を使用した場合 ここから)

"b" symbol-bootstrap 動作環境構築 shellscript は こちら

☆おまけ☆node を スタートしてみた! 実況だぞ

symbol-bootstrap を使って node の構築をする

ここからは root で無く新しい sshd port/user/パスワードで ログインして作業します

作業ディレクトリの作成

mkdir symbol-bootstrap

 
作業ディレクトリに入る

cd symbol-bootstrap

 
bootstrap インストール

sudo npm install -g symbol-bootstrap

 
custom.yml の作成

vi custom.yml

"i" で入力開始
サーバ の IP に対応する ドメイン が 判らない時は ①
ドメイン が 判った時は ② を コピペ して保存して下さい

① custom.yml の内容(https 無し用)

こちらは https 無しの場合の コピペ 内容です
サーバ の IP に対応する ドメイン が どうしても判らない時は こちらを コピペして下さい
以下をコピペして保存 保存方法は ":wq"(enter) 保存せずに終了は ":q!"(enter)

nodes:
    -
        host: 212.24.106.178
        friendlyName: test8

        maxUnlockedAccounts: 100
        transactionSelectionStrategy: oldest
        minFeeMultiplier: 10
        beneficiaryAddress:

        maxChainBytesPerSyncAttempt: 50MB
        messageSynchronizationMaxResponseSize: 5MB
        blockDisruptorMaxMemorySize: 1000MB

※ hostの "212.24.106.178" の部分は 自分の vps の IP address を使用して下さい
※ friendlyName の "test8" の部分は 自分が付けたい名前にして下さい

② custom.yml の内容(https あり用)

こちらは https ありの場合の コピペ 内容です
サーバ の IP に対応する ドメイン が 判った場合は こちらを コピペ して下さい
以下をコピペして保存 保存方法は ":wq"(enter) 保存せずに終了は ":q!"(enter)

nodes:
-
    host: ドメイン
    friendlyName: test8

    maxUnlockedAccounts: 100
    transactionSelectionStrategy: oldest
    minFeeMultiplier: 10
    beneficiaryAddress: 

    maxChainBytesPerSyncAttempt: 50MB
    messageSynchronizationMaxResponseSize: 5MB
    blockDisruptorMaxMemorySize: 1000MB

httpsProxies:
    -
        excludeDockerService: false

サーバ のIP に対応する ドメイン が判らない時は下記の サイトで確認する事が出来ます
ドメイン/IPアドレス サーチ 【whois情報検索】

※上記の ファイル は 記述の 1例 です
ファイル の 中にある 行(項目)で

○ maxUnlockedAccounts: 100
○ transactionSelectionStrategy: oldest
○ minFeeMultiplier: 10
○ beneficiaryAddress:

↑ これらの項目は 御自分で任意の値に書き換える事が出来ます
他にも いろいろ記述出来る項目があります
探して見て下さい

target作成

ここは testnetは① mainnetは②を実行して下さい

① testnet の場合

symbol-bootstrap config -p testnet -a dual -c custom.yml

 
② mainnet の場合

symbol-bootstrap config -p mainnet -a dual -c custom.yml

config.png

※ここで パスワードの入力を求められますので
自分が考えた パスワードを入力して下さい
ここで入力した パスワードは 設定変更時等に毎回聞かれます 忘れない様にして下さい

 
compose 実行

symbol-bootstrap compose

compose.png

 
bootstrap のスタート

symbol-bootstrap run -d

 
起動できたかを確認する

symbol-bootstrap healthCheck

health.png

 
node情報 の確認

curl localhost:3000/node/info|jq

nodeinfo.png

height の確認

curl localhost:3000/chain/info|jq

height.png

node address の確認

symbol-bootstrap decrypt --source target/addresses.yml --destination d_addresses.yml

 
d_addresses.yml と言う名前の ファイルが作成されます

cat d_addresses.yml

内容が表示されます main の 項目は重要です
 

内容をコピー 外部に保存したら 削除して下さい

rm -f d_addresses.yml

ここまで出来たら もう Symbol Node は動作しています
https化や 他の設定方法は
検索で出てくると思いますので

順繰りにマスターして行けば良いでしょう

symbol-bootstrap に アップデートがあった時

Symbol-bootstrap の アップデートがあるかは
https://github.com/nemtech/symbol-bootstrap
をチェックして下さい

Symbol-bootstrap の アップデート方法
作業ディレクトリに入る(ここでは symbol-bootstrap)

cd symbol-bootstrap
symbol-bootstrap stop

 
target ディレクトリの バックアップを取る事をお薦めします

cp -r target target.bak

 
symbol-bootstrap の更新〜スタート(mainnet の場合)

sudo npm install -g symbol-bootstrap
symbol-bootstrap start -p mainnet -a dual -c custom.yml --upgrade -d

これで symbol node の アップデート 作業は終了です

おすすめのページ
https://nemlog.nem.social/blog/52819

とか
https://nemlog.nem.social/blog/58808

14
8
0

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
14
8