きっかけ
今までConoHaVPSでNextcloudを動かしていたけど、使っていて問題が出てきて組み直そうかと思っていた.
スタートアップスクリプトが公開されているけどLet's Encryptとか使っていて環境が違うので使えない.
個人で使うだけなのでファイル共有できればよいのでP2Pを選択.
以前使ったことのあるResilio Syncは試してみたけどうまくインストールできなかったので他のものを探していたらSyncthingを見つけた.
P2Pだがサーバで常時起動させて置けばストレージサーバとして問題ない.
Go製のオープンソースらしくマルチプラットフォーム対応.
サーバの追加
まずは新しいサーバを追加します.
OSはUbuntu(16.04) メモリは1GB
パスワードとネームタグを適当に決めて追加を選択
スタートアップスクリプトはどこかでバグるから今回は使用しない
ユーザの追加
ついでにホスト名も変更しておく
useradd ws --create-home -G sudo
passwd ws
echo "ubuntu" > /etc/hostname
Syncthingのインストール
curl -s https://syncthing.net/release-key.txt | sudo apt-key add -
echo "deb https://apt.syncthing.net/ syncthing stable" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt update
sudo apt install -y syncthing
自動起動とファイアウォールの設定
Web GUIは8384番を使用するのでポート開放
※ 2018/01/29 修正:ユーザログインしないとsyncthingが起動しないので下記に変更
#systemctl --user enable syncthing.service
sudo systemctl enable syncthing@ws.service
sudo ufw allow ssh
sudo ufw allow 8384
sudo ufw reload
sudo ufw enable
sudo reboot
Web GUIでアクセス
デフォルトではローカルからしかアクセスできないので
~/.config/syncthing/config.xml
の27行目の127.0.0.1:8384
を0.0.0.0:8384
に書き換える
※どこからでもアクセスできるようになるのでアクセスする端末が決まっている場合はそのIPアドレスに変更したほうがよい.
syncthingを再起動し, ブラウザから<VPSのIPアドレス>:8384
にアクセスする.
アクセスしたら設定ですぐに設定>GUI
でユーザー名とパスワードを設定する.
ファイルの共有設定
- Windowsの場合サードパーティ製のクライアント[SyncTrayzor]
(https://github.com/canton7/SyncTrayzor/releases/tag/v1.1.18)をインストール. - 起動後,
メニュー>IDを表示
でデバイスIDをコピー - ブラウザから
+接続先デバイスの追加
を選択, コピーしたデバイスIDをペースト, デバイス名を設定して保存.
- クライアント側に新規デバイスの追加を承認し, デバイスの設定をする. アドレスはVPSのIPを指定.
- フォルダーの追加設定
- クライアント側で新規フォルダーの追加承認
- Android/iOSの場合はアプリをストアからインストールし, QRコードを読み取りデバイスIDを入力できる.
さいごに
Web GUIのアクセス制限で何時間も詰まったけど, Nextcloudより簡単にストレージサーバが構築できて機能的にもほぼ変わらず便利だった.
ブラウザからファイルを見れないけどだいたい満足
他の設定は追々やっていく
参考にしたサイト