基本的な手順は以下の通りで良いのです。
http://www.howtoinstallghost.com/how-to-install-ghost-on-heroku/
ですがいくつかはまったポイントがありました。
まず、Procfileの作成の際。
web: node index.js --production
このように書くようにとありますが、これでherokuにpushすると、
heroku logs -t でログを見ると "Ghost is running in development..."と表示されてました。
試しにローカルのGhostのディレクトリで node index.js --production で起動してみると、やはりdevelopmentでした。
そこで次の通り修正しました。
web: NODE_ENV=production node index.js
これでproductionで動かす事ができました。
ところがログを見ると今度は "Module pg not found" でまたしてもエラー。。
Ghostをnpm installするとnpmのライブラリは「node_modules」以下に格納されるのですが、その中に"pg"がないと。
pgはpostgresqlを利用するためのライブラリです。
ではインストール。
npm install pg --production
--productionオプションは、testファイルなどの開発用のコードをインストールしないためにつけておくと良いと思います。
Ghostのインストール時にもつけるオプションです。
すると今度は、"pg_config: command not found"で失敗。
CentOS環境なのでyumでインストールします。
yum install postgresql_devel
その後pgを再インストールして、herokuにpushすると、無事Ghostのトップ画面が表示されました。