2021年10月12日

ロリポップのサーバにNextcloudを入れた

 仕事絡みの作業を自宅でやることが多いので、Google の「バックアップと同期」を使って、自宅の Mac と職場の Mac のフォルダを同期させていた。ところが、「バックアップと同期」のサービスが「パソコン版 Google ドライブ」に変わるという(Google ドライブ ヘルプ「Google ドライブの同期クライアントに関する今後の変更」)。これを機会に、Google ドライブから離れて、自前のストレージを確保したいと考えた。そもそも、無料のクラウドサービスに個人的なデータを預けるのって、かなり微妙な話ですからね。もちろん、クリティカルな情報は載せないようにはしているけど。

 初めは SSH が通るサーバを借りて rsync で同期しようかと考えていたのだが、いろいろ調べるうちに Nextcloud というソフトウェアを知った。これはオンラインストレージを構築するためのオープンソースのソフトウェアで、言ってみれば DropBox みたいなサービスを自前で作れるというもの。

 レンタルサーバについては、ロリポップのライトプランが月額330円(1年プラン、税込)で 160GB といい感じの価格・容量だったので、試してみることにした。こちらの記事を参考にしました:「NextCloud をロリポップ!レンタルサーバーに設置し、自分専用クラウドストレージとして活用する

 まず、ロリポップのライトプランを契約する。お試し期間を使うつもりだったけど、正規契約すれば無料ドメインが1個ついてくる、というサービスがあったので、最初から本契約してしまった。初期費用と1年分で、5,610円。

 おまけのドメインを設定して、無料 SSL を有効にする。これで、https 接続できるようになる。これらは、あとでごちゃごちゃいじるんじゃなくて、最初から設定しておきたい。(これをやりたかったから、最初から本契約してドメインをもらった)

20211011-2.jpg

 インストール中は、WAF (Web Application Firewall) と海外アタックガードを「無効」にする。

20211011-3.jpg

 あとでデータベースを使うので、MySQL データベースを作成しておく。(ロリポップのライトプランでは1個しかデータベースを作れないので、他の目的でも使う場合はスタンダードプラン以上が必要です。)

20211011-10.jpg

 管理画面から FTP を開いて、インストール用のディレクトリを作る。ロリポップって、サービスの名前からしてそうなんだけど、妙に「ポップ」な雰囲気が、どうも好きじゃないんですよね……まあサービスの中身には関係ないので、ここは我慢するしかない。

20211011-1.jpg

 Nextcloud の Web Installer を入手する。Nextcloud のトップページから "Get Nextcloud", "Server packages", "Web Installer" を選び、"Right-click here" とあるところを右クリックして、setup-nextcloud.php として保存する。

20211011-4.jpg

 最初に作った「インストール先のディレクトリ」に setup-nextcloud.php をコピーする。

20211011-5.jpg

 ブラウザで、セットアップ用スクリプトにアクセスする。https://xxxxxx.yyy.jp/zzzzzz/setup-nextcloud.php のような URL になる(xxxxxx.yyy.jp が契約したロリポップサーバのアドレス、zzzzzz がインストール先のディレクトリ名)。「Next」を押す。

20211011-6.jpg

 インストールするディレクトリ名を聞いてくるので、"."(ピリオド1個=現在のディレクトリ)を指定する。「Next」を押す。

20211011-7.jpg

 1分ぐらいでインストールが完了する。「Next」を押す。

20211011-8.jpg

 「管理者アカウントを作成」する画面になる。ここで、デフォルトでは SQLite を使う設定になっている。

20211011-9.jpg

 「ファイルの同期にクライアントを使用している場合、SQLite の使用はお勧めしません」と書かれているので、MySQL に切り替え、先ほど作成したデータベースのユーザー名・パスワード・データベース名・ホスト名を入力する。

20211011-11.jpg

 「推奨アプリをインストール」をチェックして、「セットアップを完了します」をクリック。アプリインストール中の画面になる。

20211011-12.jpg

 ここでこんなエラーが出ることがあります。これ、なぜか URL からホスト名が欠落している。https:// の直後にホスト名を挿入してアクセスすると、上と同じ画面になります。

20211011-13.jpg

 こんな画面が出てくる。これは Nextcloud の機能を紹介するものなので、クリックして先に進む。

20211011-15.jpg

 いくつか紹介画面を飛ばし読みしたら、起動画面にたどりつく。この時点で、サーバ容量のうち 842.6 MB を消費していました。けっこうでかいな。

20211011-14.jpg

 ファイルの同期のやり方です。まず、クライアントアプリを Mac(Windows でも同じ)にインストールして、起動します。「あなたの Nextcloud にログイン」をクリック。

20211011-16.jpg

 サーバのアドレス https://xxxxxx.yyy.jp/zzzzzz/ を入れる。

20211011-17.jpg

 ブラウザが開いて、ログイン認証を求められる。指示に従って進める。

20211011-18.jpg

 認証が通ると、最初の設定画面になる。ここは「フォルダー設定をスキップ」でいったん先に進める。

20211011-19.jpg

 空っぽの設定画面になるので、「同期フォルダーを追加」をクリック。

20211011-20.jpg

 パソコン上のフォルダを指定する。

20211011-21.jpg

 リモート側のフォルダを指定する。Documents の下にフォルダを作成すればよい。日本語の名前でも大丈夫です。

20211011-22.jpg

 同期が始まります。

20211011-23.jpg

 ときどき「503 Service Unavailable」が出ます。1〜2 GB ごとぐらいに出るみたい。サーバ側に何らかの通信量制限があって、アクセスを一時的に拒否されていると思われる。少し経つと自動的にリトライしてくれるので、任せる。やがて同期完了。約 10 GB で 40 分ぐらいかかった。

 インストール中に外したセキュリティ設定のうち、「海外アタックガード」は「有効」に戻して大丈夫です。WAF は「無効」のままにしておかないといけないようです。「有効」にすると、意味不明なエラーが大量に出ます。

 ちょっと使ってみた感触だと、ローカルのファイルを修正するとすぐに同期してくれる。2台以上の PC から1つのフォルダに同期していても大丈夫。Mac と Windows 混用も問題なし。ただし、サーバの能力がそんなに高いわけじゃないので、あくまで1人で複数箇所から使う、という運用です。まずまず使えそうなので、しばらく使い続けてみます。

Posted at 2021年10月12日 23:13:35
email.png