Включение модуля HTTP2

sudo a2enmod http2

Перезапустить сервер apache:

sudo systemctl restart apache2

Добавить поддержку HTTP2

Конфигурационный файл Apache

Добавить в конфиг apache поддержку протокола HTTP2 sudo nano /etc/apache2/apache2.conf дописать в конце:

# Для работы HTTP2
Protocols h2 http/1.1

Виртуальный хост

Или же в каждый файл конфигурации виртуального хоста дописать после тега <VirtualHost>

Protocols h2 http/1.1

Перезапустить сервер apache:

sudo systemctl restart apache2

Поддержка MPM и PHP

Начиная с Apache 2.4.27, модуль mpm_prefork не поддерживает HTTP2 поэтому нужно выбрать другой модуль MPM, лучше mpm_event

Поскольку использую PHP, а он интегрирован в Apache через модуль mod_php, для которого требуется mpm_prefork, который отключаем. Придется использовать PHP как FastCGI. Чтобы переключиться на php-fpm сделать следующее:

Остановить работу веб-сервера Apache:

sudo systemctl stop apache2 

Если еще не установлен php-fpm то установить, последнюю версию или аналогичную установленной php. Как узнать установленную версию PHP на сервере.

sudo apt install php7.4-fpm

Включаем модули proxy_fcgi и mpm_event

sudo a2enmod proxy_fcgi setenvif
sudo a2enmod mpm_event

Включаем указанный файл конфигурации в apache2, версия должна соответствовать установленной.

a2enconf php7.4-fpm

Выключаем модули php7.4 и mpm_prefork

a2dismod php7.4
a2dismod mpm_prefork

Запускаем веб-сервер Apache:

sudo systemctl start apache2 

Проверяем работу протокола на любом тестовом сайте найденном в поисковике.