Amazon Linux2でphp7.4とmariadb10.5をインストール

アマゾンのユーザーガイドでphp7.2とMysql互換のlamp-mariadb10.2-php7.2をインストールしました。

しかし、wordpressをインストールして、ダッシュボードを確認すると、現在のwordpressではphpのバージョンを7.4がデフォルトで、7.2では古いと警告が出ています。

ならば一旦それぞれをphpとmariaDBをremoveして、新たにインストールすればいいと思い、

[terminal][ec2-user]$sudo yum remove php* [/terminal]

と実行したあと、

[terminal][ec2-user]$sudo yum remove mariadb* [/terminal]

とすると、

[terminal] ︙ postfix x86_64 2:2.10.1-6.amzn2.0.3 installed 上記の処理を行います。よろしいでしょうか? [y/N][/terminal]

というようにpostfixも同時に削除されてしまうのです。
postfixが内部でmariadbを使っているためで、依存関係にありました。

amazon-linux-extrasコマンドを利用してインストールしたときは、amazon-linux-extras listコマンドで、どのバージョンがenableになっているのかを確認し、disableにして、新しいバージョンをenabldeにすることで、アップデートできるようです。

早速php7.2をdisableにします。

[terminal][ec2-user]$sudo amazon-linux-extras disable php7.2
Refusing because php7.4 could cause an invalid combination.[/terminal]

しかし、このように拒否されます。理由はlamp-mariadb10.2-php7.2がenableだからです。なので、disableに変更します。

[terminal][ec2-user]$sudo amazon-linux-extras disable lamp-mariadb10.2-php7.2 [/terminal]

これでphp7.4とmariadb10.5がインストールできるようになったのでそれぞれinstallします。

[terminal][ec2-user]$sudo amazon-linux-extras install php7.4[/terminal]

[terminal][ec2-user]$sudo amazon-linux-extras install mariadb10.5 [/terminal]

phpとmariadbのバージョンを確認してみます。

[terminal][ec2-user]$php -v PHP 7.4.26 (cli) (built: Dec 17 2021 16:07:39) ( NTS ) Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies[/terminal]

[terminal][ec2-user]$ mysql –version mysql Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using EditLine wrapper[/terminal]

php7.4.26とmariadb10.5.10を確認できました。あとはsystemctlコマンドで起動すればOKです。

追記

mariadbはアップグレードしたら、mariadb-upgradeコマンドで、テーブルも更新する必要があります。

[terminal]mysql_upgrade -u root -p[/terminal]

このあとパスワードを入力すれば、自動的に更新されます。

これを行っていなかったためサーバーエラーがありこちらの記事を書いています。