rsyncを使って自前サーバでOctpressを運用する

Octpressが便利すぎ。。。
Bloggerとは何だったんだって感じです。

どうも、どうもこんにちは。kurobaraです。

便利すぎるんで、

「ちょっと、外部に公開できないけどーみたいな感じで何でも書けるようなブログ」

欲しくなるわけですよ。(主に会社で、ですが・・・)

結論から先に言っちゃうと、自前サーバでOctpressを動かせます。
Apacheのディレクトリ制限を噛ますことでアクセス制限なんてこともできます。

という訳で、Octpressを自前サーバで動かす方法をやってみます。

準備


思いつく感じのこと

  • クライアントから自前のサーバにSSHでアクセスできること
  • クライアントにrsyncがあること
  • クライアントでOctpressが動作すること

こんな感じ、移行で設定します。

Rakefileの編集


Rakeコマンドを使ってる訳なので、deploy先を変更するため以下のように編集します。

  • 「ssh_user」を実際のユーザー名とサーバ名に変更します
  • 「document_root」でサーバ配置のディレクトリを指定します
  • 「ssh_port」はデフォルトで22ですが、必要に応じて変えます
  • 「deploy_default」をpushからrsyncに変更します。
1
2
3
4
5
ssh_user       = "user@server"
ssh_port       = 22
document_root  = "/var/www/html/"
rsync_delete   = true
deploy_default = "rsync"

ぶっちゃけ、自前サーバで動かすだけならこれで終わりです。
が、これだけだと寂しいのでサブディレクトリで動作するようにしてみます。
# 当たり前ですが、普通はサブディレクトリ単位でコンテンツをApacheに配備すると思います。

サブディレクトリ運用


http://<サーバURL>/hoge のようにサブディレクトリ運用する場合は、以下のようにします。

  • サブディレクトリを作成します
1
$rake set_root_dir[hoge]
  • _config.yamlでサブディレクトリを追加します
1
url: http://<サーバURL>/hoge
  • Rakefileのdocument_rootをサブディレクトリに変更します
1
document_root = "/var/www/html/octopress"

あとは、Apache2でサブディレクトリの設定を施してやれば動作します。
認証を付けたければ、認証の設定をすれば認証付きのBlogになります。

これで、要件を満たせたので作業メモとか残せて幸せになれますね。(多分)