pcf(pivotal cloud foundry)にphpのコードをデプロイする方法を説明します。
使用するbuildpackについて
phpのコードをデプロイする場合、manifest.ymlに記述するbuildpackはphp_buildpackを指定します。
このbuildpackについてはドキュメントに詳細が書かれています。
設定ファイルの配置場所
Apacheやphpの設定ファイルは、すべて./bp-config
以下に配置します。
Linuxのサーバーにデプロイする場合などは、Apacheを使うかNginxを使うか選んで自分でインストールしますが、pcfの場合は、Apacheを使う場合は.bp-config
以下にhttpd
ディレクトリを、Nginxを使う場合はnginx
ディレクトリを配置します。
これだけで、使うWebサーバーの種類を決められます。
Apacheの設定
Apacheを使う場合は.bp-config/httpd
以下にhttpd.conf
を作成し、以下のように記述します。
ServerRoot "${HOME}/httpd" Listen ${PORT} ServerAdmin "${HTTPD_SERVER_ADMIN}" ServerName "0.0.0.0" DocumentRoot "${HOME}/#{WEBDIR}" Include conf/extra/httpd-modules.conf Include conf/extra/httpd-directories.conf Include conf/extra/httpd-mime.conf Include conf/extra/httpd-logging.conf Include conf/extra/httpd-mpm.conf Include conf/extra/httpd-default.conf Include conf/extra/httpd-remoteip.conf Include conf/extra/httpd-php.conf
confファイルをIncludeしていますが、この内容はGitHubで見ることができます。
書き換えたい場合は、.bp-config/httpd/extra/
以下に同一の名前のファイルを作成して内容を記述します。
このディレクトリに新規にファイルを追加し、httpd.conf
でInclude文を追加して読み込むように設定することも可能です。
phpの設定
phpの設定ファイルはbp-config/php/
以下に配置します。
pcfを使う場合、php.iniは配置しません。デフォルトのものが使われます。
追加で設定をしたい場合は、bp-config/php/php.ini.d
以下に拡張子がiniのファイルを配置し、そこに記述します。ファイル名は何でも構いません。
拡張モジュールもiniファイルに記述します。
php-fpmに関して追加で設定をしたい場合は、bp-config/php/fpm.d
以下に拡張子がconfのファイルを配置し、そこに記述します。
php.ini
およびphp-fpm.conf
をプロジェクトに含めてしまうこともできますが、上書きする分だけプロジェクトに含めるのが推奨のようです。