MIRACLE ZBX Virtual Appliance V5.0でのPHPのアップデートについて
MIRACLE ZBX Virtual Appliance V5.0でのPHPのアップデートについて
概要
MIRACLE ZBX Virtual Appliance V5.0(以下、VA50)では、OSとしてMIRACLE LINUX 8 Asianux Inside(以下Asianux 8)を使用しています。VA50の初期状態では、MIRACLE ZBX WebフロントエンドはPHP 7.2を使っていますが、このバージョンは2021年5月でOSのサポートが終了しています。そのため、OSのサポートを受けるにはPHPをアップデートする必要があります。Asianux 8のPHPのサポート期限については、MIRACLE LINUX 8 Asianux Inside - AppStream のサポート期限をご確認ください。
本記事では、VA50においてPHPのバージョンを7.2から7.4にアップデートする手順を説明します。
PHPのアップデート方法
システム全体の更新
PHPアップデートの前提条件として、システム全体が最新になっている必要があります。以下のコマンドを実行してシステム全体を更新してください。事前にMIRACLE failsafeのクラスタを停止する必要があります。
# clpcl -t # dnf distro-sync
dnf distro-sync
のコマンドの出力を確認し、内容に従って操作をしてください。必要に応じてdnf distro-sync
コマンドをくり返し実行して、「Nothing to do.Complete!(行うべきことはありません。完了しました!)」というメッセージで終了することを確認してください。
VA50ではMIRACLE failsafeのカーネル互換性を保つため、kernel関連パッケージの更新をしないように設定しています。これに起因して、パッケージを更新する際に依存関係が競合することがあります。この場合は、必要に応じて当該パッケージの更新を除外してください。例えば、kmod-kvdoパッケージが競合を起こした場合は/etc/dnf/dnf.conf
のexclude
にkmod-kvdoを追加します。
exclude=kernel*,kmod-kvdo
php-ext-mariadbパッケージの削除
php-ext-mariadbパッケージがインストールされている場合は、このパッケージをアンインストールします。インストールされているかどうかを確認するには以下のコマンドを実行します。
# rpm -q php-ext-mariadb
パッケージをアンインストールするには、以下のコマンドを実行します。
# dnf remove php-ext-mariadb
PHPのバージョン切り替え
PHPのバージョンを切り替えて、PHP 7.4を利用するように設定します。その後、システム全体を更新すると更新後のバージョンのPHPがインストールされます。以下のコマンドを実行してください。
# dnf module reset php # dnf module enable php:7.4 # dnf distro-sync
PHP 7.4向けのphp-ext-mariadbパッケージのインストール
先の手順でphp-ext-mariadbを削除した場合、更新後のphp-ext-mariadbパッケージをインストールします。元々インストールされていなかった場合は、この手順は必要ありません。
こちらのページより最新のphp-ext-mariadbパッケージをダウンロードして、以下のコマンドを実行してください。バージョン番号は適宜読み替えてください。
# dnf install php-ext-mariadb-7.4.6-1.el8.x86_64.rpm
設定ファイルの修正
先の手順でphp-ext-mariadbをインストールした場合、設定ファイルを修正してmariadb拡張を有効化する必要があります。元々php-ext-mariadbがインストールされていなかった場合は、この手順は必要ありません。
php-ext-mariadbパッケージで提供されるmariadb拡張は、PHP標準のmysqli拡張と競合するため、インストール直後は機能が有効になっていません。設定ファイルを修正してmysqli拡張の無効化とmariadb拡張の有効化を実施する必要があります。
mysqli拡張を無効化するため、/etc/php.d/30-mysqli.ini
を編集します。extension=mysqli
の行をコメントアウトしてください。使用しているVA50のバージョンによっては、既にコメントアウトされている場合があります。その場合は、コメントアウトされたままにしておいてください。
変更前
; Enable mysqli extension module extension=mysqli
変更後
; Enable mysqli extension module ;extension=mysqli
続いて、mariadb拡張を有効化するため、/etc/php.d/30-mariadb.ini
を編集します。extension=mariadb
の行のコメントを外してください。
変更前
; Enable mariadb extension module ;extension=mariadb
変更後
; Enable mariadb extension module extension=mariadb
クラスタの再開
最後に、停止していたMIRACLE failsafeのクラスタを再開します。以下のコマンドを実行してください。
# clpcl -s
以上でPHPのアップデートが完了となります。システムが正常に動作していることを確認してください。
注意事項
- 本ドキュメントの内容は、予告なしに変更される場合があります。
- 本ドキュメントは限られた評価環境における検証結果をもとに作成しており、 全ての環境での動作を保証するものではありません。
- 本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。
更新履歴
- 2021年07月12日 新規作成