これは
https://billing.time4vps.com
で
借りたサーバーで
テストネットノードを構築した際の 備忘録である
この構築にあたっては
mikun氏@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
dpkg -l git
以下のコマンドを叩き、初期設定を行う
git config --global user.name pasomi
git config --global user.email pasomi
ufw(FairWall)のインストールと設定--------------------------------------------------------
(参考サイト https://qiita.com/_takeuchi_/items/2a1ee9b53c6a863bf844)
ufwをインストール
sudo apt-get install ufw
SSHで使用しているポート以外を閉じる
sudo ufw allow 20023/tcp(前に設定したsshポート)
ポート3000と7900を開ける
sudo ufw allow 3000
sudo ufw allow 7900
設定を反映させる
sudo ufw enable
FireWall設定の確認
sudo ufw status
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とフレンドリネームの設定ファイルを編集する
vi api-node/userconfig/resources/config-node.properties.template
[localnode]の下にある
"host ="を"host = 176.223.130.232"に変更(自分のIP)
"friendlyName = FRIENDLY_NAME"を "xym_pasomi:wehihi_from_dusanjp"に変更
docker-composeを実行する
sudo docker-compose up --build --detach
dockerを停止する
sudo docker-compose down
更新の方法 例②-----------------------------------------------------------------------------
Bootstrapのアップデートがあった時は、
Bootstrapを停止してから、
sudo docker-compose down
※ここでdockerのキャッシュを削除するといいかも
sudo docker system prune -a
そのディレクトリを全て削除して、
sudo rm -rf symbol-testnet-bootstrap
新しいBootstrapをダウンロードして、やり直してみてください👍
git clone https://github.com/nemfoundation/symbol-testnet-bootstrap.git
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 /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
再立ち上げに失敗した時は
一旦 サーバーを再起動
sodo reboot
cd symbol-testnet-bootstrap/api-harvest-assembly
docker-compose up -d
これで行けます