CentOS7.1 64bitのyumリポジトリにRemiを追加

CentOS7.1 64bitのyumリポジトリにRemiを追加

CentOS7.1の64bit版のyumリポジトリにRemiを追加する方法を以下に示します。

※CentOS6 64bitをご使用の場合は、当サイトのCentOS6 64bitのyumリポジトリにRemiを追加のページをご覧ください。

以下の各コマンドで、プロンプトが「#」で開始しているものはrootユーザーでの実行、「$」で開始しているものは一般ユーザーでの実行となります。

yumリポジトリにEPELを追加

Remiのyumリポジトリを追加するには、EPELのyumリポジトリが追加されている必要があります。

EPELのyumリポジトリの追加方法については、当サイトのCentOS7 64bitのyumリポジトリにEPELを追加のページをご覧ください。

Remiのリポジトリ設定パッケージをダウンロード

以下のコマンドを実行して、Remiのリポジトリ設定パッケージのダウンロードを行います。

※ダウンロード元のURLは、Remiの公式サイトにリンクがあります。

$ wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

Remiのリポジトリのインストール

以下のコマンドを実行して、Remiのリポジトリ設定パッケージのインストールを行います。

# rpm -Uvh remi-release-7.rpm

デフォルトの設定では、yumコマンドの実行時にremiのリポジトリは自動的には使用されないようになっています。この設定は、インストールされたRemiのリポジトリの設定ファイル「/etc/yum.repos.d/remi.repo」で、以下のように行われています。

[remi] :(略) enabled=0

※「enabled=1」と設定すると、remiのリポジトリがyumコマンドの実行時に自動的に使用されるようになります。

また、remi-safeというリポジトリが自動的に使用されるようになっています。こちらを明示的に使用されるようにしたい場合は、リポジトリの設定ファイル「/etc/yum.repos.d/remi-safe.repo」を、以下のように編集します。

[remi-safe] :(略) enabled=1 ↓変更 enabled=0

yumコマンドの実行時にRemiのリポジトリを使用するには、以下のようにオプション「–enablerepo=remi」を付けて実行します。

# yum --enablerepo=remi list

尚、Remiのリポジトリと依存関係にあるEPELのリポジトリの両方を明示的に使用するには、以下のようにオプション「–enablerepo」に「remi」と「epel」をカンマで繋げて実行することができます。

# yum --enablerepo=remi,epel list

PHP5.6のインストール

CentOS7.1の標準リポジトリからインストールできるPHPのバージョンは5.4ですが、ApacheにCentOS7.1の標準リポジトリからインストールできるApache2.4.6を使用している場合、RemiのリポジトリからPHP5.6をインストールすることができます。

※当サイトのApache2.4をRPMからインストールする方法で紹介しているApache2.4をインストールしている場合は、RemiのリポジトリのPHPは、対象のApacheのMMN(Module Magic Number)の違いのためインストールできません。

PHP5.6のインストール

以下のコマンドを実行して、PHP5.6のインストールを行うことができます。

# yum --enablerepo=remi,epel install php56-php

尚、Remiのリポジトリから初めてyumコマンドでパッケージのインストールを行う際には、以下のような警告メッセージが表示されます。

警告: /var/cache/yum/x86_64/7/remi/packages/libzip-last-1.0.1-1.el7.remi.x86_64.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID xxxxxxxx: NOKEY libzip-last-1.0.1-1.el7.remi.x86_64.rpm の公開鍵がインストールされていません (1/8): libzip-last-1.0.1-1.el7.remi.x86_64.rpm | 43 kB 00:00:00 (2/8): php56-php-pecl-zip-1.13.0-1.el7.remi.x86_64.rpm | 42 kB 00:00:00 (3/8): php56-runtime-2.1-1.el7.remi.x86_64.rpm | 1.1 MB 00:00:00 (4/8): scl-utils-20130529-17.el7_1.x86_64.rpm | 24 kB 00:00:00 (5/8): php56-php-pecl-jsonc-1.3.8-1.el7.remi.x86_64.rpm | 45 kB 00:00:01 (6/8): php56-php-5.6.13-1.el7.remi.x86_64.rpm | 1.3 MB 00:00:04 (7/8): php56-php-common-5.6.13-1.el7.remi.x86_64.rpm | 685 kB 00:00:06 (8/8): php56-php-cli-5.6.13-1.el7.remi.x86_64.rpm | 2.6 MB 00:00:09 ------------------------------------------------------------------------------------------------------------------------ 合計 635 kB/s | 5.8 MB 00:00:09 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi から鍵を取得中です。 Importing GPG key 0xXXXXXXXX: Userid : 'Remi Collet <,RPMS@FamilleCollet.com>,' Fingerprint: xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx xxxx Package : remi-release-7.1-2.el7.remi.noarch (installed) From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi 上記の処理を行います。よろしいでしょうか? [y/N]

これはyumコマンドでパッケージのインストールを行う際には、GPG署名というものを使用して、パッケージの検証を行うようになっているのですが、その際に必要なキーが存在しないため、インポートしてよいか確認するメッセージになります。

キーのインポートを行うので、「y」を入力します。

尚、インポートされているキーは、以下のコマンドで確認できます。

# rpm -qa gpg-pubkey* gpg-pubkey-xxxxxxxx-xxxxxxxx gpg-pubkey-xxxxxxxx-xxxxxxxx

キーは、CentOSのリポジトリのもの、Remiのリポジトリのもの等、使用しているリポジトリ別に管理されます。

【補足】マルチバイト文字列関数を使用する場合

マルチバイト文字列関数(mb_〜)を使用するには、mbstringモジュールが別途必要となります。

以下のコマンドを実行して、mbstringモジュールのインストールを行います。

# yum --enablerepo=remi,epel install php56-php-mbstring

【補足】PDOでMySQLに接続する場合

PDOでMySQLに接続するには、pdoモジュール、mysqlndモジュールが別途必要となります。

以下のコマンドを実行して、pdoモジュール、mysqlndモジュールのインストールを行います。

# yum --enablerepo=remi,epel install php56-php-pdo php56-php-mysqlnd

PHP5.5のインストール

上記のPHP5.6のインストールと同様に、RemiのリポジトリからPHP5.5をインストールすることができます。

PHP5.5のインストール

以下のコマンドを実行して、PHP5.5のインストールを行うことができます。

# yum --enablerepo=remi,epel install php55-php

【補足】マルチバイト文字列関数を使用する場合

マルチバイト文字列関数(mb_〜)を使用するには、mbstringモジュールが別途必要となります。

以下のコマンドを実行して、mbstringモジュールのインストールを行います。

# yum --enablerepo=remi,epel install php55-php-mbstring

※マルチバイト文字列関数を使用する際は、php.iniで「mbstring.internal_encoding」を設定する必要があります。PHP5.6では、この設定は非推奨(不要)になっています。

【補足】PDOでMySQLに接続する場合

PDOでMySQLに接続するには、pdoモジュール、mysqlndモジュールが別途必要となります。

以下のコマンドを実行して、pdoモジュール、mysqlndモジュールのインストールを行います。

# yum --enablerepo=remi,epel install php55-php-pdo php55-php-mysqlnd

yumリポジトリにRemiを追加については、以上です。