仕事絡みの作業を自宅でやることが多いので、Google の「バックアップと同期」を使って、自宅の Mac と職場の Mac のフォルダを同期させていた。ところが、「バックアップと同期」のサービスが「パソコン版 Google ドライブ」に変わるという(Google ドライブ ヘルプ「Google ドライブの同期クライアントに関する今後の変更」)。これを機会に、Google ドライブから離れて、自前のストレージを確保したいと考えた。そもそも、無料のクラウドサービスに個人的なデータを預けるのって、かなり微妙な話ですからね。もちろん、クリティカルな情報は載せないようにはしているけど。
初めは SSH が通るサーバを借りて rsync で同期しようかと考えていたのだが、いろいろ調べるうちに Nextcloud というソフトウェアを知った。これはオンラインストレージを構築するためのオープンソースのソフトウェアで、言ってみれば DropBox みたいなサービスを自前で作れるというもの。
レンタルサーバについては、ロリポップのライトプランが月額330円(1年プラン、税込)で 160GB といい感じの価格・容量だったので、試してみることにした。こちらの記事を参考にしました:「NextCloud をロリポップ!レンタルサーバーに設置し、自分専用クラウドストレージとして活用する」
まず、ロリポップのライトプランを契約する。お試し期間を使うつもりだったけど、正規契約すれば無料ドメインが1個ついてくる、というサービスがあったので、最初から本契約してしまった。初期費用と1年分で、5,610円。
おまけのドメインを設定して、無料 SSL を有効にする。これで、https 接続できるようになる。これらは、あとでごちゃごちゃいじるんじゃなくて、最初から設定しておきたい。(これをやりたかったから、最初から本契約してドメインをもらった)
インストール中は、WAF (Web Application Firewall) と海外アタックガードを「無効」にする。
あとでデータベースを使うので、MySQL データベースを作成しておく。(ロリポップのライトプランでは1個しかデータベースを作れないので、他の目的でも使う場合はスタンダードプラン以上が必要です。)
管理画面から FTP を開いて、インストール用のディレクトリを作る。ロリポップって、サービスの名前からしてそうなんだけど、妙に「ポップ」な雰囲気が、どうも好きじゃないんですよね……まあサービスの中身には関係ないので、ここは我慢するしかない。
Nextcloud の Web Installer を入手する。Nextcloud のトップページから "Get Nextcloud", "Server packages", "Web Installer" を選び、"Right-click here" とあるところを右クリックして、setup-nextcloud.php
として保存する。
最初に作った「インストール先のディレクトリ」に setup-nextcloud.php
をコピーする。
ブラウザで、セットアップ用スクリプトにアクセスする。https://xxxxxx.yyy.jp/zzzzzz/setup-nextcloud.php
のような URL になる(xxxxxx.yyy.jp
が契約したロリポップサーバのアドレス、zzzzzz
がインストール先のディレクトリ名)。「Next」を押す。
インストールするディレクトリ名を聞いてくるので、"."(ピリオド1個=現在のディレクトリ)を指定する。「Next」を押す。
1分ぐらいでインストールが完了する。「Next」を押す。
「管理者アカウントを作成」する画面になる。ここで、デフォルトでは SQLite を使う設定になっている。
「ファイルの同期にクライアントを使用している場合、SQLite の使用はお勧めしません」と書かれているので、MySQL に切り替え、先ほど作成したデータベースのユーザー名・パスワード・データベース名・ホスト名を入力する。
「推奨アプリをインストール」をチェックして、「セットアップを完了します」をクリック。アプリインストール中の画面になる。
ここでこんなエラーが出ることがあります。これ、なぜか URL からホスト名が欠落している。https://
の直後にホスト名を挿入してアクセスすると、上と同じ画面になります。
こんな画面が出てくる。これは Nextcloud の機能を紹介するものなので、クリックして先に進む。
いくつか紹介画面を飛ばし読みしたら、起動画面にたどりつく。この時点で、サーバ容量のうち 842.6 MB を消費していました。けっこうでかいな。
ファイルの同期のやり方です。まず、クライアントアプリを Mac(Windows でも同じ)にインストールして、起動します。「あなたの Nextcloud にログイン」をクリック。
サーバのアドレス https://xxxxxx.yyy.jp/zzzzzz/
を入れる。
ブラウザが開いて、ログイン認証を求められる。指示に従って進める。
認証が通ると、最初の設定画面になる。ここは「フォルダー設定をスキップ」でいったん先に進める。
空っぽの設定画面になるので、「同期フォルダーを追加」をクリック。
パソコン上のフォルダを指定する。
リモート側のフォルダを指定する。Documents
の下にフォルダを作成すればよい。日本語の名前でも大丈夫です。
同期が始まります。
ときどき「503 Service Unavailable」が出ます。1〜2 GB ごとぐらいに出るみたい。サーバ側に何らかの通信量制限があって、アクセスを一時的に拒否されていると思われる。少し経つと自動的にリトライしてくれるので、任せる。やがて同期完了。約 10 GB で 40 分ぐらいかかった。
インストール中に外したセキュリティ設定のうち、「海外アタックガード」は「有効」に戻して大丈夫です。WAF は「無効」のままにしておかないといけないようです。「有効」にすると、意味不明なエラーが大量に出ます。
ちょっと使ってみた感触だと、ローカルのファイルを修正するとすぐに同期してくれる。2台以上の PC から1つのフォルダに同期していても大丈夫。Mac と Windows 混用も問題なし。ただし、サーバの能力がそんなに高いわけじゃないので、あくまで1人で複数箇所から使う、という運用です。まずまず使えそうなので、しばらく使い続けてみます。