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にアップデート完了。見た目は何も変わってないけどね!

 

< 前の記事一覧へ