WordpressからOctopressに移行する

この前のWordpressサイトへの大規模攻撃で, 僕のところにもアラートメールがいっぱい飛んできて嫌になってしまったので, Github Pages + Octopress(画像はDropboxのpublicフォルダ)に移行することにした.

目次

  1. Octopressのセットアップ
  2. 記事の移行
  3. カスタムドメインの設定

Octopressのセットアップ

基本的にOctopress公式サイトの以下のページを見て, その通りにやればよい.

コマンドのみ簡単にまとめておく. なお, gitとRuby 1.9.3が必要. また, 前もってgithubにUSERNAME.github.ioというリポジトリを作っておくこと.

git clone git://github.com/imathis/octopress.git octopress
cd octopress
bundle install
rake install
rake setup_github_pages # Github PagesのリポジトリURLを聞かれるので入力
rake generate
rake deploy # ページが見れるようになるまで10分程かかる

git add .
git commit -m 'your message'
git push origin source

ブログの設定は_config.ymlに記入する. 内容はConfiguring Octopressを見るとよい. 終わったらrake gen_deploy(generate + deploy)して設定を反映しておくのを忘れずに. なお, 新規に記事を投稿する方法はこちら.


記事の移行

WordPress to Jekyll Exporterを使う.

  1. wp-content/plugins/の下にgit clone
  2. WordPressの管理画面からプラグインを有効化
  3. ツールからExport to Jekyllを選択
  4. zipファイルがダウンロードされるので解凍
  5. _postsフォルダをsource/_postsと入れ替え
  6. rake generateしてみる -> もしエラーが出たらここを見る
  7. 各記事のpermalink行を削除
  8. 画像へのリンクが壊れているので修正
  9. 画像をDropboxのpublicフォルダへ
  10. 画像のURLをDropboxを指すように変更

7.は各記事(YYYY-MM-DD-article-title.md)の冒頭に

---
title: 記事タイトル
author: 筆者
layout: post
permalink: /article-title/
categories:
  - foo
tags:
  - bar
---

と書かれているうちの, permalinkの行を削除するという意味. これがあると_config.ymlpermalink: /blog/:title/のように設定してあっても上書きしてしまうので.

8.は, なぜか

[![foo][11]][11]

[]: https://blog.nomnel.net/posts/wp-content/uploads/2012/09/bar.jpeg

のようになっているので,

![foo](https://blog.nomnel.net/posts/wp-content/uploads/2012/09/bar.jpeg)

等の形式に変える必要があるということ.


カスタムドメインの設定

echo 'your-domain.com' >> source/CNAME

として, 次にDNSの設定を変更する. example.comのようなトップレベルドメインの場合, Aレコードで204.232.175.78を指す. www.example.comのようなサブドメインの場合, CNAMEレコードでUSERNAME.github.ioを指すようにする. (参考: Setting up a custom domain with Pages)

しばらく待てば反映されて, 指定のドメインで開けるようになる.