CentOS7 on Docker コンテナにphp7をインストールする

スポンサーリンク

 

WordPress環境を構築するために、CentOS7が稼働するDockerコンテナにphp7とphp-fpmをインストールする方法をメモしました。

 

参照記事

DockerでWordPressサーバのイメージを作る | Qiita

CentOS7のPHPのバージョンを5.6.x/7.0.x/7.1.x/7.2.x/7.3.xにバージョンアップする | Qiita

 

スポンサーリンク

環境

 

下記の環境にphp7をインストールします。

 

サーバー側

・さくらのVPS(物理サーバー)

・Docker CE(物理サーバー)

・CentOS7(Dockerコンテナ)

・nginx(Dockerコンテナ)

 

クライアント側

・iMac 27 inch 5K

 

リポジトリを追加します

 

phpインストール用のレポジトリを追加します。

ちなみにレポジトリとは、インストールソースが置かれている場所のことを指します。

つまり、php7のインストールソースをどこからダウンロードするのか、その場所をリポジトリとして指定します。

今回は、標準レポジトリ外から取得するため、remiおよびepelのレポジトリを追加します。

 

remiをインストールします

 

標準レポジトリに無いパッケージをインストールしたいとき、remiレポジトリを使用できるようインストールします。

remiは、パッケージをインストールしたいときに使用できる、レポジトリのセットになります。

php7なら○○にあるのでダウンロードしてね、という場所の指示が盛り込まれています。

 

サーバー側(dockerコンテナ)

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

Retrieving http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
warning: /var/tmp/rpm-tmp.5e4Svp: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Preparing...                         ################################# [100%]Updating / installing...
 1:remi-release-7.6-1.el7.remi     ################################# [100%]

#

 

remiのインストールはこれで完了です。

 

epelをインストールします

 

epelレポジトリも使用できるように、epel-releaseをインストールします。

 

サーバー側(dockerコンテナ)

yum install epel-release

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* base: mirrors.cat.net
* extras: mirrors.cat.net
* updates: mirrors.cat.net

・・・

Complete!

 

Complete!が表示されれば完了です!

 

php7をインストールします

 

php7をインストールします。

disablerepo=*で、いったんすべてのレポジトリを無効化します。

そのうえで、enablerepo=remi で、remiのレポジトリのみを使用するよう指定します。

強制的にremiレポジトリを参照するようにします。

 

サーバー側(dockerコンテナ)

yum install --disablerepo=* --enablerepo=remi,remi-php70 php

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* remi: ftp.riken.jp
* remi-php70: ftp.riken.jp
remi-php70                                                                            | 3.0 kB 00:00:00
remi-php70/primary_db

・・・

Complete!

 

Complete!が表示されれば、php7のインストールが完了です。

 

php7のバージョンを確認します

 

phpのバージョンを確認するには、-vオプションをつけます。

 

# php -v

PHP 7.0.33 (cli) (built: Jan 9 2019 14:57:19) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies

 

php7に関連する追加パッケージをインストールします

 

php7のインストールを終えたら、関連パッケージをインストールします。

 

サーバー側(dockerコンテナ)

yum install --disablerepo=* --enablerepo=remi,remi-php70 php-mbstring php-pear php-fpm php-mysql

Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
* remi: ftp.riken.jp
* remi-php70: ftp.riken.jp
Package php-mysql is obsoleted by php-mysqlnd, trying to install php-mysqlnd-7.0.33-2.el7.remi.x86_64 instead
Resolving Dependencies

・・・

Complete!

Compete!が表示されれば、関連パッケージのインストールが完了です。

 

php-fpmの実行ユーザをnginxに設定します

 

デフォルトでは実行ユーザーがapatchになっているので、nginxに設定を変更します。

php-fpmの設定ファイルをviエディタで開き、修正します。

php-fpmの設定ファイルは、/etc/php-fpm.d/www.conf です。

 

サーバー側(dockerコンテナ)

cd /etc/php-fpm.d/

# cp -p www.conf www.conf_20190202

# vi www.conf

 

www.confファイル(ファイル内容は前後省略)

user=nginx    #defaultではapatch

group=nginx   #defaultではapatch

 

php-fpmを起動し、自動起動に設定します

 

# systemctl start php-fpm

# systemctl enable php-fpm

 

以上で、php7のインストールは完了です!

次は、WordPress用にnginxのconfigファイルを設定してみましょう。

 

WordPress用にnginxのconfigファイルを設定する
WordPress環境を構築するために、CentOS7上で稼働するnginxのconfigファイルを設定する方法をメモしました。 参照記事 DockerでWordPressサーバのイメージを作る | Qiita ...

コメント

タイトルとURLをコピーしました