web-dev-qa-db-ja.com

Apache2モジュールhttp2がUbuntu16.04に存在しないのはなぜですか?

Htt2_moduleをインストールしたいのですが。この link にリストされている手順に従ってUbuntu 14.04を新規インストールした後、実行中のhttp2_moduleを有効にしようとしました

Sudo a2enmod http2

しかし、私は得ます:モジュールhttp2は存在しません!

インストールされているApacheのバージョンは次のとおりです。Apache/ 2.4.7、回避策としてこれを試してみました link 次のリポジトリを追加します

Sudo add-apt-repository ppa:ondrej/Apache2

sudo apt-get updateで更新し、http2をインストール/有効化するコマンドを再度実行すると、同じエラーが発生します。モジュールhttp2は存在しません。

10
jj-aa

実際、http2モジュールはApache 2.4.17以降でサポートされています(安定性を高めるには、少なくとも2.4.23を使用する必要があります)が、Ubuntu 16.04または14.04のデフォルトのApacheは必要最小限よりも低いため、Apacheをアップグレードするには次の手順に従います。

$ Sudo add-apt-repository -y ppa:ondrej/Apache2

$ Sudo apt-key update

$ Sudo apt-get update

次に実行します

$ Sudo apt-get --only-upgrade install Apache2 -y

ここでは、次のように2回プロンプトが表示されます。

*** Apache2.conf(Y/I/N/O/D/Z)[デフォルト= N]?

両方の時間Yを押して、続行します。

Mods-availableフォルダーを確認すると、http2.loadファイルが表示されます。

$ Sudo a2enmod http2

次の出力が得られます

モジュールhttp2を有効にします。新しい設定をアクティブにするには、次のコマンドを実行する必要があります。serviceApache2 restart

15
DnA
  1. Apacheを最新にアップグレードする

    apt-get install software-properties-common python-software-properties 
    add-apt-repository ppa:ondrej/Apache2 
    apt-get update -y 
    apt-get upgrade -y 
    apt-get install Apache2 -y 
    Apache2 -v 
    

Apacheのバージョンは2.4.25以降である必要があります。

  1. Mod_http2から有効にします

    a2enmod http2 
    service Apache2 restart
    
  2. 自己署名OR有効なSSLをWebサイトに追加して、サーバーでhttp2を有効にします。
    リンク:- https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-Apache-for -ubuntu-14-04

  3. Apache2仮想ホストファイルにHTTP/2サポートを追加します。例:

    <VirtualHost *:443>  
        Protocols h2 http/1.1 
        ServerAdmin [email protected] 
        ServerName your-site.com 
        ... 
    </VirtualHost>
    

そしてApache2サービスを再起動します

service Apache2 restart
  1. HTTP/2上のApache2はmpm_preforkモードをサポートしていません。mpm_eventに変更してください。PHPのバージョンは、php5.6以降である必要があります。

    service Apache2 stop 
    apt-get install php7.1-fpm 
    a2enmod proxy_fcgi setenvif 
    a2enconf php7.1-fpm 
    a2dismod php7.1 
    a2dismod mpm_prefork 
    a2enmod mpm_event 
    service Apache2 start 
    

次に、次のようにサーバーのドメイン名またはパブリックIPアドレスにアクセスして、構成をテストします。 https:// server_domain_name_or_IP

HTTP/2プロトコルが機能しているかどうかを確認するには、ブラウザの[要素の検査]に移動し、[ネットワーク]セクションでhttpプロトコルのバージョンを確認できます。

7
Ravi Kumar