個人的に愛用しているWikiエンジンである「Hiki」を、超久しぶりにWindowsマシン(Windows 7 Professional SP1)に導入したので忘れないようにメモ&シェア。
ちなみに僕のマシンはXPとのDualBootにしているので、インストールフォルダはすべてDドライブに指定していますが、通常はCドライブですので読み替えて下さい。
1.まずは下準備
下記をダウンロードしときます。
Apache2.2.19(http://httpd.apache.org/download.cgi)
Hiki 0.8.8.1(http://sourceforge.jp/projects/hiki/)
Ruby 1.8.7-p334(http://rubyforge.org/frs/?group_id=167)
※現在Hikiは0.8.8.1で開発が止まっていますが、このバージョンのものをそのままRuby1.9.Xで動かすことは出来ないようです。 理由は・・・確認中(汗)
2.Apacheインストール
単純に導入するだけなので割愛します。 ただしインストール先のフォルダは後で使うのでデフォルトから変更した場合はメモっておきます。
3.Rubyをインストール
今後のアップデートごとにCGIのヘッダを書き換えるのが面倒なので、保存先は「D:\Ruby」に変更しました。 (デフォルトは「C:\Ruby187」など末尾にバージョンがつきますので忘れずに削除)
この保存先はあとで使用するので必ずどこかにメモっておきましょう。 またRubyを実行するためにPATHに上記保存先を追加するためのチェックをつけておく。
(注意)この画像は1.9.2をインストールしたときのもの。
4.Hikiのインストール
①Hiki 0.8.8.1.tar.gzを解凍ツールで解凍し、出来上がったフォルダをApacheのhtdocs配下に置きます。
D:\Program Files\Apache Software Foundation\Apache2.2\htdocs
この際、さっきのRubyと同じようにいちいちバージョンアップごとにヘッダを書き換えるのが面倒くさいので、コピーした後にフォルダ名を「hiki」に変更しておきます。 (上記のバージョンだとフォルダ名はhiki-0.8.8.1になってしまうので注意)
②hiki配下のhiki.cgiをコピーしてバックアップを取り、オリジナルファイルのヘッダ部分を下記の通り修正。
#!/usr/bin/env ruby
↓
#!c:/ruby/bin/ruby.exe
元ファイルがlinux用であるので、Windowsに準拠させるための書き換えです。
③上記hikiフォルダの配下にある「data」フォルダを、丸ごとどこかの場所に移動します。ここはhikiに登録されたデータが保管される場所になります。僕は「D:\WikiData」を作成して、その下に「data」ごと移動しました。
④このデータ保存先フォルダの場所をHikiに教えてあげる必要があるため、hiki配下の「hikiconf.rb.sample」をコピーして「hikiconf.rb」を作成し、下記のパラメータの部分に移動先のパスを書き込みます。
@data_path = 'D:\WikiData\data'
5.ApacheとHikiの連携
CGIとしてHikiの動作を許可させる設定をApache側に入れます。
①Apacheインストールフォルダ配下の「conf」フォルダの下に「httpd.conf」があるので、その中の「Main' server configuration」というコメント表記の下あたりに、下記のディレクティブを追加します。
# Rename .htaccess FileName
AccessFileName dot.htaccess
先頭はコメント行なので書かなくても良いですが、デフォルトでは「.htaccess」となっている分散設定ファイルの名前を書き換える手続きです。
.htaccessファイルやAccessFileNameディレクティブの詳細についてはこちら(http://httpd.apache.org/docs/2.2/ja/howto/htaccess.html)
②同じ「httpd.conf」の中から、4.の①で示したドキュメントルートのDirectoryセクションを探します。 僕の場合は、 D:\Program Files\Apache Software Foundation\Apache2.2\htdocs になるので、 <Directory "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs"> になります。
③この<Direcotry ・・・・>から</Directory>の間に記載されている、下記のディレクティブの設定内容を変更します。
AllowOverride None
↓
AllowOverride All
これは、<Direcotry・・・・>で指定されたディレクトリの下にある.htaccessによって、より上位のディレクトリに置かれている.haccessの設定をオーバーライド(上書き適用)するかどうか?という設定です。
ドキュメントルートなのでちょっと意味合いが違ってきますが、Allということは「すべて上書きする」という意味です。
6.テスト
下記のURLにアクセスすると、デフォルトのHiki Front Pageが表示されます。 http://localhost/hiki/
7.Windowsファイアウォールの設定変更
完全にスタンドアローンでしか運用しないのであればこのままでも問題ありませんが、大抵の場合はLAN内の他のクライアントに公開して運用することになると思います。 あくまでグローバルではなくローカルでの接続を前提に考えますが、Windowsマシンに入れる場合、外部からアクセスさせる場合はファイアウォールの設定変更が必要です。 ここではWindows 7 Proに限った設定方法を紹介します。
↓Windows7の場合は「コントロールパネル」の「セキュリティが強化されたWindowsファイアウォール」から 設定の追加が可能
↓左側の「受信の規制」を選んだ後、右側の「操作」にある「新しい規則...」を選択すると「新規の受信の規制ウィザード」が開くので「ポート」を選択後、「次へ」ボタンを追します。
↓「TCP」と「特定のローカルポート」を選択し、テキストボックスに「80」を追加して、「次へ」ボタンを押します。 (※開放ポートはApacheのインストール時の設定に合わせて適宜変更して下さい)
↓「この規則はいつ適用しますか?」に全部のチェックをいれて「次へ」ボタンを押します。(多分全部はいらないですがどうせアクセス可能IPを絞るのでとりあえず全部OKにしてます)
↓名前にわかりやすいものをつけて「完了」ボタンを押します。ここでは「http(port80)」としておきます。
↓受信の規則のリストの中に「http(port80)」が追加されているはずなので、選択して右側の「操作」から「プロパティ」を選択します。
↓「http(port80)のプロパティ」画面が開くので、「スコープ」タブを開き、「リモートIPアドレス」フレームの「追加」ボタンを押します。
↓「IPアドレス」画面が開くので、「このIPアドレスまたはサブネット」を選択し、アクセスを許可するIPアドレスか、またはサブネットを指定します。 大抵はローカルIPアドレスになるはずなので、192.168.0.0/20か172.26.0.0/20あたりを指定しておけば大丈夫でしょう。
↓OKボタンを押すと「http(port80)のプロパティ」画面に戻るので、リモートIPアドレスに上で追加した値が追加されているのを確認し、「OK」ボタンを押します。
8.他のマシンからのアクセステストをしてみる
自分自身のアドレスが、仮に192.168.1.2だったとして、アクセスを許可したマシンから下記のURLにアクセスしてもらいます。
これで、localhostでテストしたときと同じ画面が表示されれば設定成功です。
9.エラーになるときは
いったん全部の記載を最初から見直してください。 大抵の場合、設定したファイルやディレクトリのパスが間違っているとか文字が足りてないとかそういうのが多いです。 あとは、 ①バージョンの組み合わせの違い⇒リビジョンが違っても動かないことがある ②インストール先のパスに日本語が含まれている ⇒うまく動きませんのでアンインストール⇒インストールで全部英語にしましょう。半角空白はOK。 などなど。 無加工で現行HikiをWindowsマシンに導入したい人はこの手順どおりにやればだいたいOKです。
参考にさせていただいたサイト
↓Hikiインストールメモ: まねのブログ
http://manesan.cocolog-nifty.com/blog/2007/08/hiki_39bc.html