NextCloudPi は予想以上に便利

このページは、Raspberry Pi 3 Model B に NextCloudPi 環境を構築する手順をまとめています。

  • シングルボードコンピュータ
    Raspberry Pi 3 Model B
  • OS
    Raspberry Pi OS 32bit

NextcloudPi 導入の経緯

Nextcloud を半年ほど自宅運用しています。

Nextcloud は思った以上に便利で、これからも使っていくことになりそうです。

前回は、特に何にも考えず構築したのでバックエンドが SQLite です(推奨されているのは MySQL)。
MySQL にすることでパフォーマンス向上が見込めるようですが、シングル・ボード・コンピュータだと悩みます。

  • DB を同一筐体に収めるか
  • DB サーバを別に立てるか

ちなみに、SQLite でも高速なストレージを用意すれば、パフォーマンス UP を図れます。

NextCloudPi

概要

DB どうしようかな〜と悩んでいたら、NextCloudPi(ネクストクラウドパイ)というものがあることを知りました。

どうも 過去に HDD セットの「Nextcloud Box」なるソリューションがあった模様。

base on Nextcloud Box – Nextcloud

Unfortunately, the project has ended.

The software for the box as well as similar solutions are still being developed by Nextcloud contributors.
Alternatively you could use the NextcloudPi image, a pre-configured Raspbian system aimed at the Raspberry Pi and other boards.

残念ながら、プロジェクトは終了しました。

ボックス用のソフトウェアと同様のソリューションは、Nextcloudの寄稿者によってまだ開発されています。
Raspberry Piやその他のボードを対象とした事前構成されたRaspbianシステムであるNextcloudPiイメージを使用することもできます。

気づきづらいのですが、Nextcloud と NextCloudPi だと、大文字の部分が違います。 ※クラウドの 'c' 部分。

そして、記事にあるとおり(Nextcloud Box は頓挫しまいたが)システム部分の開発は継続されているようです。

base on NextCloudPi – Own your bits

Supported Systems
Armbian
Banana Pi
Debian Buster ( all architectures )
Docker (all architectures)
Odroid HC2 / HC1 / XU4
Raspberry Pi (all models)
Rock64
RockPro64
Virtual Machine

いくつかのシングルボードコンピュータしたイメージが用意されていますが、上述の NextCloud Box サイトの記述どおり OS 導入済み環境へのインストールも可能です。

base on https://ownyourbits.com/downloads/

NextCloudPi_Bananapi_03-29-20
NextCloudPi_OdroidHC2_03-28-20
NextCloudPi_RPi_03-28-20
NextCloudPi_RPi_Berryboot_03-28-20
NextCloudPi_Rock64_03-28-20
NextCloudPi_RockPro64_03-28-20
NextCloudPi_VM_03-29-20

ということで、Raspberry Pi OS 導入後に NextCloud Pi をインストールすることにしました。

環境構築

導入

Raspberry Pi OS 導入後にアップデートしておきます。

raspi-config で各種設定もしておきます。
※タイムゾーンを設定しておかないと(時間がずれるので)後で同期する際に困ります。

アップデートと raspi-config の設定については過去記事をご参照ください。

インストール

公式サイトのとおりにコマンドを実行すると、root 権限が足りないためエラーになります。

※root 権限でないユーザ(Raspberry Pi OS だと pi ユーザ)で実行するとエラーになります。

base on https://ownyourbits.com/nextcloudpi/#download

# curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | bash

公式サイトを参考に sudo をつけて実行します。

$ curl -sSL https://raw.githubusercontent.com/nextcloud/nextcloudpi/master/install.sh | sudo bash

インストール自体は 上記1コマンドですむ ので楽です。
※必要な LAMP 環境の導入・設定までしてくれます。

コマンド実行から完了するまで 50分程度かかります。
※上位機種の Raspberry Pi 4 Model B でも時間に大差なかったので、microSD カードのレスポンスが影響していそうです。
(インストール中、top -d 1 などで見ても、CPU 占有率は決して高くありませんでした)。

処理が終わると、下記メッセージが表示されます。

First: Visit https://192.168.9.999/  https://nextcloudpi.local/ (also https://nextcloudpi.lan/ or https://nextcloudpi/ on windows and mac)
to activate your instance of NC, and save the auto generated passwords. You may review or reset them
anytime by using nc-admin and nc-passwd.
Second: Type 'sudo ncp-config' to further configure NCP, or access ncp-web on https://192.168.9.999:4443/
Note: You will have to add an exception, to bypass your browser warning when you
first load the activation and :4443 pages. You can run letsencrypt to get rid of
the warning if you have a (sub)domain available.

Google 翻訳だと、以下のようになります。

最初:https://192.168.9.999/ https://nextcloudpi.local/(WindowsおよびMacではhttps://nextcloudpi.lan/またはhttps:// nextcloudpi /にもアクセス)
NCのインスタンスをアクティブにし、自動生成されたパスワードを保存します。それらを確認またはリセットできます
nc-adminとnc-passwdを使用していつでも。
2番目:「sudo ncp-config」と入力してNCPをさらに構成するか、https://192.168.9.999:4443 /でncp-webにアクセスします
注:例外を追加する必要があります。これにより、ブラウザの警告を回避できます。
最初にアクティベーションと:4443ページをロードします。あなたはletsencryptを実行して取り除くことができます
使用可能な(サブ)ドメインがある場合の警告。

初期設定

導入直後では Web 管理画面にはアクセスできないため、設定で有効にします。

なお、Web 管理画面の有効設定はしなくても OK です。
※Web 管理画面と下記 ncp-config でできることは、パッと見たところ同じでした。

完了時のメッセージを参考にコマンド ncp-config を実行すると、最初に NextCloudPi のアップデートを促されます。
通常は Yes を選択しましょう。

$ sudo ncp-config
cat: /var/run/.ncp-latest-version: そのようなファイルやディレクトリはありません

 v1.18.0

     ┌──────────────────┤ NextCloudPi update available ├──────────────────┐
     │                                                                    │ 
     │ Update to ?                                                        │ 
     │                                                                    │ 
     │ [v1.28.1] nc-ramlogs: pin version                                  │ 
     │ [v1.28.0] upgrade to NC18.0.7                                      │ 
     │ [v1.27.0] upgrade to NC18.0.6                                      │ 
     │ [v1.26.2] ncp-autoupdate: cronjob write to the log only (#1144)    │ 
     │                                                                    │ 
     │                                                                    │ 
     │                                                                    │ 
     │                                                                    │ 
     │                  <Yes>                     <No>                    │ 
     │                                                                    │ 
     └────────────────────────────────────────────────────────────────────┘ 

アップデートが終わると、管理画面が開かれます。

今回は CONFIG を選択します。

NextCloudPi configuration ver.  v1.28.1

───────────┤ NextCloudPi Configuration Tool (ncp-config) ├──────────────────────
-app to configure or activate:

                                    BACKUPS    
                                    CONFIG
                                    NETWORKING
                                    SECURITY
                                    SYSTEM
                                    TOOLS
                                    UPDATES

                  <Select>                             <Finish>

────────────────────────────────────────────────────────────────────────

矢印キーなどで一番下に行き nc-webui を選択して Enter キーなどで開きます。

NextCloudPi configuration ver.  v1.28.1

───────────┤ NextCloudPi Configuration Tool (ncp-config) ├──────────────────────
-app to configure or activate:

   * nc-httpsonly       Force HTTPS                                          ↑
     nc-init            (Re)initiate Nextcloud to a clean configuration      ▒
     nc-limits          Configure system limits for NextCloudPi              ▒
     nc-nextcloud       Install any NextCloud version                        ▒
     nc-passwd          Change password for the NextCloudPi Panel            ▒
     nc-prettyURL       Set pretty URLs (no index.php in URL)                ▒
   * nc-previews-auto   Periodically generate previews for the gallery       ▒
     nc-scan-auto       Periodically scan NC for externally modified files   ▒
     nc-trusted-domains Manually add trusted domains                         ▮
     nc-webui           Enable or disable the NCP web interface              ↓

                  <Select>                             <Back>

────────────────────────────────────────────────────────────────────────────────

デフォルトだと、ACTIVE が no になっているので yes にして、Enter キーを押下して設定します。
※下記は yes にした状態。

 NextCloudPi installer configuration

      Enter configuration for nc-webui                                      

       ACTIVE        yes                                     

設定が問題なく完了すると、何かキーを押すよう促されるので Enter キーなどを押下して前画面に戻ります。

Running nc-webui
Site ncp already enabled
ncp-web enabled
Done. Press any key...

ブラウザからのアクセス

初期設定が終わったら、ブラウザからアクセスしてみます。

上記 webui 設定が完了していれば、管理画面も開けます。

導入直後の設定情報

例)サーバ側 IP アドレスが 192.168.9.999 の場合。

上記が導入直後の設定情報(id・パスワード)になります。

初期パスワードを使って Nextcloud にアクセスします。
パスワード変更やユーザ追加も通常の Nextcloud 同様に設定できます。

以上が、NextCloudPi 導入手順になります。