サーバー専門のフリーランスエンジニアです。クラウドサーバー環境を利用してWebサイト、ITシステムのサーバー全体構成やサーバー内部構成をデザインします。curlでHTTP/2リクエストができるようにしてほしい」というご依頼がありました。その設定手順をここにまとめます。HTTPサーバーのHTTP/2対応ではなく、HTTPクライアントのHTTP/2対応のお話です。7.1がインストールされているものとします。7.0でも、同じ手順でいけると思います。curlでHTTP/2リクエストを実行するために必要なパッケージは以下です。定義済み定数http://php.net/manual/ja/curl.constants.phpopensslについては、1.0.1でもよいのかもしれませんが、TLS接続でHTTP/2を利用する場合、使用するOpenSSLライブラリがALPNをサポートしている必要があるそうです。1.0.2e以上」という条件が出てきたのだと思われます。必要なソフトウェアをアップデート、インストールする前に、それぞれの現在のバージョンを確認します。libssh2/1.4.3↑★の箇所から、curlのSSLは、OpenSSLではなく、NSSを使用していることがわかります。アップデート、インストールopensslのアップデートnghttp2ライブラリのインストールHTTP/2対応curlのインストールを順に行います。1.0.2kがリリースされているので、最新バージョンにアップデートします。1:1.0.2k-8.el7また、curlのビルド時に、pkgconfig向けファイルやヘッダが必要となるので、openssl-develをインストールします。0:1.42.9-10.el7opensslのバージョンを確認します。2017nghttp2ライブラリのインストールHTTP/2対応のcurlをビルドする際に、nghttp2が必要となるのでインストールします。nghttp2のソースをダウンロードしてビルドしてもよいのですが、EPELリポジトリにパッケージがあるので、yumでインストールしたほうが簡単ですし、管理しやすいです。nghttp2コマンドではなく、ライブラリと、pkgconfig向けファイルが必要なので、libnghttp2とlibnghttp2-develをインストールします。7に含まれるcurlは、バージョンが7.29.0と古いため、最新バージョンのソースからビルドしてインストールします。curlオフィシャルサイトのダウンロードページhttps://curl.haxx.se/download.htmlより、最新バージョンのcurlのソースをダウンロード、展開します。--helpconfigureの実行時は、以下のオプションをつけます。ようにパスを指定します。Tools’で、開発ツールをグループインストールしておくとよいでしょう。OpenSSLを使用していること。