Ubuntu20でnginx上でDrupalの複数サイトを入れているサーバーを do-release-upgrade を利用してUbuntu22に上げるトライアルを行ったが、容易ではなかった。本番に適用するにはもう少し確認しないといけないがハマったところをメモしておく。
- ディスクスペースを開けておく必要があるので、ジャーナルジャーナルファイルを削除したい場合・journalctlという記事を参照してジャーナルを削った。
- do-release-upgradeを実行。基本的に全部デフォルトで実行。この段階でphpは8.1.2になる。/etc/php/8.1の下のcliとfpmのphp.iniの変更は従来同様に変更。
- サイトを動かそうと思うと502 Bad Gatewayで返ってくる。/var/log/nginx/error.logを見るとphp7.4-fpm.sockが呼ばれている。nginxの構成ファイルを確認し、fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;に書き換えるとdefaltサイトでinfo.phpが動かせるようになるが、まだDrupalサイトは動かない。
- composerの動作を確認するとdomが無いことがわかったので、apt-get install php8.1-domを導入。composerは動くようになったがまだDrupalサイトは動かない。
- drushの動作を確認するとmysqlに接続できていないことがわかったので、確認したところmysqlndが無いことが判明。apt install php-mysqlndで導入。drush crが動いたので、Drupalサイトにアクセスしたら動くようになった。
もっと楽に行けると思っていたが、意外と手強かった。もう少し、検証したいのと、クリーンアップもやった方が良いので、動作したところで一旦作業は中断。この備忘録を書いておくこととした。待ち時間が長いので、他の作業を並行してやっていたとは言え、5時間弱を消費。2時間程度でできるんじゃないかと思っていたのでちょっと凹む。まあ、こんなものだ。
コメント
Status report should warn about OPcache bug in PHP 8.1.0 to .1.5
https://www.drupal.org/project/drupal/issues/3258987
に引っかかって、www.ulslab.comがしばらくすると落ちてしまうことが判明した。一度落ちてしまうと復活しない。なので、頑張ってUbuntu 22.04 LTSへの最新版PHPのインストールほかを参考にしてphp8.1のリビジョンアップを行って、8.1.12にしたら落ちなくなった。一応、移行終了という扱いにしている。
基盤のアップデートは機能的な付加価値がないので、徒労感があるがサボっているといつか痛い目にあう。本当はそろそろ乗せ換えを考える時期で、なのだけれど、乗せ換えるならその時にやってしまいたいこともあるので、今回は後送りした。吉と出るか凶と出るかはわからない。