OpenWrtにNextCloudをインストールする

2025年4月25日

OpenWrtでNextcloudが実験的に使えるか試してみました。wordpressよりはかなり重いですが使えないことはありません。PHPの設定変更は必要です

Nginx PHP-FPM SQliteの環境です。共有するのではなく、個人のバックアップで使うならSQliteでも使えなくはありません。今回はwxr-1900DHPにnextcloudを入れてみました。メモリは512MBでUSBが使えますがwifiは使えません。

owncloudでのインストールの記事はありましたが、、nextcloudでやっている人は少ないので試してみました。

owncloudは、php8に対応していないので最新ファームでは入りません。注意点はインストール時、504 Gateway Timeoutになるのでphpの設定が必要です。

wordpressからの追加PHPモジュールをインストールします。

opkg update && opkg install php8-mod-xmlwriter php8-mod-imap php8-mod-ldap php8-mod-pcntl

mkdir -p /mnt/sda1/nextcloud/

mkdir -p /mnt/sda1/php/tmp

nextcloudをコピーします。phpのtmpフォルダを変更します
chown -R www-data:www-data /mnt/sda1/nextcloud

chown -R www-data:www-data /mnt/sda1/php/tmp

webからでもインストールできますが、cliでのインストールのほうが安定してインストールできました。

The current PHP memory limit is below the recommended value of 512MB.との警告が出ます memory_limit = 512Mにすると警告はなくなりました。256MBでもインストールはできます。

vi /etc/php.ini

doc_root =

max_execution_time = 86400
max_input_time = 86400
;max_input_nesting_level = 64
;max_input_vars = 1000
memory_limit = 256M

upload_tmp_dir = “/mnt/sda1/php/tmp"

post_max_size = 128M

upload_max_filesize = 128M

sudoなしでインストールするとrootでのインストールになります。

opkg install php8-cli sudo

sudo -u www-data php8-cli occ maintenance:install –database “sqlite" –database-name “nextcloud" –database-user “root" –database-pass “password" –admin-user “admin" –admin-pass “password"

php8-cli /mnt/sda1/nextcloud/occ status

installed: true
version: 31.0.4.1
versionstring: 31.0.4
edition:
maintenance: false
needsDbUpgrade: false
extendedSupport: false

インストールをやり直すにはdataディレクトリとconfig.phpを削除して CAN_INSTALLの空ファイル作成します。

rm -rf /mnt/sda1/nextcloud/data

rm /mnt/sda1/nextcloud/config/config.php

sudo -u www-data touch /mnt/sda1/nextcloud/config/CAN_INSTALL

vi /mnt/sda1/nextcloud/config/config.php

'trusted_domains’ =>
array (
0 => '192.168.1.1’,
),

'datadirectory’ => '/mnt/sda1/nextcloud/data’,
'overwrite.cli.url’ => 'https://192.168.1.1/’,

ローカルから外部に公開する場合、trusted_domainsにアドレスを追加する必要があります。

'trusted_domains’ =>
array (
0 => '192.168.1.1’,
1 => 'hogehoge.com,
),
'datadirectory’ => '/mnt/sda1/nextcloud/data’,
'overwrite.cli.url’ => 'https://hogehoge.com’,

ここでローカルからはログインできるのに外部からログインできない不具合が発生、ログインフォームがでてきません。原因はcloudflareのRocketloaderが原因でした。ページルールの構成でnextcloudから始まる場合オフにします。

ローカルにインストールしてtailscale、cloudflaredでアクセスできるようにすると便利です。

OpenWrt

Posted by taroumaru