NextCloudアップデート失敗の原因と解決方法(ダウンロードで止まる)

NextCloudアップデートを実行するとダウンロードで失敗してアップデートできない

NextCloudのバージョンアップ通知が来たので、NextCloudのサーバー側をアップデートすると通常なら数分で終わるはずがダウンロードの手順ですごく時間がかかり、そのまま別作業をしていて、アップデートをしているのを忘れてブラウザを閉じてしまいました。

その後、再度アップデートを実施すると、下記のエラーメッセージが表示されました。

Step 4 is currently in process. Please reload this page later or remove the following file to start from scratch: /var/www/html/nextcloud/data/updater-ocezdzb4sg8l/.step

エラーメッセージにあるファイル・ディレクトリを削除して再実行

エラーメッセージに記載されている「updater-xxxxxxxxxx/.step」のファイルを削除します。

$ sudo rm -f /var/www/html/nextcloud/data/updater-ocezdzb4sg8l/.step

再度、管理画面よりアップデートを試みますが下記のようにエラーとなります

次は、アップデートに使用するディレクトリごと削除します。
「updater-ocezdzb4sg8l」がそのディレクトリです。ocezdzb4sg8l の箇所は環境によって変わります

# アップデートで使用しているディレクトリを削除
# updater-ocezdzb4sg8l ディレクトリの ocezdzb4sg8l の箇所は環境によって変わります
$ sudo rm -f /var/www/html/nextcloud/data/updater-ocezdzb4sg8l

今度は、CUI環境でアップデートを実行してみますが、「Downloading」の箇所で止まります

# CUI環境アップデートするので、アップデートが実行できるファイルにあるディレクトリに移動します
$ sudo cd /var/www/html/nextcloud/updater

# 「sudo -u apache」の箇所ですが、ubuntuでは「www-data」、Nagiosの場合は「nagios」のユーザーを指定して下さい
$ sudo -u apache php updater.phar 
Nextcloud Updater - version: v29.0.0-1-g9293bcb dirty

Steps that will be executed:
[✔] Check for expected files
[✔] Check for write permissions
[✔] Create backup
[ ] Downloading
[ ] Verify integrity
[ ] Extracting
[ ] Enable maintenance mode
[ ] Replace entry points
[ ] Delete old files
[ ] Move new files in place
[ ] Done

ダウンロードを失敗する原因は、php.iniの「upload_max_filesize」の容量制限

原因がわからないのでダウンロードしたファイルを以下のように表示されました。実際のアップデートをファイルをPCでダウンロードすると230MBくらいあるので途中で止まっているみたいです

$ sudo ls -lh /var/www/html/nextcloud/data/updater-ocezdzb4sg8l/downloads/
total 132M

-rw-r--r-- 1 apache apache 132M Jun 27 09:29 nextcloud-29.0.3.zip

原因はPHPのアップロードファイル容量制限の項目「upload_max_filesize」の制限でダウンロードが止まっている可能性があるので「upload_max_filesize」の値を確認します

$ grep "upload_max_filesize" /etc/php.ini
upload_max_filesize 128MB

128NBで制限しているので、512MBまで容量を上げることにします

$ sudo vim /etc/php.ini
#upload_max_filesize 128MB
# 128MBから512MBに変更
upload_max_filesize 512MB

ApacheとPHPを再起動します

$ sudo systemctl restart httpd
$ sudo systemctl restart php-fpm

再度アップデートを実行すると、無事にダウンロードとアップデートが完了しました。

 

スポンサーリンク

0
0