ダウンロード
wgetでソースをダウンロードして、展開しましょう
wget https://dist.ipfs.io/go-ipfs/v0.7.0/go-ipfs_v0.7.0_linux-amd64.tar.gz
tar -xvzf go-ipfs_v0.7.0_linux-amd64.tar.gz
以下のファイルが展開されます
go-ipfs/install.sh
go-ipfs/ipfs
go-ipfs/LICENSE
go-ipfs/LICENSE-APACHE
go-ipfs/LICENSE-MIT
go-ipfs/README.md
インストール
展開されたシェルを使ってインストールします
cd go-ipfs
sudo bash install.sh
Moved ./ipfs to /usr/local/bin
インストールされているか確認します
ipfs --version
>ipfs version 0.7.0
初期処理
環境変数を設定します。これを設定しないと、ipfsのデータが$HOME配下/.ipsfに作成されます
export IPFS_PATH=/data/ipfs
ipfs格納用ディレクトリを作成する
sudo mkdir -p /data/ipfs
sudo chown ec2-user:ec2-user /data/ipfs
下記を実行してローカルのIPFSリポジトリを初期化。
profile serverをつけるとプライベートネットワーク内で他のノードを探すような通信が発生しません。
ipfs init --profile server
ホームディレクトリ配下にリポジトリが生成されます
generating ED25519 keypair...done
peer identity: キー
initializing IPFS node at /home/user/.ipfs
to get started, enter:
ipfs cat /ipfs/xxxxxxxxxxxxxxxxxxxx/readme
GateWay設定
ipfs config Addresses.Gateway /ip4/0.0.0.0/tcp/8080
起動
ipfsのコマンドを使って起動します
ipfs daemon
Ctrl+cで停止できます
systemctlで管理
バッググラウンドで起動させたいので、systemctlに組み込みます。
以下のファイルを好きな場所に作成してください。(例として/opt配下に作成)
> sudo vi /opt/ipfs.sh
#!/bin/bash
ipfs daemon
実行権限を付与
sudo chmod 0755 /opt/ipfs.sh
定義ファイルを作成します
sudo vi /etc/systemd/system/ipfs.service
[Unit]
Description=ipfs
After=network.service
[Service]
Type=simple
Restart=on-success
ExecStart=/opt/ipfs.sh
Environment="IPFS_PATH=/data/ipfs"
[Install]
WantedBy=multi-user.target
SystemCtlを使って起動してみます
sudo systemctl start ipfs
正しく起動されているかstatusコマンドを使い確認します。
sudo systemctl status ipfs
● ipfs.service - ipfs
Loaded: loaded (/etc/systemd/system/ipfs.service; disabled; vendor preset: disabled)
Active: active (running) since Mon 2020-09-28 05:40:42 UTC; 4s ago
Main PID: 2654 (ipfs.sh)
CGroup: /system.slice/ipfs.service
tq2654 /bin/bash /opt/ipfs.sh
mq2657 ipfs daemon
その他コマンド
他ノードとの接続状況を確認
ipfs swarm peers
addしたファイルが共有されているか確認
ipfs dht findprovs addしたファイルのハッシュ値
コメント