FreeBSD 13.3 RELEASE - apache24 - PHP - PHP 8.2 インストール

クラウディア 
1. 概要
2. php82
3. php82-extensions
4. mod_php82

1. 概要

 「PHP」の詳細については「ウィキペディア - PHP」をご参照ください。  ここでは、ウェブサーバ上でデータベースを動作させる前提で記述している箇所があります。  先に「apache」や使用しようとするデータベースをインストールしてください。  2024年3月27日時点で、「ports」には、「PHP 8.1」「PHP 8.2」「PHP 8.3」が存在します。  現在は、「PHP 8.2」が無難かなと思います。  「PHP (プログラミング言語) - Wikipedia」によれば、「PHP 8.3.3」が、2024年2月15日にリリースされています。

2. php82

 どれだけのフレームワークが「PHP 8.2」で動作するかはわかりません。  「Laravel」については、確実に動作します。

cd /usr/ports/lang/php82
make config
 デフォルトの状態です。
「FreeBSD 13.3 RELEASE」-「/usr/ports/lang/php82」「make config」

 スレッドセーフに動作させるには「ZTS」のオプションが必須になります。
 今回「Apache」で、「MPM」の設定を「MPM_EVENT」にしていますので、「ZTS」のチェックをいれます。
 あとは、デフォルトのままで。


cd /usr/ports/lang/php82
make
make install
 例によって依存関係があり、自動的にインストールされるものについては記述しません。  インストール時のメッセージを記載しておきます。

===>   Registering installation for php82-8.2.16
Installing php82-8.2.16...
===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/lib/libphp.so
/usr/local/bin/php
/usr/local/bin/php-cgi
/usr/local/sbin/php-fpm

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
https://www.php.net/

3. php82-extensions


cd /usr/ports/lang/php82-extensions
make config
 デフォルトでチェックされているものは、チェックをはずさないように。  「WordPress」をインストールする予定があれば、更新のために「CURL」は、必須でチェックします。  「CALENDER」「GD」「GETTEXT」は、のモジュールで使うことがあるのでチェックしておいた方がいいでしょう。
「FreeBSD 13.3 RELEASE」-「/usr/ports/lang/php82-extensions」「make config ①」

 日本語を使用するのであれば「MBSTRING」は、必須でチェックします。
 (とういうか、これが日本人にとって一番大事かもしれない)
 「MySQL」を使用するのであれば「MYSQLI」は、必須でチェックします。
 以前は「WordPress」をインストールする予定があれば、更新のために「OPENSSL」というオプションを必須でチェックしていたのですが、現在なくなっているということは、デフォルトでインストールされるのかしらん。

「FreeBSD 13.3 RELEASE」-「/usr/ports/lang/php82-extensions」「make config ②」

 「postgreSQL」を使用するのであれば「PGSQL」は、必須でチェックします。

「FreeBSD 13.3 RELEASE」-「/usr/ports/lang/php82-extensions」「make config ③」

 「SYSTEMⅤ」系のモジュールを使用するのであれば「SYSVMSG」「SYSVMEM」「SYSVSHM」をチェックします。
 (通常は、必要ないかな)
 「WordPress」をインストールする予定があれば「ZLIB」は、必須でチェックします。
 「ZIP」は、のモジュールで使うことがあるのでチェックしておいた方がいいでしょう。

「FreeBSD 13.3 RELEASE」-「/usr/ports/lang/php82-extensions」「make config ④」

 上記にデータベースのチェックについて記述していますが。
 先にデータベースをインストールしていないと、「php」のインストール時に意図しないバージョンのクライアントがインストールされることがあります。
 使用予定のバージョンがあれば、「php」より先にデータベースをインストールしておきます。


cd /usr/ports/lang/php82-extensions
make
make install
 「mbstring」について今後、「ports」のインストール時に設定を反映するように

vi /etc/make.conf
 以下の1行を追加しておきます。

OPTIONS_SET+=MBSTRING

4. mod_php82


cd /usr/ports/www/mod_php82
make config
 前項までと同様、「ZTS」オプションにチェックをいれます。  ほかは、デフォルトのままにしておきます。
「FreeBSD 13.3 RELEASE」-「/usr/ports/www/mod_php82」「make config」


cd /usr/ports/www/mod_php82
make
make install
 インストール時のメッセージを記載しておきます。

===>  Installing for mod_php82-8.2.16
===>  Checking if mod_php82 is already installed
===>   Registering installation for mod_php82-8.2.16
Installing mod_php82-8.2.16...
[activating module 'php' in /usr/local/etc/apache24/httpd.conf]
******************************************************************************

Consider switching to php-fpm and mod_fast_cgi as per Apache httpd project
recommendation. See https://cwiki.apache.org/confluence/display/HTTPD/PHP-FPM

******************************************************************************

If you are building PHP-based ports in poudriere(8) or Synth with ZTS enabled,
add WITH_MPM=event to /etc/make.conf to prevent build failures.

******************************************************************************

Make sure index.php is part of your DirectoryIndex.

You should add the following to your Apache configuration file:

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

******************************************************************************

===> SECURITY REPORT:
      This port has installed the following files which may act as network
      servers and may therefore pose a remote security risk to the system.
/usr/local/libexec/apache24/libphp.so

      If there are vulnerabilities in these programs there may be a security
      risk to the system. FreeBSD makes no guarantee about the security of
      ports included in the Ports Collection. Please type 'make deinstall'
      to deinstall the port if this is a concern.

      For more information, and contact details about the security
      status of this software, see the following webpage:
https://www.php.net/
earthcar(アースカー)
ネットオークションの相場、統計、価格比較といえばオークファン
ハイスピードプラン
U-NEXT
メンズミレット
Star Naming Gift