問題点 -> Apache/2.2.15では”SetHandler”が使えない
/etc/httpd/conf.d/vhost.conf
では以下のように書かれています。
<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>
- このSetHandlerが動きません。
- なぜなら、これが有効なのは“Apache v2.4.10”以上です。
- InstallされているのはApache v2.2.15です残念。
- Error messageを出してくれれば直ぐに原因特定できるのですが、何もMessageはでてきません。
- 原因特定に時間はかなり掛かります。
解決策 -> ProxyPassMatch
- A: CentOS6のApacheをv2.4.10以上にする。
- source compileするいかないようです。(ansibleでcompile roleを書けなくはない)
- 現時点のyumのIUS repoを使ってもv2.4.6程度でした。
- B: CentOS7にする。
- これは現状外部接続出来ない問題が有るため、却下。
- C: SetHandlerを使わない。
- 現状これが妥当。
ProxyPassMatchを使う
- これはこれで課題がありますが暫定対処としては動きます。
- DrupalVMのconfig.ymlを以下のように変更。
- 変更後 “vagrant provision”を実行。
apache_vhost_php_fpm_parameters: |
<LocationMatch ^(.*\.php)$>
ProxyPass fcgi://127.0.0.1:9000/var/www/drupalvm/drupal/web/$1
</LocationMatch>
- これを適用したansible roleを作ってDrupalVM build後に実行する予定。