web-dev-qa-db-ja.com

PHP7を使用するApache上のCentOS 7上のHTTP / 2

いくつかの調査の後、私は答えを見つけることができません:VPSでHTTP/2プロトコルを使用する方法pdate Apache/httpdを最新バージョンに更新する方法。 PHP7とApacheベースのサーバーを使用しています-CentOS 7。

CentOSのデフォルトのリポジトリではパッケージの更新はありません。

[root@vps270238 ~]# httpd -v
Server version: Apache/2.4.6 (CentOS)
Server built:   Nov 19 2015 21:43:13

実際の設定と仮想ホストを保持したいのですが。

7

HTTP/2を有効にするには、Apache 2.4.18以降が必要ですが、それ以降にmod_http2に多くの変更を加えるため、最低限のApache 2.4.23を推奨する人もいます(以下でさらに説明します)。これには、いくつかのサードパーティソフトウェアも必要です(nghttp2および最新バージョンのopenssl)

Centosのデフォルトのリポジトリは、最新の機能ではなく安定性を優先するRed Hatに基づいています。そのため、バージョンに遅れをとることがよくあります(ただし、セキュリティパッチを適用すると、バージョン番号を同じにしても、最新の状態に保たれます)。

さらに、mod_http2モジュールはまだ大幅に変更されています( そのリリースを見るとほぼ毎日 !)ので、Edgeはかなり削減されています-数か月間、安定性の問題はありませんでした。

そのため、Apacheでhttp/2を使用する最良の方法は、ソースから最新バージョンをコンパイルすることです。もちろん、これにはリスクがないわけではありません。最初に、上記の更新が容易なセキュリティパッチの保護を失うため、それらを上手く保つためにより頻繁にアップグレードする必要があるかもしれません(私の意見では悪いことではありません)。さらに、ソースコードをインストールする前に確認する必要があります(特に、少なくとも最初はrootとして実行されるApacheなどのアプリケーションの場合)。したがって、それは軽く取られる決定ではありません。

それでも、続行したい場合は、ソースコードからのインストールは、思ったほど難しくありません。 私はそれを行う方法についてのブログ投稿を持っています そしてまたCentosを使用します。 PHPを使用しないので、追加のコンパイルオプションが必要かどうかはわかりません。

デフォルトでは、Apacheは/ usr/local/Apache2にインストールされることにも注意してください。これは、元のインストールを維持できるので(ロールバックが必要な場合に備えて)良いのですが、構成を/ usr/local/Apache2/confにコピーし、古いApacheを停止する必要があります(起動スクリプトを含む) 、新しい場所から新しいApacheを再起動します。

10
Barry Pollard

簡単なヒント。 nginxをリバースプロキシとして使用し、そこからhttpd/2を有効にします。そして、あなたはすべてのvhostsとhtaccessを保持します。

0
x86fantini