************************************************************ * さくらのレンタルサーバが変わるため、PHP7.3対応をすることになった * PHP7.3が対応しているnextcloud14へ * ①【PHP7.2】owncloudのバージョンを更新(10.2.0.5)に更新 * ②【PHP5.6】nextcloud12.0.13に更新 * ③【PHP5.6】nextcloud13.0.12に更新 * ④【PHP7.3】nextcloud14.0.12に更新 * ************************************************************ # ownCloud最新化は省略(10.2.0.5)にした # nextcloudの取得(いきなり最新版は無理みたいなので、ver12を取得) % wget https://download.nextcloud.com/server/releases/nextcloud-12.0.13.tar.bz2 # 管理コンソールからPHPのバージョンを5.6に変更しておく # バックアップ(移動) % mv owncloud-scripts owncloud-scripts.bk # 解凍(一時解凍。好きな場所へ・・・・) % tar -C ./next/ -xvf nextcloud-12.0.13.tar.bz2 # 解凍したファイルを移動 % cp -r ./next/nextcloud ./owncloud-scripts # configファイルのコピー % cp ./owncloud-scripts.bk/config/config.php ./owncloud-scripts/config/ # version.phpのowncloudに「10.2.0」を追加 # upgrade % php ./owncloud-scripts/occ upgrade % php ./owncloud-scripts/occ maintenance:mode --off # ログインしてみて確認 # upgrade 時にエラーが出たとき・・・・ An exception occurred while executing 'DROP TABLE oc_accounts': 1217 Cannot delete or update a parent row: a foreign key constraint fails #mysqlにて SELECT TABLE_NAME , COLUMN_NAME , CONSTRAINT_NAME , REFERENCED_TABLE_NAME , REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'oc_accounts'; # 結果 +---------------------+------------------+---------------------+-----------------------+------------------------+ | table_name | column_name | constraint_name | referenced_table_name | referenced_column_name | +---------------------+------------------+---------------------+-----------------------+------------------------+ | oc_persistent_locks | owner_account_id | FK_F0C3D55BC901C6FF | oc_accounts | id | +---------------------+------------------+---------------------+-----------------------+------------------------+ #制約を消す alter table oc_persistent_locks drop foreign key FK_F0C3D55BC901C6FF, drop owner_account_id; #他に「oc_filecache」でエラーが出るかも #同じように・・・ SELECT TABLE_NAME , COLUMN_NAME , CONSTRAINT_NAME , REFERENCED_TABLE_NAME , REFERENCED_COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE REFERENCED_TABLE_NAME = 'oc_filecache'; alter table oc_persistent_locks drop foreign key FK_F0C3D55B93CB796C, drop file_id; #nextcloudに移行ができれば、PHPのバージョンに気をつけつつアップグレードをしていく #13から14にアップグレードする場合は「occ upgrade」以外に必要なコマンドがあるため気をつける php occ db:add-missing-indice php occ db:convert-filecache-bigint php occ upgrade