PHPは、主にWeb開発に使用される、人気のある無料のオープンソーススクリプト言語です。現在のところ、PHPの現在のバージョン(このチュートリアルを書いている時点)はPHP7.3.14です。ただし、CentOS7にはデフォルトでPHP5.4が付属しています。
PHP 5.4は2015年9月にようやく廃止され、WordPress、cPanel、WHMなどの主要なプラットフォームではサポートされなくなりました。幸い、PHP 7と、ほとんどのアプリケーションと完全に互換性のあるPHP7.3が最新のものになりました。
このチュートリアルでは、CentOS7にPHP7をインストールする方法を学習します。具体的には、PHP 7.1、7.2、および7.3をインストールする方法を学習します。その後、PHP7をApacheおよびNginxサーバーと統合する方法を示します。
前提条件
何よりもまず、sudo権限を持つ通常のユーザーとしてサーバーにログインします。これは、rootユーザーとしてコマンドを実行するのではなく、最も推奨される方法です。
Remiリポジトリを有効にする
Remiリポジトリは、CentOS7システムでは利用できない最新の最先端のパッケージを出荷する無料で人気のあるサードパーティのリポジトリです。
RemiリポジトリはEPEL(Enterprise Linux用の追加パッケージ)に依存しているため、RemiとEPELの両方が存在することを確認する必要があります。
したがって、以下のコマンドを実行して、yumコマンドを使用してEPELをインストールします。
$ sudo yum install epel-release yum-utils
Remiをインストールするには、次のコマンドを実行します。
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
EPELとRemiがすでにインストールされているので、次に進んでPHP7をCentOS7にインストールします。
CentOS7にPHP7.3をインストールする
これを書いている時点でPHPの最新バージョンであるPHP7.3をインストールすることから始めましょう。これは最新バージョンであり、WordPressやJoomlaなどの最新のコンテンツ管理システムとLaravelなどのフレームワークが付属しています。
ステップ1:PHP7.3Remiリポジトリを有効にする
PHP 7.3 Remiリポジトリを有効にするには、次のコマンドを実行します。
$ sudo yum-config-manager --enable remi-php73
ステップ2:PHP7.3と関連モジュールをインストールする
php 7.3 Remiを有効にして、次のようにPHP7.3とそのモジュールをインストールします。
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
インストールが完了したら、次のコマンドを使用してPHPのバージョンを確認できます。
$ php -v
CentOS7にPHP7.2をインストールする
PHP 7.2 CentOS 7をインストールするには、以下の手順に従ってください。
ステップ1:PHP7.2Remiリポジトリを有効にする
前に見たように、PHP7.2のRemiリポジトリを有効にすることから始めます
$ sudo yum-config-manager --enable remi-php72
ステップ2:PHP7.2および関連するPHPモジュールをインストールする
次に、次のようにPHP7.2と関連モジュールをインストールします。
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd
GPGをインポートするように求められたら、yを押してEnterキーを押します
インストールが完了したら、次のコマンドを使用してPHPのバージョンを確認します。
$ php -v
CentOS7にPHP7.1をインストールする
最後に、PHP7.1をインストールします。前の2つのバージョンで見たように、以下の手順に従います。
ステップ1:PHP7.1Remiリポジトリを有効にする
前に見たように、PHP7.1のRemiリポジトリを有効にすることから始めます
$ sudo yum-config-manager --enable remi-php71
ステップ2:PHP7.1とそれに関連するPHPモジュールをインストールする
Remiリポジトリを有効にした後、次のコマンドを使用してPHP7.1をインストールします。
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql
GPGキーのインポートを求めるプロンプトが表示されたら、 yと入力します ENTERを押してください
インストールを確認するには、次のコマンドを実行します:
$ php -v
ApacheWebサーバーと連携するようにPHP7.xを構成します
Apacheが選択したWebサーバーである場合は、Apacheサービスを再起動するだけで、スムーズに進むことができます。これ以上の構成や複雑な構成は必要ありません。
$ sudo systemctl restart httpd
NginxWebサーバーと連携するようにPHP7.xを構成します
Apacheとは異なり、PHP 7.xを使用したNginxの構成は、思ったほど簡単ではありません。 NginxにはPHPファイルの処理のサポートがないため、PHPファイルを処理するPHPFPMと呼ばれる追加のパッケージセットをインストールする必要があります。
PHP FPmパッケージをインストールするには、次のコマンドを実行します。
$ sudo yum install php-fpm
インストール後、/etc/php-fpm.d/www.conf
にある構成ファイルに移動します。
ポート9000をリッスンしている「apache」というユーザーがいることがわかります。そのユーザーを「nginx」に変更し、後で以下に示すように行を調整します。
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
次に、ファイル/var/lib/php
に正しい所有権を設定します 図のようにchownコマンドを使用します:
$ sudo chown -R root:nginx /var/lib/php
次に、次のようにphp-fpmを有効にして起動します。
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm
次を実行してステータスを確認します:
$ sudo systemctl status php-fpm
Nginxブロックを構成した場合は、NginxがPHPファイルを処理できるように、次の構成行を追加する必要があります。
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
最後に、変更を有効にするためにWebサーバーを再起動します
$ sudo systemctl restart nginx
結論
そして、それだけです、皆さん!さまざまなバージョンのPHP7をCentOS7にインストールする方法と、後でさまざまなWebサーバーを構成してPHPファイルを処理する方法を示しました。 Apacheは非常に簡単ですが、NginxWebサーバーにもっと注意を払う必要があります。お時間をいただきありがとうございます。