「Cloud Foundry 百日行」第48日目は、やたらと多機能なCMS pimcore です。
基本情報
-
公式サイト
https://www.pimcore.org/ -
その他参考情報
pimcore - 多チャンネル時代のエンタープライスCMS
手順の概要は以下の通りです。
- 1) ソースコードの取得
- 2) 事前準備
- 3) Cloud Foundry 環境へのプッシュ
- 4) 動作確認
1. ソースコードの取得
$ git clone https://github.com/pimcore/pimcore
$ cd pimcore
pimcore$ ls
3rd-party-licenses.md composer.json LICENSE.txt plugins_example tests website_demo
build index.php pimcore README.md update website_example
PHPのアプリです。
2. 事前準備
データベースの準備
SeviceとしてMySQLのデータベースを準備します。
起動無しで一旦アプリをPushし、
pimcore$ cf push pimcore --no-start
Creating app pimcore in org ukaji / space default as ukaji...
OK
Creating route pimcore.10.244.0.34.xip.io...
OK
Binding pimcore.10.244.0.34.xip.io to pimcore...
OK
Uploading pimcore...
Uploading app files from: /home/ukaji/workspace/pimcore
Uploading 57.8M, 15020 files
Done uploading
OK
MySQLのServiceを作り、
pimcore$ cf create-service p-mysql 100mb pimcore-db
Creating service instance pimcore-db in org ukaji / space default as ukaji...
OK
アプリとバインドします。
pimcore$ cf bind-service pimcore pimcore-db
Binding service pimcore-db to app pimcore in org ukaji / space default as ukaji...
OK
TIP: Use 'cf restage pimcore' to ensure your env variable changes take effect
必要モジュールの導入
ドキュメント を見ながら必要な環境を設定していきます。
必要なモジュール等は上記ページに列挙してくれているので、全て入れてしまいましょう。
pimcore$ mkdir .bp-config
pimcore$ vi .bp-config/options.json
{
"PHP_MODULES": ["cli", "cgi"],
"PHP_EXTENSIONS": ["mcrypt", "mysqli", "gd", "exif", "mbstring", "zlib", "zip", "bz2", "openssl", "imagick", "opcache", "memcache", "curl", "fileinfo"]
}
ドキュメント中にあるReauirementsの中で、 iconv
dom
simplexml
の3つはPHP-Buildpackの追加モジュールのサポート対象に含まれておらずここには記述されていませんが、インストールは自動的に行われているためここでは特に記述の必要はありません。
逆に、 PHP_EXTENTIONS
末尾の fileinfo
はRequirementsの中にはリストアップされていませんが、インストール手続きの途中で必要と言われるため、ここで入れてしまっています。
Permission設定
次に ファイルのPermission です。
こちらについても設定してしまいましょう。
pimcore$ chmod -R 777 website_demo/var/
pimcore$ chmod -R 777 website_example/var/
pimcore$ chmod -R 777 pimcore/
3. Cloud Foundry 環境へのプッシュ
アプリをPushします。
比較的アプリのサイズも大きく必要とするモジュールも多いのでいつもより時間がかかると思いますが気長に待ちましょう。
pimcore$ cf push pimcore
(一部略)
-----> Uploading droplet (166M)
0 of 1 instances running, 1 starting
0 of 1 instances running, 1 starting
1 of 1 instances running
App started
OK
App pimcore was started using this command `$HOME/.bp/bin/start`
Showing health and status for app pimcore in org ukaji / space default as ukaji...
OK
requested state: started
instances: 1/1
usage: 256M x 1 instances
urls: pimcore.10.244.0.34.xip.io
last uploaded: Mon Aug 10 09:34:54 UTC 2015
stack: cflinuxfs2
buildpack: Found
state since cpu memory disk details
#0 running 2015-08-10 06:36:41 PM 0.0% 135M of 256M 0 of 1G
起動しました。
4. 動作確認
ブラウザからアクセスしてみると、
インストーラが起動しています。
cf env
でDB接続のための環境変数
"VCAP_SERVICES": {
"p-mysql": [
{
"credentials": {
"hostname": "10.244.7.6",
"jdbcUrl": "jdbc:mysql://10.244.7.6:3306/cf_04c1755c_47b9_4a22_87fe_a4b0f8ae8559?user=pFCLFDlYzcl27aDP\u0026password=uu7sdofZE42G8h09",
"name": "cf_04c1755c_47b9_4a22_87fe_a4b0f8ae8559",
"password": "uu7sdofZE42G8h09",
"port": 3306,
"uri": "mysql://pFCLFDlYzcl27aDP:uu7sdofZE42G8h09@10.244.7.6:3306/cf_04c1755c_47b9_4a22_87fe_a4b0f8ae8559?reconnect=true",
"username": "pFCLFDlYzcl27aDP"
},
"label": "p-mysql",
"name": "pimcore-db",
"plan": "100mb",
"tags": [
"mysql"
]
}
]
}
を参考にしつつ、フォームの必要な項目を埋めて右下の Install Now!
を押下します。
Admin Userの箇所はお好きな文字列をどうぞ。
しばらくするとログインページに遷移するので、先ほどAdmin Userに登録した Username
/ Password
でログインしましょう。
ログイン後のページはこちら。Dashboardです。
メニューの File
→ Seemode
を選ぶと、一般ユーザからみたウェブサイトを閲覧することができ、
さらに右下の Edit this page
を押下するとウェブサイトを見ながら編集を行う、といったことも可能です。
今回使用したソフトウェア
- cf-release (v211)
https://github.com/cloudfoundry/cf-release/tree/v211
( https://github.com/cloudfoundry/cf-release/tree/2121dc6405e0f036efa4dba963f7f49b07e76ffa ) - bosh-lite
https://github.com/cloudfoundry/bosh-lite/tree/552dc6869600c5350eb7ffb4fb9c9c5e79e3889d - CF CLI (v6.12.0-8c65bbd-2015-06-30T00:10:31+00:00)
https://github.com/cloudfoundry/cli/releases/tag/v6.12.0 - cf-mysql-release (v20)
https://github.com/cloudfoundry/cf-mysql-release/tree/v20 - pimcore
https://github.com/pimcore/pimcore/commit/e170f53609f74c429378db69728cf565ab24637d