"b" Symbol bootstrap 動作環境 自動構築 shellscript（ﾍﾞｰｽ構築）

# 取っ掛かり
いつもながら　"Tera Term" を使用してます

OSは　ubuntu 16.04/18.04/20.04/22.04 を選択して下さい
ｻｰﾊﾞに root でﾛｸﾞｲﾝ
（又は ﾛｸﾞｲﾝ後 "sudo su" で権限昇格 "cd" で home ﾃﾞｨﾚｸﾄﾘへ移動）

    vi b
"i" を入力　編集ﾓｰﾄﾞにする
下記の scriptをｺﾋﾟｰ　ﾍﾟｰｽﾄ


下記をｺﾋﾟﾍﾟ

    #!/bin/bash

    #new username
    echo "??? please input new username ???"
    read username

    #new sshd port
    echo "??? please input new sshd port ???"
    read sshd
    #----------
    echo "continue working......."

    #usernameset
    adduser $username
    gpasswd -a $username sudo

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

    #ufw set
    apt-get install ufw
    ufw reset
    ufw allow $sshd/tcp

    #ufw start
    ufw enable
    ufw status

    #docker
    curl https://get.docker.com | sh
    usermod -aG docker $username
    systemctl start docker
    systemctl enable docker
    docker --version

    #docker-compose
    curl -L https://github.com/docker/compose/releases/download/v2.29.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    docker-compose --version

    systemctl restart docker

    #node js
    curl -sL https://deb.nodesource.com/setup_20.x | sudo -E bash -
    apt-get install -y nodejs
    node -v
    npm -v

    #install jq
    apt-get install jq

    echo "Please log off After this, and use 'up' after re-login with the set sshd / username / password."


"ESC" を押して　編集ﾓｰﾄﾞ終了
":wq" を入力 "ENTER" で保存終了

# script "b" の実行
    sh b
script がｽﾀｰﾄします
# scriptを起動したら

![無題1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582454/32340d8c-09c7-d5ee-e8d9-49ea83e3062d.png)

新しい username
22 から　変更したい sshd port
の2項目を　入力 [ENTER]

後は
user pw の設定（2回入力）
途中で "[Y/n]" は "y"

もし　入力内容に　間違いを見つけたら
[ctrl]+c で script を中断して
["script "b" の実行"](https://qiita.com/dusanjp/items/505bf4f3598c7dd90461#script-b-%E3%81%AE%E5%AE%9F%E8%A1%8C) から　やり直して下さいw
※2回目以降の script の実行では
1回目で設定した user の ﾊﾟｽﾜｰﾄﾞ は 聞いて来ませんので 注意して下さい

"Please log off After this, and use 'up' after re-login with the set sshd / username / password."
と 表示されたら　"b" の実行は終了です

これで symbol-bootstrap の 実行環境は　出来上がりました
-
この後　"b" で 新しく作成した 「sshd port」「username」「password」で
再び ﾛｸﾞｲﾝ 出来る事を 確認してから 先に進んで下さい

# ！！！！！注意！！！！！
※まだ root で ﾛｸﾞｲﾝ している方の teraterm は　閉じないで下さい
teraterm を 新しい「sshd port」「username」「password」で ﾛｸﾞｲﾝ する
[ﾛｸﾞｲﾝ 出来たら こちらへ](https://qiita.com/dusanjp/items/505bf4f3598c7dd90461#%E3%81%93%E3%81%93%E3%81%8B%E3%82%89%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%81%B8)

↓↓↓ﾛｸﾞｲﾝ 出来ない場合は　以下へ↓↓↓
-
※ 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](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/582454/fe636d81-cedd-ab72-3d13-1990bb4faf7a.png)

これで sshd port の変更が完了します　user名 と ﾊﾟｽﾜｰﾄﾞの変更はありませんので
sshd port だけを変えて ﾛｸﾞｲﾝを試して下さい
新しい user で ﾛｸﾞｲﾝ 出来た時点で rootでﾛｸﾞｲﾝしていた方は閉じて下さい
　

# ここからはこちらへ
# ① [Symbol node の ｽﾀｰﾄ 【ふりーはんど 版】](https://qiita.com/dusanjp/items/7410700885deea0f5b0b#symbol-node-%E3%81%AE-%EF%BD%BD%EF%BE%80%EF%BD%B0%EF%BE%84b-%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E5%A0%B4%E5%90%88%E3%81%93%E3%81%93%E3%81%8B%E3%82%89)


または

# ②[ "up" Symbol node build/rebuild script 及び　"update" node 更新 script](https://qiita.com/dusanjp/items/479a7997664680836d13)
　
　

# ☆おまけ☆["b" を使ってみた！　実況だぞ](https://twitter.com/dusanjp/status/1512958454188904449?s=20&t=NDjk0Xzb7CvGQ_vTjYJl3Q)


参考資料

Symbolテストネットノードを建ててみた (v0.10.x Hippo on Ubuntu Server 18.04)
https://nemlog.nem.social/blog/49345

nemtech/symbol-bootstrap
https://github.com/nemtech/symbol-bootstrap

次世代NEMブロックチェーン、Symbolに迫る(9) ~テストネット設定編~
https://note.com/daokasweep/n/n94c30a6f0d55