NextcloudをWebインストーラで導入する

先日、Orange Pi One に Nextcloud を導入したのですが、Snapパッケージで導入しています。
Snapパッケージでの導入は簡単・スムーズに導入できることですが、通常のインストーラと異なりインストール中にデータの保存場所を変更することができません。

まだ稼働して日が浅いのでデータ移行ではなく、新規で構築し直すことにしました。
それに伴い、懸案事項だった NextCloud パフォーマンス改善を目論み、筐体を OPi → RPi へ変更しています。

概要 略称 筐体 メモリ OS
変更前 OPi Orange Pi One 512MB Armbian Stretch
変更後 RPi Raspberry Pi 3 Model B 1GB Raspbian Stretch Lite

なお、導入には Webインストーラを利用します。

目次

Webインストーラ

公式サイトによると「公式サーバーからNextcloudをダウンロードして解凍した後、インストーラに処理を引き継ぐ」とあります。
フルパッケージダウンロード後にインストールしてもよいのですが、解凍などにマシンパワーを割かれて時間がかかるのが面倒に感じたので、Webインストーラにしました。

base on Install – Nextcloud

The Web Installer is the easiest way to install Nextcloud on a web space.
It checks the dependencies, downloads Nextcloud from the official server, unpacks it with the right permissions and the right user account.
Finally, you will be redirected to the Nextcloud installer.

Webインストーラは、NextcloudをWebスペースにインストールするための最も簡単な方法です。
それは依存関係をチェックし、公式サーバーからNextcloudをダウンロードし、適切なパーミッションと適切なユーザーアカウントで解凍します。
最後に、Nextcloudインストーラにリダイレクトされます。

注意点

Webインストーラで導入される Nextcloud のバックエンドは SQLite です。

インストール準備

Webインストーラはブラウザ上から実行するため、インストーラ実行前に Apache と PHP を導入しておきます。
PHP はバージョン 7.0 が導入されました。
※Raspbian Stretch Lite では Apache本体は導入済みです。

$ sudo apt install php php-mbstring php-sqlite3 libapache2-mod-php

The following NEW packages will be installed:
  apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php
  libapache2-mod-php7.0 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
  libaprutil1-ldap liblua5.2-0 php php-common php-mbstring php-sqlite3
  php7.0 php7.0-cli php7.0-common php7.0-json php7.0-mbstring 
  php7.0-opcache php7.0-readline php7.0-sqlite3 ssl-cert
0 upgraded, 24 newly installed, 0 to remove and 0 not upgraded.

$ sudo systemctl restart apache2

$ php -v
PHP 7.0.33-0+deb9u3 (cli) (built: Mar  8 2019 10:01:24) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.33-0+deb9u3, Copyright (c) 1999-2017, by Zend Technologies

Webインストーラの設置

ダウンロード先の確認

DocumentRoot を確認しておきます。

$ cat /etc/apache2/sites-enabled/000-default.conf | grep DocumentRoot
    DocumentRoot /var/www/html

ダウンロード

公式サイトのリンクからURLを確認後、DocumentRoot にダウンロードします。

$ sudo wget -P /var/www/html https://download.nextcloud.com/server/installer/setup-nextcloud.php

インストーラ実行

以下、URLをブラウザ上から開くとインストーラ画面が開かれます。

  • {SERVER_ADDR}/setup-nextcloud.php

Setup Wizard

Setup Wizard

導入される Nextcloud のバージョンが表示されるのを確認して、[Next] ボタンを押下します。

Dependency check

下記のようなメッセージが表示される場合は(モジュールが足りないので)、追加でインストールします。

The following PHP modules are required to use Nextcloud:
zip
dom
XMLWriter
libxml
GD
SimpleXML
curl
  • phpバージョン指定版
    $ sudo apt install php7.3-gd php7.3-json php7.3-mysql php7.3-curl php7.3-mbstring php7.3-intl php-imagick php7.3-xml php7.3-zip
  • phpが無印の場合
    $ sudo apt install php-gd php-json php-mysql php-curl php-mbstring php-intl php-mcrypt php-imagick php-xml php-zip

    モジュール不足が解決しても「Dependencies not found.」が表示される場合は、DocumentRoot に権限があるか確認します。

Nextcloudのシステムを格納するディレクトリ名を指定して、[Next] ボタンを押下します。

$ ls -lhd /var/www/html
drwxr-xr-x 2 root root 4.0K Mar 11 01:09 /var/www/html
$ sudo chown -R www-data:www-data /var/www/html
$ ls -lhd /var/www/html
drwxr-xr-x 2 www-data www-data 4.0K Mar 11 01:09 /var/www/html
$ sudo systemctl reload apache2

対応しても上手く行かない時は、Apache を再起動してみましょう。

Success

[Next] ボタンを押下してインストールを開始します。

管理者アカウントを作成してください
  • 管理者アカウント
    初回アクセス時に管理者id・パスワードの作成をします。
  • データフォルダー
    ストレージとデータベースをクリックすると、データ格納場所を変更できます。
    [セットアップを完了します] ボタンを押下するとセットアップが完了します。