※注意 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"に変更
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"に変更
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