WordPress 放在OpenShift 这么长时间以来,一直没有出现过问题,真是太省心了。最近因为VtigerCrm 更新至6.0,想找个可靠的外网环境试用一下,当然还是选择了OpenShift 。不过在创建了php-5.4 的cartridge 后,登陆到shell,发现php 应用的根目录不再是曾经的~/app-root/repo/php,而是~/app-root/repo。个人陋习有时可能会rm 掉整个目录的文件,或者需要创建子目录存放其它文件,如OpenShit 自动备份倒dropbox 的脚本等,这样显然很危险!所以作为一个OpenShit 使用Apache-based cartridge 的用户,我还是十分乐意能有个选择去改变应用的公共目录(public directory),也就是Apache 服务里的DocumentRoot 了。这样我就再也没必要将我的代码放到一个预先定义的子目录里面啦。如~/app-root/repo/php,那么只要将VtigerCrm 存放至php 目录下就好了。 预先定义的子目录 :)

  • DIY: DocumentRoot=${OPENSHIFT_REPO_DIR}diy
  • PERL: DocumentRoot=${OPENSHIFT_REPO_DIR}
  • PHP: DocumentRoot=${OPENSHIFT_REPO_DIR}
  • Python: DocumentRoot={OPENSHIFT_REPO_DIR}
  • Ruby: DocumentRoot=${OPENSHIFT_REPO_DIR}public

我能够通过更改$OPENSHIFT_DOCUMENT_ROOT 这个环境变量去定义这个DocumentRoot 的值:

rhc env-set OPENSHIFT_DOCUMENT_ROOT=”\${OPENSHIFT_REPO}/custom-directory” –app NAME

登陆检验:

rhc ssh echo $OPENSHIFT_DOCUMENT_ROOT

成功输出自定义值。结束!

Comments