Akihiro's Programmer Blog

Technology Notes for Personal

ブログエンジン「Ghost」をSetupしてみた


 そろそろブログを独自運用したいな、と思ったので試してみました。


目次


Ghostとは

f:id:akihiro_0228:20150210202525p:plain

 Node.jsベースのブログエンジンです。

 シンプル & シンプル なコンセプトに惹かれて試してみました。


インストール

 さくらVPSで構築しました。

 環境はこちら。

OS Ubuntu 12.04
Node.js 0.10.25
Reverse proxy Nginx 1.1.19


 基本的にドキュメント通りにインストールしています。

 まず、Ghostの最新版をダウンロード。

$ curl -L https://ghost.org/zip/ghost-latest.zip -o ghost.zip


 解答して、

$ unzip -uo ghost.zip -d ~/project/blog


 npm install して、

$ cd ~/project/blog
$ npm install --production


 npm startすれば 127.0.0.1:2368で立ち上がります。簡単。

$ npm start


foreverでデーモン化

 このままではSSHから抜けたりすると、Ghostが終了してしまいます。

 なので、Node moduleforever を使ってプロセスをデーモン化しましょう。


 まず forever をインストール。

$ npm install forever -g


 そして forever start で起動。

$ cd ~/project/blog
$ NODE_ENV=production forever start index.js


 終了したい時は、

$ forever stop index.js


Nginxの設定

 このままではlocalに立ち上がるばかりで、アクセスできません。

 なので、NginxReverse proxy として設定します。


 まず、/etc/nginx/sites-availableblog というファイルを作り、以下を記述します。

 ※ blog.example.com には、独自ドメインを指定します。

$ sudo vi /etc/nginx/sites-available/blog
server {
  listen 80;
  server_name blog.example.com;

  access_log /var/log/nginx/blog.example.com/access.log;

  location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host      $http_host;
    proxy_pass       http://127.0.0.1:2368;
  }
}


 sites-enabledsymlink を作成します。

$ sudo ln -s /etc/nginx/sites-available/blog /etc/nginx/sites-enabled/


 後は Nginx を再起動して完了。

$ sudo service nginx restart


終わりに

 これで一先ず blog.example.comGhost によるブログを公開することが出来ました。

 次回は、実際に触って記事を投稿してみましょう。