#はじめに
まず最初に理解しておくことは、
UbuntuのApacheデフォルト設定の"prefork" MPM (Multi-Processing Module)
は、HTTP/2をサポートしていないということです。
場所: /etc/apache2/mods-enabled/mpm_prefork.load
したがって、単純にHTTP/2の設定をするだけでなく"prefork" MPMモジュールも別のものに切り替える必要があります。
下記がその全手順です。
fpm版のphpインストール
デフォルトのphpが、preforkモジュールに依存しているので、fpm版のphpに切り替えます。
sudo apt install php8.1-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.1-fpm
sudo a2dismod php8.1
sudo service apache2 restart
preforkモジュールからeventモジュールに切り替え
preforkモジュールをeventモジュールに切り替える
sudo a2dismod mpm_prefork
sudo a2enmod mpm_event
sudo service apache2 restart
sudo service php8.1-fpm restart
HTTP/2の設定
/etc/apache2/apache2.conf
に下記を追加します。
Protocols h2 h2c http/1.1
http2モジュールをONに
http2モジュールをONにします。
sudo a2enmod http2
sudo service apache2 restart
以上です。お疲れさまでした。