ConoHaのKUSANAGI PHPが7.3になりownCloudが動かなくなったのを修復

Pocket

半年くらい前、ConoHaのVPSで動かしているKusanagiサーバーで、ownCloudが

とエラーを吐いて動かなくなりました。どうもいつのまにかPHPが7.3になってて、ownCloudが7.3非対応らしいことがわかって対応待ちだと思って放置してましたが、久しぶりに本腰。

ownCloudの10.2.1はいまだPHP7.3非対応。10.3で対応予定となっているものの予定の8月って明日で終わり、、、まぁそれまで一旦PHPを7.2にダウングレードしておくことに。

というか自分では上げたことないいし、rpm -qaしてもphp73とかいない。でもphp -v は7.3。どうなってんの?と思ったけど、kusanagi-php7というパッケージで一緒にPHPが更新されるぽい。それがyum updateで適用されてしまったと。ちょっと恐い。

ということでこちらを参考にさせていただき、

で7.2系の最新版にダウングレード。しかしこれでもphp-intlは読み込まれない。PHPが7.2.13なのに対し、intlが少し古いから?

ってことで、次はこちらを参考に

する。これでphp-intlは7.2.22になるけどダメ。php -vの結果は、

2つ目の記事にある、20-intl.iniを書き換える作業は以前にもやってるらしく、.ini~や.ini.bakファイルが残ってたw。とりあえず.bakを書き戻してkusanagi restart。

あとはownCloudのWeb画面を開くと、フォルダのパーミッション系のエラーにかわるので、appsとdataドルだをchmod -R httpdして終了(なぜかownCloudを更新するとオーナーがApacheになるのも毎回の風物詩)。

次は互換性のない古いappsがアプデートできないというエラーになるので、インストールディレクトリで

などとしてアンインストール。もはやなんの機能かも憶えていないアプリ4つほど言われるままに削除。

これでどうにか起動にこぎつけました。

■yum updateからkusanagiを除外

さて、このままではまたyum updateした時にkusanagi 7.3になってしまいます。kusanagi自体は最新版がよさげなので悩ましいところですが、当面の措置として/etc/yum.confに

と追加。yum updateしても候補にkusanagi-php7-7.3.xxが出ないことを確認します。うーん、でもこれkusanagiの他のモジュールは更新されてしまうので大丈夫なんだろうか。kusanagi 関係のすべての更新を止めるのもなんだなぁ。

この辺、不透明で勝手に設定ファイルが置き換わったいとkusanagiのめんどくさいところですかね。他になんのアプリもモジュール足さない、引かない運用ならいいんでしょうけど。

毎回index.htmlが上書きされたり、ssl.confが勝手にできてLet’s Encryptの設定エラーになったり、、

 

■更新:7.3用のintlを入れておく

7.3になったら必要になる7.3用のintlを忘れないうちに入れておくことに。kusanagi-php7をyum updateで更新して7.3にした後、下の記事を参考に72を73に置き換えて実行。

そして/etc/php7.d/extensions/20-intl.iniのパスを72から73に書き換えて終了。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です