RemiリポジトリからPHP8.3をインストールする
前回の『AlmaLinux 9 に PHP をインストールする』では AppStream リポジトリのパッケージから PHP8.2 をインストールしましたが、この場合、現状では PHP8.2 までしかインストールできません。PHP8.3 をインストールするには、RHEL 系ディストリビューションでおなじみの外部リポジトリ Remi リポジトリを登録してインストールすることになります。今回はその方法について。
前提
- PHPは AppStream リポジトリのものを含め、インストールしてない状態から作業開始
- OS は今回も AlmaLinux 9.5
- PHP8.3を最小構成でインストールします
まずは Remi リポジトリのインストールと登録から
なんですけど、最初なのでまずはインストール済みのパッケージの状態を最新にアップデートしておきましょう。パッケージの情報や依存関係が古い情報のままで、それが原因でコンフリクト……、とかあっても困るので。
sudo dnf update -y
さっそく Remi リポジトリのインストールと有効化をしていきます。Remi リポジトリは色んなところにミラーがあるんですが、自分の場合はだいたい理研のミラーを使ってます。
sudo dnf install -y https://ftp.riken.jp/Linux/remi/enterprise/remi-release-9.rpm Last metadata expiration check: 0:13:23 ago on Mon 09 Sep 2024 01:39:59 PM UTC. remi-release-9.rpm 85 kB/s | 30 kB 00:00 Dependencies resolved. ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Installing: remi-release noarch 9.4-2.el9.remi @commandline 30 k Installing dependencies: epel-release noarch 9-5.el9 extras 18 k Transaction Summary ==================================================================================================================================== Install 2 Packages Total size: 48 k Total download size: 18 k Installed size: 56 k Downloading Packages: epel-release-9-5.el9.noarch.rpm 84 kB/s | 18 kB 00:00 ------------------------------------------------------------------------------------------------------------------------------------ Total 15 kB/s | 18 kB 00:01 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : epel-release-9-5.el9.noarch 1/2 Running scriptlet: epel-release-9-5.el9.noarch 1/2 Many EPEL packages require the CodeReady Builder (CRB) repository. It is recommended that you run /usr/bin/crb enable to enable the CRB repository. Installing : remi-release-9.4-2.el9.remi.noarch 2/2 Running scriptlet: remi-release-9.4-2.el9.remi.noarch 2/2 Verifying : epel-release-9-5.el9.noarch 1/2 Verifying : remi-release-9.4-2.el9.remi.noarch 2/2 Installed: epel-release-9-5.el9.noarch remi-release-9.4-2.el9.remi.noarch Complete!
依存の関係で EPEL リポジトリもインストールされました。本命の Remi リポジトリと合わせ、EPEL リポジトリも有効化します。まずは EPEL リポジトリ。
sudo dnf config-manager -y --enable epel
続けて Remi リポジトリ。
sudo dnf config-manager -y --enable remi
dnf config-manager は実行してもコンソールが戻ってくるだけで特に何か出力を返したりしません。
あとは AppStream リポジトリからインストールする場合と一緒
なので dnf module enable で Remi リポジトリの任意の(今回だと PHP8.3)モジュールを有効化して、dnf module install でインストールするだけなのですが、一応 Remi リポジトリ登録されているモジュールを確認しておきましょう。
dnf module list php 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 Remi's Modular repository for Enterprise Linux 9 - x86_64 Name Stream Profiles Summary php remi-7.4 common [d], devel, minimal PHP scripting language php remi-8.0 common [d], devel, minimal PHP scripting language php remi-8.1 common [d], devel, minimal PHP scripting language php remi-8.2 common [d], devel, minimal PHP scripting language php remi-8.3 common [d], devel, minimal PHP scripting language
前回と違って Remi リポジトリに登録されているモジュールも一覧表示されます。Remi リポジトリからは 7.4~8.3 が選択できますね。また、Remi リポジトリでも AppStream リポジトリと同じく、common, devel, minimal のいずれかが選択でき、特にプロファイルを指定しなければ dnf module install の際に common が選択されるのも一緒のようです。
では、PHP8.3 を minimal でインストールしていきましょう。まずは PHP のモジュールを有効化します。
前回は特に触れませんでしたが dnf module eable コマンドは モジュール名:ストリーム名 で有効化したいモジュール・ストリームを指定します。今回は Remi リポジトリから PHP8.3 をインストールする、なので php:remi-8.3 となります。
sudo dnf module -y enable php:remi-8.3 Last metadata expiration check: 0:07:12 ago on Mon 09 Sep 2024 02:28:12 PM UTC. Dependencies resolved. ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Enabling module streams: php remi-8.3 Transaction Summary ==================================================================================================================================== Complete!
前回同様、最小構成でインストールするので……
sudo dnf module -y install php/minimal Last metadata expiration check: 0:13:55 ago on Mon 09 Sep 2024 02:28:12 PM UTC. Dependencies resolved. ==================================================================================================================================== Package Architecture Version Repository Size ==================================================================================================================================== Installing group/module packages: php-cli x86_64 8.3.11-1.el9.remi remi-modular 5.6 M php-common x86_64 8.3.11-1.el9.remi remi-modular 1.2 M Installing module profiles: php/minimal Transaction Summary ==================================================================================================================================== Install 2 Packages Total download size: 6.8 M Installed size: 42 M Downloading Packages: (1/2): php-common-8.3.11-1.el9.remi.x86_64.rpm 323 kB/s | 1.2 MB 00:03 (2/2): php-cli-8.3.11-1.el9.remi.x86_64.rpm 513 kB/s | 5.6 MB 00:11 ------------------------------------------------------------------------------------------------------------------------------------ Total 591 kB/s | 6.8 MB 00:11 Remi's Modular repository for Enterprise Linux 9 - x86_64 978 kB/s | 3.1 kB 00:00 Importing GPG key 0x478F8947: Userid : "Remi's RPM repository (https://rpms.remirepo.net/) <remi@remirepo.net>" Fingerprint: B1AB F71E 14C9 D748 97E1 98A8 B195 27F1 478F 8947 From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi.el9 Key imported successfully Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Running scriptlet: php-common-8.3.11-1.el9.remi.x86_64 1/2 Installing : php-common-8.3.11-1.el9.remi.x86_64 1/2 Installing : php-cli-8.3.11-1.el9.remi.x86_64 2/2 Running scriptlet: php-cli-8.3.11-1.el9.remi.x86_64 2/2 Verifying : php-cli-8.3.11-1.el9.remi.x86_64 1/2 Verifying : php-common-8.3.11-1.el9.remi.x86_64 2/2 Installed: php-cli-8.3.11-1.el9.remi.x86_64 php-common-8.3.11-1.el9.remi.x86_64 Complete!
前回は dnf module install の際、律儀に sudo dnf module -y install php:8.2/minimal とバージョンの指定もしてましたけど、前に実行したコマンド dnf module enable でバージョン(ストリーム)を事前に指定してるので、インストールの際にいちいちバージョンを指定する必要ないそうです。
php -v PHP 8.3.11 (cli) (built: Aug 27 2024 19:16:34) (NTS gcc x86_64) Copyright (c) The PHP Group Zend Engine v4.3.11, Copyright (c) Zend Technologies
PHP8.3 がインストールされました!!