[NextCloud] PHP OPcacheモジュールが正しく設定されていません。セキュリティ警告に対応した話 [Debian11]

[NextCloud] PHP OPcacheモジュールが正しく設定されていません。セキュリティ警告に対応した話 [Debian11] Debian
[NextCloud] PHP OPcacheモジュールが正しく設定されていません。セキュリティ警告に対応した話 [Debian11]

NextCloud のセキュリティ&セットアップ警告 に警告が表示されたので、その警告の対応を記事にしてみました。

令和5年4月18日に修正後へopcache.interned_strings_buffer = 10を追加しました。

警告内容

  • PHP OPcacheモジュールが正しく設定されていません。詳細は ドキュメント を参照してください。
  • OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、opcache.interned_strings_bufferの値を8より多い値で、PHP設定に適用することを推奨します。

対策

ディレクトリ移動

~$ cd /etc/php/8.1/mods-available/

設定ファイルopcache.iniバックアップ

/etc/php/8.1/mods-available$ sudo cp opcache.ini opcache.ini.org

設定ファイルopcache.ini修正

/etc/php/8.1/mods-available$ sudo nano opcache.ini
修正前 /etc/php/8.1/mods-available/opcache.ini

; configuration for php opcache module

; priority=10

zend_extension=opcache.so

opcache.jit=off

修正後 /etc/php/8.1/mods-available/opcache.ini

; configuration for php opcache module

; priority=10

zend_extension=opcache.so

;opcache.jit=off

opcache.jit = 1255

opcache.jit_buffer_size = 128M

opcache.interned_strings_buffer = 10

修正有効化

/etc/php/8.1/mods-available$ sudo systemctl restart apache2

NextCloud のセキュリティ&セットアップ警告 を見ると「opcache.interned_strings_bufferの値を8より多い値で、PHP設定に適用することを推奨」とありますが、ドキュメントのリンク先を見てもopcache.interned_strings_bufferの記事は見当たりません。opcache.interned_strings_bufferで検索してもOpenBSDが出てきますがDebianは出てこないようです。
ドキュメントのリンク先によれば、

PHP 8.0以上は、実行している可能性のあるCPUを大量に消費するアプリに利益をもたらすために有効にできるJITコンパイラが付属しています。すべての最適化でトレースJITを有効にするには:

opcache.jit = 1255
opcache.jit_buffer_size = 128M

とあるので /etc/php/8.1/mods-available/opcache.ini を修正することで警告が消えました。

参考にさせていただいたサイト
https://docs.nextcloud.com/server/26/admin_manual/installation/server_tuning.html#enable-php-opcache
https://manualmaton.com/2022/10/26/nectcloud-recognizeアプリ導入後のopcacheの設定%E3%80%82/

タイトルとURLをコピーしました