Ubuntuにphp-fpm8.2のインストール

ubuntu22.04にphp-fpm8.2をインストールしたいと思います。

目次

インストール

パッケージのアップデート

まずさ最初にパッケージをアップデートします。

sudo apt update

リポジトリの追加

Ubuntuの標準リポジトリにphp 8系が登録されていないため、
別途ppa:ondrej/phpリポジトリを追加します。

sudo apt install software-properties-common

下記のコマンドの途中でEnterボタンを求めてきますので、そのままEnterします。

sudo add-apt-repository ppa:ondrej/php

php-fpmの追加

リポジトリの追加が終わったら、aptでphp-fpmをインストールします。

sudo apt install -y php-fpm php-curl php-mysql

バージョンの確認

php 8.2.7がインストールできました。

hide@x162-43-18-113:~$ php -v
PHP 8.2.7 (cli) (built: Jun  8 2023 15:27:40) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.2.7, Copyright (c), by Zend Technologies

4. php-domのインストール

後でDomエクステンションが必要になってくるので、ここでインストールしておきます。

sudo apt install php8.2-dom

初期設定

設定ファイルの場所(php-fpm)

sudo vim /etc/php/8.2/fpm/php-fpm.conf

中を確認してみると、最後の行に設定ファイルの場所の記述があります。

; Include one or more files. If glob(3) exists, it is used to include a bunch of
; files from a glob(3) pattern. This directive can be used everywhere in the
; file.
; Relative path can also be used. They will be prefixed by:
;  - the global prefix if it's been set (-p argument)
;  - /usr otherwise
include=/etc/php/8.2/fpm/pool.d/*.conf
hide@x162-43-18-113:~$ ls -la /etc/php/8.2/fpm/pool.d
合計 32
drwxr-xr-x 2 root root  4096  7月  7 17:39 .
drwxr-xr-x 4 root root  4096  7月  7 17:43 ..
-rw-r--r-- 1 root root 22096  6月  9 00:27 www.conf

www,confファイルが有るので、NginxとPHPがやり取りを行うソケットファイルの場所を探します。

less /etc/php/8.2/fpm/pool.d/www.conf

listenで検索すると、ソケットファイルの場所が探せます。


/run/php/php8.2-fpm.sock がPHPとNginxとのやり取りを行うソケットです。これを後でNginxの設定ファイルに記述します。

設定ファイルの場所(php.ini)

ここでPHPの細かい設定を行います。

sudo vim /etc/php/8.2/fpm/php.ini
  • memory_limitは初期が128M→512Mに変更
  • post_max_sizeは初期が8M→32Mに変更
  • upload_max_file_sizeは初期2M→16Mに変更
  • max_file_uploadsは初期20→30に変更

起動

php-fpmの起動と自動起動設定

systemctlでOS起動時にサービスが開始されるか確認してみます。

systemctl list-unit-files --type=service | grep php

enabledとなっていれば、OKです。

nginxの設定

設定のdefaultファイルを開く

sudo vim /etc/nginx/sites-enabled/default

phpの箇所を有効化

56行目付近にphp設定のサンプルがコメントアウトされた状態で記載されています。
socketを使用する箇所のコメントを解除し有効化します。

パスを記述

パスを /run/php/php8.2-fpm.sock に変更しましす。

fastcgi_paramの追加

下記の内容をfastcgi_passの下に追加します。

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

Nginxの再読込

編集が終わったらnginxの設定ファイルを再読込。

sudo service nginx reload

設定の確認

wwwのルートはデフォルトで「/var/www/html」となっています。
/var/www/html/info.phpを作成

sudo vim /var/www/html/info.php

下記を記述して保存します。

<?php phpinfo();

保存したらブラウザで確認します。

http://[VPSサーバーのIPアドレス]/info.php

下記の様にPHPの設定状況が確認できます。

info.phpファイルの削除

尚、確認後は上記info.phpファイルは必ず削除してください。PHP環境の全てが表示されますので、セキュリティ的に危険です。

sudo rm /var/www/html/info.php
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次