AlmaLinux 9 に PHP をインストールする
先日、仕事で CentOS 7 で運用していた Webサーバーを AlmaLinux 9 にリプレースする案件があり、その際に調べた記事を Pocket へ突っ込んでいたのですが、Pocket に突っ込んだ記事は整理を兼ねて「AlmaLinux 9 に PHP をインストールする方法」についてまとめておきます。同じことを何度も調べ直すことになりそうでもあるので……。
まずは dnf コマンド
RHEL 系ディストリビューション は 8 からパッケージ管理システムが yum から dnf に置き換わっています。一応、yum は dnf のエイリアスとして、これまで通り使えるのですが、同じ内容でWeb検索をかけると dnf でサンプルが書かれているので、ざっくりとでも事前に dnf について調べたり触れておくことをオススメします。
なお、yum は dnf のエイリアスとして、これまで通り使える
と書きましたけど、dnf にはあって yum にはなかったサブコマンドでも
yum module list php
とか書けたりしますw
利用可能な PHP モジュール調べる
調べるモジュール (今回は PHP) が明確な場合は、
dnf module list php
を実行すると、利用可能な PHP モジュールの一覧が表示されます。 AlmaLinux 9 の場合、
Last metadata expiration check: 17:42:41 ago on Tue 03 Sep 2024 02:28:50 PM UTC. AlmaLinux 9 - AppStream Name Stream Profiles Summary php 8.1 common [d], devel, minimal PHP scripting language php 8.2 common [d], devel, minimal PHP scripting language
と返るので、8.1 と 8.2 のいずれかが利用可能であることが分かります。また、Profiles の部分から、どちらも common, devel, minimal というプロファイルがあり、ともに [d]
が付いている common が初期プロファイルであることが分かります。
common, devel, minimal というプロファイルはそれぞれ、どんなパッケージを含むの?ってことを調べるには、
dnf module info php:8.2 --profile
で調べられます。結果は以下の通り。
Last metadata expiration check: 1:15:16 ago on Wed 04 Sep 2024 07:32:09 AM UTC. Name : php:8.2:9040020240403183013:8cf767d6:x86_64 common : php-cli : php-common : php-fpm : php-mbstring : php-xml devel : php-cli : php-common : php-devel : php-fpm : php-mbstring : php-pecl-zip : php-process : php-xml minimal : php-cli : php-common
PHP のインストール
ここでは PHP 8.2 を最小構成でインストールすることにします。
sudo dnf module -y enable php:8.2 Last metadata expiration check: 1:22:52 ago on Wed 04 Sep 2024 07:32:09 AM UTC. Dependencies resolved. Nothing to do. Complete!
引き続き、
sudo dnf module -y install php:8.2/minimal Last metadata expiration check: 1:23:27 ago on Wed 04 Sep 2024 07:32:09 AM UTC. Dependencies resolved. ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Installing group/module packages: php-cli x86_64 8.2.13-1.module_el9.4.0+65+49ff6472 appstream 3.6 M php-common x86_64 8.2.13-1.module_el9.4.0+65+49ff6472 appstream 682 k Installing module profiles: php/minimal Transaction Summary ==================================================================================================================================== Install 2 Packages Total download size: 4.2 M Installed size: 24 M Downloading Packages: (1/2): php-common-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64.rpm 2.2 MB/s | 682 kB 00:00 (2/2): php-cli-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64.rpm 9.6 MB/s | 3.6 MB 00:00 ------------------------------------------------------------------------------------------------------------------------------------ Total 3.8 MB/s | 4.2 MB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : php-common-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 1/2 Installing : php-cli-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 2/2 Running scriptlet: php-cli-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 2/2 Verifying : php-cli-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 1/2 Verifying : php-common-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 2/2 Installed: php-cli-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 php-common-8.2.13-1.module_el9.4.0+65+49ff6472.x86_64 Complete!
で、最小構成の PHP8.2 がインストールされます。
php -v PHP 8.2.13 (cli) (built: Nov 21 2023 09:55:59) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.2.13, Copyright (c) Zend Technologies
以上です!!