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の話になってしまっている。
もちろんVMWareやVirtualBoxでもOKなはず。
長いので簡潔にまとめる。
- Metro (Modern UI)を立ち上げて「Windowsの機能」と入力
- 「設定」タブ → Windowsの機能の有効化または無効化
- Hyper-VにチェックをつけてOKボタン → 2回ぐらい再起動されるので待つ
- Hyper-Vマネージャを起動
んで、ここからは手順が人によって変わってくると思うんだけど、
自分はASUSのUltrabookを使っているので無線LANかつNICが1つしか無い。
このままだと仮想マシンを作ってもネットに繋げないので、
仮想アダプタを作って、無線とブリッジ接続する方法を採る。
この辺、たぶん間違いもあるんだろうけど、お遊び用という前提で緩くやっちゃう。
というわけで、以下の手順で...
- Hyper-Vマネージャの「仮想スイッチマネージャ」をクリック
- 仮想スイッチの作成 → 「内部」を選択して作成
- 名前は適当に、「内部ネットワーク」になってることを確認してOK
- ネットワークと共有センター → アダプターの設定の変更
- さっき作った仮想アダプタがあるはずなので、そいつとWi-Fiを選択して右クリック → ブリッジ接続、再起動を求められたら再起動する
いよいよ仮想マシンを作る
- Hyper-Vマネージャの右側のメニューから、新規 → 仮想マシン
- メモリ割り当ては自分は1024MBにしたけど、それはスペックと相談して
- ネットワークの構成で、さっき作った仮想アダプタを選択
- インストールオプションで、インストールするLinuxとかが入ったisoを指定
- 仮想マシンが作成されたら、右クリック → 接続
- 上のメニューから、操作 → 起動 (だったかな?)
- あとは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を入れて動かす
- ruby 1.9.3 と git を入れておこう (間違えて ruby 2.0.0 を入れないように)
- gem install gollum で gollumを入れる
- mkdir gollum → cd gollum → git init
- gollumコマンドで起動、デーモンっぽく運用した方がいいけど、とりあえずこれで
- http://localhost:4567/ でアクセス
- ホストからだと http://{仮想マシンで設定したIP}:4567/ でOK
最後にもう1つだけ注意点。
本文に日本語を使うのは全然OKなんだけど、ページタイトルに日本語が
使えない。これ、直すこともできるんだろうけど、今回はとりあえずナシで。
to_url周辺が怪しい模様。