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

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

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

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

[ec2-user]$sudo yum remove php*

と実行したあと、

[ec2-user]$sudo yum remove mariadb*

とすると、

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

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

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

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

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

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

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

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

[ec2-user]$sudo amazon-linux-extras install php7.4
[ec2-user]$sudo amazon-linux-extras install mariadb10.5

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

[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
[ec2-user]user@computer$ mysql –version
mysql Ver 15.1 Distrib 10.5.10-MariaDB, for Linux (x86_64) using EditLine wrapper

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

追記

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

mysql_upgrade -u root -p

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

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