BaserCMSを更新する【1】5.2.2から5.4.2への長い道のり
約半年放置して重い腰がちょっとだけ浮かびました。
・・・いやほらPHPの問題出たじゃん?
PHP自体はこのCMSをインストールするにあたって最新版にしてたし問題はないんですよ?
xserverさんもちゃんとパッチをあててくれたみたいだし?
でもCMS自体を最新版にしておいたほうがいいよね?レイアウトが崩れるから嫌だなんて行ってられないよね?
そもそもレイアウトが崩れるほどの何か(プラグイン)を入れてるわけじゃないし・・・※別のBlog(Wordpress製)の方でテーマが対応してなかったので閉鎖しましたが
って訳でアップデートしましょ
今使ってるプログラムバージョンは5.2.2
利用可能な最新バージョンは5.4.2
マイナーアップデートが2回されてますね
ちなみにバージョンの読み方は
メジャーアップデート.マイナーアップデート.パッチ処理
の順になってるはずです。基本的には。
メジャーが変わるとかなり変わるのですがマイナーはちょっとした処理なのでそんなに変わってないはずです。
概ねセキュリティ対策とかそのへんだと思われます
CMSコア|アップデートのページに行って最新版をダウンロードのところで
対象バージョン、今回は5.4.2、 PHP CLI の実行パスはxserverでPHPが8.5.12を今使っているので/usr/bin/php8.5でダウンロードをポチッとな
ダメです!最新版のダウンロードに失敗しました。ログを確認してください。
んでログ。・・・なるほど。わからん
もしかして実行パスがアップデートページの最初から書かれている/usr/bin/php (バージョンなし)じゃないとダメなのかと8.5を消してポチ。
!最新版のダウンロードに失敗しました。ログを確認してください。
ただログはまっさらだ!何を見ればいいんだよ
もしやマイナーアップデートを飛ばすのがダメなのか?って事で5.2.3のダウンロード・・・も失敗
そういやアップデートサポーターってプラグイン入れてたよな
って事で確認すると・・・
アップデート時の問題一覧
問題はありません
いや問題だらけだよ
とりあえず問題が出た時に押せってマイグレーションの適用。
本当に実行してもいいですか? OK
特に変化無し
データベースの更新
5.2.0しかないのでそれで更新
するとなんと!DBが古すぎますって事でアプデを完全に拒否られました。
アプデボタンがグレーアウトです。
プラグインを見てみるとサポーターのバージョンは1.4ストアでみると1.5
これか?って事で現行版を再購入してそのままインストール・・・500エラーでページが全部見れない
ダッシュボードどころか普通のページも500エラー
500エラーってもサーバーの負荷じゃないよね流石に?って事でさっさとプラグインを壊しに行きます。
サーバーのファイルマネージャに移動してpluginからBcUpdateSupporterを見ると無印と(2)の2つが
とりあえずって事で古い方(無印)をリネームして剥がして2の方のリネームして無印に変更。さてどうだ
ダッシュボード入れるようになりましたがプラグインのインストールが完了していない&パスが正しくありませんとな
もう一度ファイルマネージャに行って今度はファイルマネージャ上で2つとも削除して入ってない状態に
そこからプラグイン管理からもう一度再インストールで更新完了
なんかやりきった感が出てますが単にアップデートサポーターの更新が終わっただけ
ってのでとりあえずサポーターを見てみると・・・
アップデート時の問題一覧
<5.2.3 baserCMS 5.2.3へのアップデートにてphp-jwt7系が必要な問題
おう改善できるらしい
って事で改善実行
改善が完了しました
だがまだデータベースが古すぎますっと
スクリプト実行で5.2.0に実行したのがいけないので5.2.2にしたいのに選択肢がない・・・
ってのでその下のDBのバージョン番号更新で5.2.2と打込んでバージョンを更新
無事ダウンロードボタンが復活
まぁ復活しただけで5.4.2にはなりません
でもって検索。
https://basercms.net/news/archives/995
baserCMS 5.3.2 / 5.4.2 がリリースされました
"5.2系:5.3.2 / 5.4.2 を直接指定するとアップデートに失敗します。先に 5.2.10 にアップデートしてから、5.3.2 または 5.4.2 にアップデートしてください。"
まずは5.2.10ですか
って事で5.2.10でダウンロード!
やっぱりダメ~
って訳でようやくエラーログを見直す。なんかセキュリティの警告で止まってる感じ?
なら止めちゃえってことでcomposer.jsonのconfigを書き換え
"config": {
"sort-packages": true,
"allow-plugins": {
"cakephp/plugin-installer": true,
"dealerdirect/phpcodesniffer-composer-installer": true
}
}
を
"config": {
"sort-packages": true,
"allow-plugins": {
"cakephp/plugin-installer": true,
"dealerdirect/phpcodesniffer-composer-installer": true
},
"audit": {
"block-insecure": false
}
}
に書き換えで無事5.2.10のダウンロード完了
でもってなんかアップデートがあるよとのこと
5.2.3でJWT鍵の脆弱性対応のため、鍵の再生成を行います。
5.2.9でconfig/plugins.php にて、null の指定が不可となったため、配列に書き換えますので、対象ファイルに書き込み権限を与えてください。この作業を行わずにアップデートを実行すると動作しなくなりますので注意してください。
なかなかの注意項目が画面外(右スクロール)におるなぁ
って事でplugins.phpに書き込み権限を与えろと?元のパーミッションが604なので606?とりあえず626に変更してアップデートで無事5.2.10が完了
ここから5.4.2に更新・・・またエラー
Problem 1
- Root composer.json requires baserproject/baser-core 5.4.2 -> satisfiable by baserproject/baser-core[5.4.2].
- baserproject/baser-core 5.4.2 requires nikic/php-parser ~5.8.0 -> found nikic/php-parser[v5.8.0] but these were not loaded, likely because it conflicts with another require.
php-parser5.8がなんか知らんがあるけど読めんとな?ってこたぁキャッシュか?
ってのでcomposer.lockをリネームして再度アップデート
無事更新やったぜ!
と思ったら
composer.lock に書き込み権限を設定してください。
リネームしたから無いよそれ?ってか自動生成しないの?
って訳で新規ファイル作成でcomposer.lockを作成してパーミッションをまた626へ
後は・・・
BaserCore-5.3.0
Cache設定 `_cake_core_` が非推奨となり `_cake_translations_` を利用することになりましたので、config/app.php と config/bootstrap.php における設定名を書き換えます。対象ファイルに書き込み権限を与えてください。
BaserCore-5.4.2
表示速度改善のため、config/install.php の各データソース設定にテーブル構造のキャッシュ設定 `cacheMetadata` を追記します。対象ファイルに書き込み権限を与えてください。
の2項目appとbootstrapは626に変更installは元々666だったのでそのままでアップデートで分事更新完了
いやー面倒くさいなぁ(本音)
とりあえず無事に最新バージョンの5.4.2にアップデート完了。見た目は何も変わってないけどね!