Debian 9 (Stretch) - PHP インストール(Nginx と連携)!

Updated:


Debian GNU/Linux 9 (Stretch) に PHP をソースをビルドしてインストールし、 Web/リバースプロキシサーバ Nginx と連携する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0. 前提条件

  • Debian GNU/Linux 9 (Stretch) での作業を想定。
  • クライアント側は LMDE2(Linux Mint Debian Edition 2) を想定。
  • Web サーバとして Apache2 でなく Nginx と連携させることを想定しているので、 Nginx がインストール済みであること。(参照: Debian 9 (Stretch) - Web サーバ Nginx 構築(Nginx 公式リポジトリ使用)!
  • 標準リポジトリから PHP 7.0.19 をインストールする。
  • root ユーザでの作業を想定。

1. PHP のインストール

# apt -y install php php-cgi php-fpm php-common php-pear php-mbstring

2. インストールの確認

# php -v
PHP 7.0.19-1 (cli) (built: May 11 2017 14:04:47) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.19-1, Copyright (c) 1999-2017, by Zend Technologies

3. php-fpm 設定ファイルの編集

user, gropu 等を Nginx と同じものに編集する。
ついでに、ソケットファイルの設定も確認しておく。

File: /etc/php/7.0/fpm/pool.d/www.conf

1
2
3
4
5
user = nginx              # <= www-data から変更
group = nginx             # <= www-data から変更

listen.owner = nginx      # <= www-data から変更
listen.group = nginx      # <= www-data から変更

4. PHP 設定ファイルの編集

タイムゾーンを設定する。(日本時間)

File: /etc/php/7.0/fpm/php.ini

1
2
3
4
5
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo  // <= 追加

5. Nginx 設定ファイルの編集

File: /etc/nginx/conf.d/default.conf

1
2
3
4
5
6
location ~ \.php$ {
    fastcgi_pass    unix:/run/php/php7.0-fpm.sock;
    fastcgi_index   index.php;
    include         fastcgi_params;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

6. 表示テスト用 PHP ソースの作成

ドキュメントルートへ以下のような内容の “phpinfo.php” を作成する。

File: phpinfo.php

1
<? phpinfo(); ?>

7. サービスの再起動

$ systemctl restart nginx
$ systemctl restart php7.0-fpm

8. 動作確認

プラウザで http://<サーバアドレス>/phpinfo.php にアクセスしてみて、 PHP 情報ページが表示されればよい。

9. 参考サイト


以上。





 

Sponsored Link

 

Comments