Windows PCにgollumを入れて動かす方法

最初に断っておくと、Windows用にソースを書き換えるとか、そういう対応ではなく、
VMを入れてそこにgollumを入れてローカルで使えるようにする、的なモノ。

まずgollumについて
gollumはGidHubのWiki機能を単体で動かせるようにしたもの。
単体でサーバー機能を有しており、Webブラウザからアクセスして、
好きなようにWikiを作ることができる。

ローカルで整形されたメモが欲しい時に便利かも。
というか、自分はそれが目的。

その他の特徴とか...

  • Gitで記事が管理されるので、DBのインストールや設定が不要
  • 全文検索機能がある
  • いろいろなMarkdown記法が使える
  • もちろんコードハイライトなんかも使える

ただし、注意点がいくつか。
いずれも現行Verでの注意点なので、今後改善される可能性はある。

  • Windowsでは動作しない
  • Ruby2.0.0では動作しない (1.9.3推奨)


長い長いセットアップ
まずVM環境を作ろう。
Windows8 Proを「偶然」使っていたので、Hyper-Vを使ってみた。

何気にこの記事の大半はHyper-Vの話になってしまっている。
もちろんVMWareVirtualBoxでもOKなはず。

長いので簡潔にまとめる。

  1. Metro (Modern UI)を立ち上げて「Windowsの機能」と入力
  2. 「設定」タブ → Windowsの機能の有効化または無効化
  3. Hyper-VにチェックをつけてOKボタン → 2回ぐらい再起動されるので待つ
  4. Hyper-Vマネージャを起動

んで、ここからは手順が人によって変わってくると思うんだけど、
自分はASUSのUltrabookを使っているので無線LANかつNICが1つしか無い。
このままだと仮想マシンを作ってもネットに繋げないので、
仮想アダプタを作って、無線とブリッジ接続する方法を採る。

この辺、たぶん間違いもあるんだろうけど、お遊び用という前提で緩くやっちゃう。

というわけで、以下の手順で...

  1. Hyper-Vマネージャの「仮想スイッチマネージャ」をクリック
  2. 仮想スイッチの作成 → 「内部」を選択して作成
  3. 名前は適当に、「内部ネットワーク」になってることを確認してOK
  4. ネットワークと共有センター → アダプターの設定の変更
  5. さっき作った仮想アダプタがあるはずなので、そいつとWi-Fiを選択して右クリック → ブリッジ接続、再起動を求められたら再起動する

いよいよ仮想マシンを作る

  1. Hyper-Vマネージャの右側のメニューから、新規 → 仮想マシン
  2. メモリ割り当ては自分は1024MBにしたけど、それはスペックと相談して
  3. ネットワークの構成で、さっき作った仮想アダプタを選択
  4. インストールオプションで、インストールするLinuxとかが入ったisoを指定
  5. 仮想マシンが作成されたら、右クリック → 接続
  6. 上のメニューから、操作 → 起動 (だったかな?)
  7. あとはLinuxを入れる

入れたあとの作業、まずネットワーク設定から

  • /etc/sysconfig/network を、大体こんな風に設定
NETWORKING=yes
HOSTNAME=host名
NETWORKING_IPV6=no
GATEWAY=192.168.0.1
  • ifconfig -a して、eth0が見えることを確認し
  • /etc/sysconfig/network-scripts/ifcfg-eth0 を作成して編集
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=none
DNS1=192.168.0.1
IPADDR=192.168.0.{被らない程度の値に}
  • sudo /etc/init.d/network restart して、ちゃんと再起動できればOK
  • 試しにブラウザでネットに繋がるかどうか確認しておこう
  • ホスト側からgollumを使いたいので、firewall設定でport=4567を開けておく

gollumを入れて動かす

  1. ruby 1.9.3 と git を入れておこう (間違えて ruby 2.0.0 を入れないように)
  2. gem install gollum で gollumを入れる
  3. mkdir gollum → cd gollum → git init
  4. gollumコマンドで起動、デーモンっぽく運用した方がいいけど、とりあえずこれで
  5. http://localhost:4567/ でアクセス
  6. ホストからだと http://{仮想マシンで設定したIP}:4567/ でOK


最後にもう1つだけ注意点。
本文に日本語を使うのは全然OKなんだけど、ページタイトルに日本語が
使えない。これ、直すこともできるんだろうけど、今回はとりあえずナシで。

to_url周辺が怪しい模様。