そうこいつ。
設定ファイルのincludeは出来ていますが、
複数includeファイルが読み込みできないという謎の現象。
しばらく放置していましたが…….
悩まされた問題がようやく!!
解決したああ!!!!
そもそも設定が違うというw
改めてこのブログ(blog.adachin.me)のh2o設定ファイルを紹介するので、みなさんも参考にしてみてください。
■/etc/h2o
1 2 3 4 5 6 7 8 9 10 |
/etc/h2o ├── conf.d │ ├── adachin.me.conf │ ├── adachin.server-on.net.conf │ └── blog.adachin.me.conf ├── h2o.conf └── mruby └── htpasswd.rb 2 directories, 5 files |
今回はadachin.me、blog.adachin.me、adachin.server-on.netのバーチャル(conf file)を分けます。
もちろんapacheやnginxと同等にh2oもincludeできるのでちゃんとH2Oを理解しないとダメです。
■h2o.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
user: www-data pid-file: /var/run/h2o/h2o.pid file.custom-handler: extension: .php fastcgi.connect: port: /var/run/php/php7.0-fpm.sock type: unix file.index: [ 'index.html', 'index.php' ] hosts: <<: !file /etc/h2o/conf.d/blog.adachin.me.conf hosts: <<: !file /etc/h2o/conf.d/adachin.me.conf hosts: <<: !file /etc/h2o/conf.d/adachin.server-on.net.conf error-log: /var/log/h2o/all-virtual.error.log |
まず設定ファイルを書く場合、共通している部分は全てh2o.confに記入します。(apacheやnginxも同様)
例えばh2oが動くuser、pid-file、phpを繋げるfile.custom-handler、file.index、が今回そうですね。
そこでそれぞれhostsごとに分けてfileでどのconfファイルをincludeするか指定します。
なのでincludeファイルには基本domain、port、redirect、などの役割を設定してあげるだけです。
エラーログはincludeファイル全体を吐くようにしてます。
■blog.adachin.me.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
"blog.adachin.me:80": listen: port: 80 paths: "/": redirect: https://blog.adachin.me "/wordpress": redirect: https://blog.adachin.me "blog.adachin.me:443": listen: port: 443 ssl: certificate-file: /etc/letsencrypt/live/blog.adachin.me/fullchain.pem key-file: /etc/letsencrypt/live/blog.adachin.me/privkey.pem paths: "/wordpress": file.dir: /var/www/wordpress redirect: url: /index.php/ internal: YES status: 307 "/": redirect: https://blog.adachin.me access-log: /var/log/h2o/blog.adachin.me.access.log |
■adachin.me
1 2 3 4 5 6 7 |
"adachin.me:80": listen: port: 80 paths: "/": file.dir: /var/www/html access-log: /var/log/h2o/adachin.me.access.log |
■adachin.server-on.net.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
"adachin.server-on.net:80": listen: port: 80 paths: "/": redirect: https://blog.adachin.me "/wordpress": redirect: https://blog.adachin.me "adachin.server-on.net:443": listen: port: 443 ssl: certificate-file: /etc/letsencrypt/live/adachin.server-on.net/fullchain.pem key-file: /etc/letsencrypt/live/adachin.server-on.net/privkey.pem paths: "/wordpress": redirect: https://blog.adachin.me file.dir: /var/www/wordpress "/": redirect: https://blog.adachin.me access-log: /var/log/h2o/adachin.server-on.net.access.log |
あとはドキュメント通りに書くだけ。
■h2o configtest
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# h2o -t -c h2o.conf [OCSP Stapling] testing for certificate file:/etc/letsencrypt/live/blog.adachin.me/fullchain.pem fetch-ocsp-response (using OpenSSL 1.0.2g 1 Mar 2016) sending OCSP request to http://ocsp.int-x3.letsencrypt.org /etc/letsencrypt/live/blog.adachin.me/fullchain.pem: good This Update: Sep 8 22:00:00 2017 GMT Next Update: Sep 15 22:00:00 2017 GMT verifying the response signature verify OK (used: -VAfile /tmp/xhq4V7AFOL/issuer.crt) [OCSP Stapling] stapling works for file:/etc/letsencrypt/live/blog.adachin.me/fullchain.pem [OCSP Stapling] testing for certificate file:/etc/letsencrypt/live/adachin.server-on.net/fullchain.pem fetch-ocsp-response (using OpenSSL 1.0.2g 1 Mar 2016) sending OCSP request to http://ocsp.int-x3.letsencrypt.org /etc/letsencrypt/live/adachin.server-on.net/fullchain.pem: good This Update: Sep 8 22:00:00 2017 GMT Next Update: Sep 15 22:00:00 2017 GMT verifying the response signature verify OK (used: -VAfile /tmp/d8FT2E4EDp/issuer.crt) [OCSP Stapling] stapling works for file:/etc/letsencrypt/live/adachin.server-on.net/fullchain.pem configuration OK |
ちゃんとincludeファイルが読み込んでますね!
ちなみにincludeファイル単体でconfigtestをするとエラーが出るのは
h2o.confを読んでいないので単体ファイルとして読んでいるため気にする必要はないはず。
1 2 |
# h2o -t -c blog.adachin.me.conf [blog.adachin.me.conf:1] unknown command: blog.adachin.me:80 |
■まとめ
/etc/h2o/conf.d/*みたいに使えないので、
includeファイルは1つずつ指定しないとアカン…
とりあえずできてよかった。。
これでじゃんじゃん設定ファイル分けましょう!
参考
http://yaml.org/spec/1.1/current.html
https://h2o.examp1e.net/configure/syntax_and_structure.html
0件のコメント