Apache 2.4.xからH2Oへ移行

だいぶ前だけれど、このWordPressがうごいているWebサーバをApacheからH2Oへ移行した。
H2OがパスフレーズのあるSSL/TLS証明書を読まなくて少し悩んだ。証明書にパスフレーズが存在する場合はあらかじめ解除しておくとスムーズに進むはず。設定ファイル中に登場する/path/toやexampleは適宜環境に合わせて読み替えてね。

・httpd.conf(一部)

proxy_fcgi_moduleを介してphp-fpmを使っていた。httpd.confの全文はこちら。httpd-mpm.confはプロセスに関する設定ファイルなので省略。

・httpd-vhosts.conf

あと、H2Oに移行するにあたりWP Super Cacheの動作モードをmod_rewriteを使用するモードから『キャッシュファイルの提供に PHP を利用する。』に変更した。同プラグインのrewrite設定を眺めてmrubyに移植しようという気が起きなかったから。

・h2o.conf

この設定Version 1.7.0くらいの時に書いたものだけれど、現在version 2.0.0-beta2でも動作している。Apacheに比べると設定の記述がずいぶんスッキリしたが、特定のファイル・ディレクトリへのアクセス制御などがオミットされて移行前と機能は同等ではない。
今後はcipher-suiteの見直しや、Let’s Encryptの証明書を用いてheartprotocol.comの方もHTTP/2対応したい。いずれはワイルドカードの証明証が欲しいな。

参考Webページ

サーバの構成をCentOS7+H2O+php-fpm(PHP7)にしてみた | SUSH-i LOG
https://blog.sus-happy.net/h2o_php7/

Kazuho’s Weblog: H2OとPHPを組み合わせるの、超簡単です(もしくはmod_rewriteが不要な理由)
http://blog.kazuhooku.com/2015/06/h2ophpmodrewrite.html

h2o 解決!SSL時でのエラーについて – うま味がない
https://negima.mobi/2015/08/1754

It is an error to the SSL connection · Issue #456 · h2o/h2o
https://github.com/h2o/h2o/issues/456