tamuraです。
blogをGhostにしたので、インストール手順を簡単に紹介します。
Node.jsのインストール
NVMのインストール
例によって環境を汚したくないためと、apt-getでインストールするとnodejsというコマンドになりnpm等のコマンドがそのままだと動かなくなるため、NVMを先に入れます。
http://qiita.com/tamurashingo@github/items/6348863668e1e3fd70c9
この記事にあるように入れます。
Node.js のインストール
nvm install 0.10
nvm alias default 0.10
Ghost のインストール
http://docs.ghost.org/ja/installation/linux/
ここにあるように入れます。
wget https://ghost.org/zip/ghost-0.5.8.zip
mkdir ghost-0.5.8 && cd !$
unzip ../ghost-0.5.8.zip
npm install --production
リモートサーバでやっているのでまずはここまで。
Ghost の設定
アクセス元のサーバ
立上げ時は 127.0.0.1 からしか受け付けないようになっているので、すべてのアドレス(0.0.0.0)から受け付けるように変更します。
vi config.js
server というところがそうです。
server: {
host: '127.0.0.1',
port: '2368'
},
メールサーバ
当初は必要なかったのですが、ブログを書いてくれる人を招待する際にメールが必要なので、Mailgunを使うことにしました。
http://docs.ghost.org/ja/mail/#mailgunを使う場合-
ここにあるとおりにMailgunに登録して、ユーザ名とパスワードを発行してもらいます。非常にお手軽です。
管理者アカウントの作成
npm start
でサーバを立上げ、ブラウザでアクセスし、管理者アカウントを作成します。 本番用では
NODE_ENV=production forever start index.js
とforever
でデーモン化させました。
はてなブックマークのボタンをつける
CasperというテーマにはTwitter、Facebook、Google+へシェアするボタンが用意されています。 ここにはてなブックマークのボタンをつけました。
vi content/themes/casper/post.hbs
<a href="http://b.hatena.ne.jp/entry/{{url absolute="true"}}"
class="hatena-bookmark-button"
data-hatena-bookmark-title="{{encode title}}"
data-hatena-bookmark-layout="standard-balloon"
data-hatena-bookmark-lang="ja"
title="このエントリーをはてなブックマークに追加">
<img src="https://b.st-hatena.com/images/entry-button/button-only@2x.png"
alt="このエントリーをはてなブックマークに追加"
width="20" height="20" style="border: none;" />
</a>
<script type="text/javascript" src="https://b.st-hatena.com/js/bookmark_button.js" charset="utf-8" async="async"></script>
Google Analytics をつける
アクセス解析するために Google Analytics をつけます。
vi content/themes/casper/default.hbs
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'XXXXXXXXXX', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
ネットワーク設定
ApacheのReverseProxyを使って2368から80への転送を行います。
sudo a2enmod proxy
sudo a2enmod proxy_http
ProxyRequests Off
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http://127.0.0.1:2368/
ProxyPreserveHost On
<Proxy *>
AllowOverride all
Order deny,allow
allow from 127.0.0.1
</Proxy>
あと先ほどすべてのアクセス元からリクエストを受け付けるようにしていたものを、127.0.0.1
からしか受け付けないように、Ghostの設定を変更します(戻します)。
iptablesで2368へのアクセスを拒否。
sudo iptables -A INPUT -p tcp -s 127.0.0.1 --dport 2368 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 2368 -j DROP
設定が完了したらApacheを再起動します。
sudo service apache2 restart
これで普通に http://157.7.203.87/ にアクセスすると見れるようになりました。ポート2368にアクセスしても表示されません。
※今はアクセスしても表示されません