いつでもどこでもアクセス出来てファイルがダウンロードできるGoogleDriveやDropboxなどって本当に使いやすいですよね。
それを格安で容量無制限で作ろうと思ってやってみた結果とどう思ったかを書いていきます。
1.なぜ作ろうと思ったか
現在、私はGoogleWorkspaceの「Business Standard」プランに入り、2TBのGoogleDrive容量を得て使っています。
用途としてはPDFなど自分で作ったファイルやセーブデータとかいろんなもののバックアップと共有のために使っています。
ただ、2TBを使い切れているかといえば全体のファイル的に100GB到達するかしないかぐらいです。
利便性や安定性は本当に素晴らしい物があるのですが、ちょっと高い。
もっと安く運用したかったので代替できるものを探し始めたのがきっかけです。
2.VPS+NextCloud+Wasabiの検討
色々と探したり試した中でこれだ!と思ったのは
VPSにNextCloud環境を構築して、外部ストレージとしてWasabiを接続するというもの。
参考にした記事はこれです。
https://qiita.com/mighty-n/items/580907ea944bf6e9e5e8
私自身結構前からNextCloudは知っていて、共用レンタルサーバーに入れてみたりもしたのですがエラーroot権限がないと修正できなかったり、動作が重すぎたりして自分の運営してる他のWEBサイトの動作に影響がでたりしていたので出来ればNextCloud環境だけをVPSかAWS等のパブリッククラウドでやりたいなと思っていました。
Wasabiに関してで言うと、S3互換ストレージなのに結構安くて良いなと思ったのと、従量課金性なのである一定の容量まで達しなければ安く使えるし金はかかるが実質容量無制限。また、ある程度多くなってもそこまで高くないという点で使おうと思いました。
3.VPSの契約
今回のVPSの選定にあたっては、安さ、スペック、使いやすさに重点を置いて探しました。
本当はConoHaを使いたかったのですが、スペックに対して少し高い気がしたのでやめました。
そして、今回実際に契約したのは「KAGOYA CLOUD VPS」です。
最小プランがメモリー1GB1CPUで550円だったので512MBメモリーConoHaより安くてスペックも申し分なかったのでこちらにしました。
4.構築してみる
構築にあたってはKAGOYAが公開しているNextCloudの記事を参考にしました。
Nextcloud でクラウドストレージをつくってみた ~ サーバー構築編 ~ | カゴヤのサーバー研究室
構築の段階で以下のコマンド入力時に躓きました。
# ln -s /opt/rh/rh-php74/root/bin/php /usr/bin/php
このシンボリックリンク作成時にエラーが吐いてしまったので調べてみたところ、管理者権限がなかったようで管理者権限付きで
sudoedit を使ってやったところどうやら成功しました。(rootユーザーだったのだけれど…ミスってるかも)
その後は順調に進んだのですが、次はapacheの起動に失敗。
![]()
ここはどうしても治らなかったので、一から構築を諦めてVPSをセットアップする際についている「アプリケーションセットアップ」を使用して構築することにしました。

この機能を使うとhttpdとかのインストール含め、NextCloudがSQLiteで動く状態までセットアップしてくれます。
めちゃくちゃ楽ですね。
そうしたら、mariaDBのインストールと、ドメイン設定、SSL設定を行うだけで終了となります。
まずはnextcloud.confファイルの編集を行うのですが、
DocumentRoot /var/www/html/nextcloud/
ServerName storage.example.com ←ここだけを追記
<directory "="" var="" www="" html="" nextcloud="">
Require all granted
AllowOverride All
Options FollowSymLinks MultiViews
<directory "="" var="" www="" html="" nextcloud="" data="">
Require all denied
Redirect 301 /.well-known/carddav /nextcloud/remote.php/dav
Redirect 301 /.well-known/caldav /nextcloud/remote.php/dav
Redirect 301 /.well-known/webfinger /nextcloud/public.php?service=webfinger
アプリケーションセットアップを使用すると上記のコードは書いてあるので、上から2番目のServerNameの使うドメイン名だけを記述するだけでOKです。
続いて、mariaDBの設定ですが、こちらは先程の記事通りで問題ありませんでした。
最後にSSLの設定。
SSLの設定は少し違うことをします。
Let’s Encryptの認証局の変更予定とかがあったりして、上記記事内で紹介されているリポジトリのcertbotは使えない場合があります。
自分の場合は正しく動作しなかったので、別パッケージを使用して以下の通り行います。
sudo dnf install -y mod_ssl
sudo systemctl restart httpd
まずはOpenSSLをインストール。
sudo dnf install certbot python3-certbot-apache
sudo certbot --apache
今使えるcertbotをインストールして、
sudo echo "0 0,12 * * * root python3 -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew -q" | sudo tee -a /etc/crontab > /dev/null
Let’s Encryptの自動更新設定を行う。
これにて完了です。
先ほどの記事通りに設定したドメインにアクセスして、SSL化されているかを確認して、データベースとユーザー名などの設定をすれば使えるようになっているはずです。
5.使ってみての感想
今回は最小スペックのメモリ1GB、1CPUで構築しましたが、滅茶苦茶重いです。そのため、Wasabiとの接続は断念しました。
すぐサーバーがパンクしてしまう勢いでストリーミング再生とかはかろうじて出来る感じでした。
やるなら、最低でもメモリ2GB、2CPU以上でやらないとまともに使えないかもしれないです。
そうなるとGoogleWorkspaceよりも必然的に料金は高くなるし、Wasabiなどの外部ストレージの料金を含めると2TBくらいまでであればGoogleWorkspaceやMEGA、Dropboxの有料プランに加入したほうがよさげでした。
もっと最適化とかチューニングができれば話は別かもしれません。

6.まとめ
今回はVPS上でNextCloudを構築して、使ってみるところまでやってみましたが、思ってたよりも自分で構築して使うとなるとお金がかかることがわかりました。
状況を見ながらどっちを使うか金銭的な面でお財布と相談する必要がありそうです。
とりあえずGoogleWorkspaceを使いながらもっといいものがないか模索していこうと思います。
読んでいただき、ありがとうございました。
