Nextcloud FTPアップデート手順 shin-rental

シン・レンタルサーバー(Xserver系)でのFTPによる手動アップデート & .htaccess トラブルシューティング

1. 事前準備

バックアップを取る

config/config.php、data/ フォルダ、データベースをバックアップする。

新バージョンをダウンロード

ローカルPCで nextcloud-XX.X.X.zip をダウンロードして解凍する。

メンテナンスモードをONにする

config/config.php を編集してメンテナンスモードを有効化する。

// config/config.php に追記
'maintenance' => true,

2. FTPアップロード(上書き)

注意 ファイル数が数千〜数万あるため、アップロードに1時間以上かかる場合がある。途中切断に注意。

上書きするもの

対象操作
apps/、core/、lib/、ocs/、resources/、themes/ 等の本体ディレクトリ上書きOK
index.php、cron.php などルートの .php ファイル上書きOK
.htaccess上書きOK(後で修正が必要)

触らないもの

対象理由
data/ユーザーデータ
config/config.phpサイト設定

3. アップロード後の作業

メンテナンスモードをOFFにする

config/config.php を編集して false に戻す。

DBマイグレーションを実行する

管理画面の警告バナー「データベースのインデックスが欠落」から実行するか、updater.php にアクセスする。

.htaccess を確認・修正する(必須)

アップデーターが .htaccess を自動再生成するため、必ず下記チェックリストを確認する。


4. アップデート後 .htaccess チェックリスト

毎回必須 Nextcloudのアップデーターは .htaccess を自動上書きする。アップデート後は必ずこの2点を確認すること。

5. 問題箇所と修正方法(詳細)

問題① ModPagespeed ブロック

シン・レンタルサーバーには pagespeed_module が存在しないため、IfModule で囲んでいても 500 Internal Server Error になる。

# ↓ このブロックを丸ごと削除する
<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

問題② Options -Indexes と #### の結合

アップデーターが末尾追記する際に改行が欠落することがある。Options -Indexes####... となっていると Apache が構文エラーとして 500 を返す。

# NG(改行なし結合)
Options -Indexes#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

# OK(空行を入れる)
Options -Indexes

#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

ErrorDocument 403 //index.php/error/403
ErrorDocument 404 //index.php/error/404

問題③ mod_php ブロック(初回のみ)

シン・レンタルサーバーは PHP-FPM 動作のため mod_php は使われない。ブロックを全行コメントアウトするか削除する。

#<IfModule mod_php.c>
  #php_value mbstring.func_overload 0
  #php_value default_charset 'UTF-8'
  #php_value output_buffering 0
  #<IfModule mod_env.c>
    #SetEnv htaccessWorking true
  #</IfModule>
#</IfModule>
注意 コメントアウトする際は閉じタグ </IfModule> も必ずコメントアウトすること。漏れると構文エラーになる。

6. エラーログの見方

ログのメッセージ原因対処
Invalid command 'ModPagespeed' pagespeed_module ブロックが存在する ブロックを削除
</IfModule> without matching <IfModule> コメントアウトが不完全で閉じタグが孤立 全行コメントアウトを確認
Permission denied: data/.htaccess data/ ディレクトリのパーミッション不足 FTPで data/ を 755 に変更
Failed opening required 'lib/versioncheck.php' FTP転送が未完了でファイルが欠落している 該当ファイルを再アップロード

7. 修正済み .htaccess サンプル(末尾部分)

以下が正常な末尾の形。アップデート後はこの形になっているか確認する。

AddDefaultCharset utf-8
Options -Indexes

#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

ErrorDocument 403 //index.php/error/403
ErrorDocument 404 //index.php/error/404
完了 この形になっていれば .htaccess は正常。Nextcloud にアクセスして動作確認する。