すっかり更新もせず、ただのネタドメインのサイトと化しておりました。

案の定Ghost自体も更新せず、ずっとv0.7.1あたりを使っておりましたので、今回は最新版をインストールしたいとおもいます。

※Exportで記事を移行しました。

設置先のさくらのVPSをリプレースしたかったので、適当にNode.jsをホスティングしてくれてるところないかなーとおもっていた所(そんな事を思って既に3ヶ月程度経過してますが・・・w)

Gehirn Web Servicesリニューアル

ゲヒルン、さくらインターネットと協力して、インフラストラクチャサービス「Gehirn Web Services」をリニューアル
を見かけたので、覗いてみたところ

  • SSL/TLS・HTTP/2
  • Node.js v8.x(LTS)
  • Nginx詳細設定

が可能という事で、リニューアルクーポンを登録して早速利用してみました。

Install Ghost

基本的な使い方はある程度わかるという前提で進めますね。

  1. Install ghost-cli
$ npm install -g ghost-cli@latest
  1. データベースを用意しておきます。
    今回MySQLを使ってるので、コントロールパネルよりデータベースを作成しておきましょう。

  2. Install Ghost

$ mkdir /var/www/ana.coppo.la
$ cd /var/www/ana.coppo.la
$ ghost install --no-setup-linux-user --no-setup-systemd --no-setup-nginx --no-setup-ssl --no-start

root権限は提供されていないので、--no-setup-linux-user --no-setup-systemdで設定をスキップします。
また、Nginxの設定も後述で残しておきますので、--no-setup-nginx --no-setup-sslで設定をスキップしてください。
起動は後でさせるので、--no-startで起動しないように設定。

? Enter your blog URL: https://ana.coppo.la 
? Enter your MySQL hostname: localhost
? Enter your MySQL username: *username*
? Enter your MySQL password: [hidden]
? Enter your Ghost database name: *database_name*    

上記の様な感じで、設定してください。
SSL証明書を持ち込むので、blog URLはhttpsになってます。

  1. Nginxの設定
    Nginxアドバンスモード
    バックエンドをNginxにして、アドバンスモードを使用します。
server {
    listen 80;
    listen [::]:80;

    server_name ana.coppo.la;
    root /var/www/ana.coppo.la/;

    access_log /var/log/sites/ana.coppo.la/access.nginx.log;
    error_log /var/log/sites/ana.coppo.la/error.nginx.log error;

    location / {
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $http_host;
        proxy_pass http://127.0.0.1:2369;
    }

    client_max_body_size 50m;
}

さくらのレンタルサーバのSNI SSLと同様に、HTTPS通信はProxyで動作する為、X-Forwarded-Forを設定します。
X-Forwarded-Protoも設定するとループしてしまうので注意。
※ポートはGhostインストール時に設定されるポートを入力して下さい。

  1. SSL証明書の設定
    SSL証明書が用意ある場合は、先ほどのNginxのサイトを編集画面にてサーバ証明書からそれぞれの証明書を設定してください。

  2. SSL証明書の設定が完了したら、セキュリティ設定より『Strict-Transport-Security』を有効にすれば、HTTPS接続になります。

Install pm2

root権限がなく、systemdを使えないので、pm2で永続化します。
ghostという名前で登録して、
自動起動させるように設定します。

$ npm install pm2 -g
$ cd /var/www/ana.coppo.la
$ NODE_ENV=production pm2 start /var/www/ana.coppo.la/current/index.js --name "ghost"
$ pm2 startup ghost
$ pm2 save

これで、Gehirn RS2 PlusでもGhostを動かせるようになりました。

おしまい。