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

Updated:


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

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

0. 前提条件

  • Debian GNU/Linux 11.2.0 (bullseye; 64bit) での作業を想定。
  • サーバ用途なので、作業は基本的に全て一般ユーザから root になって行う。
  • クライアント側も Debian GNU/Linux 11 (bullseye; 64bit) を想定。
  • Web サーバとして Apache2 でなく Nginx と連携させることを想定しているので、 Nginx がインストール済みであること。(参照: Debian 11 (bullseye) - Web サーバ Nginx 構築(Nginx 公式リポジトリ使用)!
  • 標準リポジトリから PHP 7.4 系をインストールする。
  • root ユーザでの作業を想定。

1. PHP のインストール

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

2. インストールの確認

# php -v
PHP 7.4.21 (cli) (built: Jul  2 2021 03:59:48) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
    with Zend OPcache v7.4.21, Copyright (c), by Zend Technologies

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

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

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

user = nginx              # <= www-data から変更
group = nginx             # <= www-data から変更

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

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

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

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

[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

location ~ \.php$ {
    root          html;
    fastcgi_pass  unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME  /var/www/html$fastcgi_script_name;
    fastcgi_pass_header "X-Accel-Redirect";
    fastcgi_pass_header "X-Accel-Buffering";
    fastcgi_pass_header "X-Accel-Charset";
    fastcgi_pass_header "X-Accel-Expires";
    fastcgi_pass_header "X-Accel-Limit-Rate";
    include fastcgi_params;
}

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

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

File: phpinfo.php

<? phpinfo(); ?>

7. サービスの再起動

# systemctl restart nginx
# systemctl restart php7.4-fpm

8. 動作確認

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

9. 参考サイト


以上。





 

Sponsored Link

 

Comments