Techniical-support

CentOS7 にIUSからPHPをインストールしてみる

皆さんこんにちは。エンジニアの川合です。

今回は、テスト環境で動かしている古めの環境をなるべくバージョンを変えずに
AWSのEC2へ移行出来ないかと色々検証してみたお話になります。

IUSと記載の通りPHPをこのリポジトリ経由でインストールするお話です。

よく使うPHPのリポジトリ

OSに付属していない新しめのPHPをインストール際には、remi のリポジトリをよく利用します。
https://rpms.remirepo.net/

では、このリポジトリを使ってインストールすればいいのでは?
と言う所ですが、基本最新世代の前後2~3世代分ぐらいしか保持されていません。
⇒少し前のバージョンなど利用したい場合は、既にリポジトリから無くなっている事が多々あります

新規構築であったり、マイナーバージョン更新を許容できる場合は問題ないのですが
バージョンの完全一致といった場合には適しません。

IUS とは

RHEL・CentOS向けにOS標準より新しめなパッケージを提供しているリポジトリになります。
remiにないバージョンであっても、iusには同じバージョンがある事が多い印象です。

現在は、CentOS7 向けにだけ提供されているようです。
※以前までCentOS6向けもありましたが、サポート終了に応じて終了?した模様
 CentOS8 向けにも用意はないようです。※こっちもOSサポートの件がありましたので

古いバージョンは、ここから探します。
今回は、PHPを探しているので以下のURLから。
https://repo.ius.io/archive/7/x86_64/packages/p/

Filterで検索してみると簡単に探せます。

実際にインストールしてみる

iusのリポジトリの追加の手順も更新で案内されています。
EPELのリポジトリが必須となります。
https://ius.io/setup

yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

これで、iusとepelのリポジトリが利用できる状態になります。

あとは、指定のPHPをインストールするだけとなりますので
以下のコマンドでインストールしてみます。

yum install --enablerepo=ius-archive php73-*-7.3.19-1.el7.ius.x86_64

古いバージョンが格納されている【ius-archive】はenable=0 になっていますので
enable=1 に変更するか上記のように一時的に有効化する必要があります。

結果確認

上記コマンドで問題なくインストールが完了すれば、以下の状態になります。

php -v
PHP 7.3.19 (cli) (built: Jul  1 2020 12:29:05) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies
    with Zend OPcache v7.3.19, Copyright (c) 1999-2018, by Zend Technologies

remiで提供最新バージョンは、PHP 7.3.33 になりますので
古いバージョンのインストールが出来ているのが確認できます。

まとめ

IUSのリポジトリを利用する事で、古いバージョンのPHPをインストールする事が出来ました。
とは言え、上記の例ですとそもそもPHPのサポートが終了しているバージョンではありますので
出来るけれど、推奨する方法ではないという事はご理解ください。

今回は、社内のテスト環境を一旦AWSのEC2へ持って行ってみて
その後、PHPのバージョンアップ という手筈を踏みますので一時的な利用となってます。

PHPの場合は、古いバージョンをインストールするのに少し難儀しますが
MySQLは、公式のリポジトリに古いバージョンも残されているのでスムーズにインストール出来ます。
その内容もまた記事にしたいと思います。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA