XREA + tDiary + Namazu
xrea_tdiary_namazu
tDiaryの準備
XREAのhoge.s1.xrea.comがあなたのサイトだとします。
まず、ディレクトリ構成は、zt diaryのインストールメモと同じとします。ちょっとバージョンが古いのでtDiary-1.4.x向けにディレクトリ構成だけもう一度こちらに書いておきます(ここで追加するディレクトリ構成以外はzt diaryがそのまま参考になりますのでそちらを参照してください)。
705(drwx---r-x) ~/ 705(drwx---r-x) +--namazu/ 701(drwx-----x) +--tdiary/ 755(drwxr-xr-x) | +--cache/ 604(-rw----r--) | +--.htpasswd 644(-rw-r--r--) | +--200109などの後から生成されるファイル 705(drwx---r-x) +--public_html/ 701(drwx-----x) +--t/(tDiaryのインストール先) 700(-rwx------) +--*.cgi (index.cgi,update.cgiなど。オリジナルのままならindex.rbとupdate.rb) 600(-rw-------) +--tdiary.rb 600(-rw-------) +--*.conf 700(drwx------) +--erb/ 701(drwx-----x) +--theme/ 700(drwx------) +--plugin/ 600(-rw-------) +--*.rb 700(drwx------) +--misc/
上記も含め、すでにtDiaryのセットアップ・動作確認は済んでいるものとします。
1ファイル毎のHTMLファイルの用意
ここではsqueeze.rbを使います。
tdiary.confの編集
tdiary.confを編集します。
@text_output = false @text_output_path = ''
すでに日記がある方
新規に日記をはじめる人はこの部分は飛ばしてください。
まず、squeeze.rbを ~/public_html/t/ に置きます。アクセス権は700にします。 次に、WWWブラウザからsqueeze.rbにアクセスします。 URLは http://hoge.s1.xrea.com/t/squeeze.rb です。
日記の日付がずらずらと出力され、最後にEnd!と表示されます。表示されない場合は何か問題があるはずです。 念のため、 ~/tdiary/cache/html/YYYY/MMDD (YYYYは年、MMは月、DDは日)というファイルができているか確認します。 もちろん、これらのファイルはすでに日記のある日の分しかできません。
うまくいったら、念のためsqueeze.rbを削除しておきましょう。
プラグインの導入
ここからは新規に日記をはじめる人もそうでない人も必要です。
squeeze.rbを ~/public_html/t/plugin/ に置きます。アクセス権は600です。 試しに日記を書いて登録してみてください。 ~/tdiary/cache/html/YYYY/MMDD にその日の日記が出力されているはずです。
Namazuの導入
ディレクトリの追加
以下のディレクトリを追加します。
705(drwx---r-x) ~/ 705(drwx---r-x) +--namazu/ 700(drwx------) +--index/ ← 追加(mknmzのインデックス出力先) 705(drwx---r-x) +--public_html/ 701(drwx-----x) +--t/(tDiaryのインストール先) 701(drwx-----x) +--namazu/ ← 追加(namazu.cgiのインストール先)
インデックスの生成
Namazuのインデックスを生成します。 hoge.s1.xrea.com上で以下のコマンドを実行します。
$mknmz /virtual/((*hoge*))/tdiary/cache/html --output-dir=/virtual/((*hoge*))/namazu/index
.namazurcの編集
.namazurcを作成します。
Index /virtual/((*hoge*))/tdiary/namazu/index/ Replace /virtual/((*hoge*))/tdiary/cache/html/(\d\d\d\d)/ http://((*hoge.s1.xrea.com*))/t/?date=\1 Lang ja
ファイルの配置
namazu.cgiと.namazurcを共に~/public_html/namazu/ に置きます。アクセス権限はnamazu.cgiが700、.namazurcが600です。
確認
WWWブラウザからnamazu.cgiにアクセスします。URLは http://hoge.s1.xrea.com/namazu/namazu.cgi です。
Namazu向けテキストボックスを配置する
ここまできたら、あとは自分の日記から検索できるようにしてみましょう。 search_form.rbを ~/public_html/t/plugin/に置きます。アクセス権は600です。
次に、WWWブラウザでtDiaryの設定画面を呼び出し、ヘッダ、あるいはフッタの部分に以下の情報を追加します。
<div class="search"> <%=namazu_form "/namazu/namazu.cgi" %> </div>
これで準備万端です。日記のトップページにNamazu用の検索フォームが出ているはずです。あとは、実際にここから検索ができるか試してみましょう。
インデックスをWWWブラウザから更新する
Namazuのインデックス化(mknmz)は、自動では動作しませんので日々実行する必要があります。通常はcronなどを使うのですが、XREAではcronを使えません。 毎回、XREAにsshするのは大変ですので、せめてWWWブラウザから呼び出せるようにCGI化します。XREAのサポート掲示板にNamazu用indexing CGI script(dimbulaさん作)がありましたのでこれを利用させていただきます。
#!/bin/sh outdir=/virtual/((*hoge*))/namazu target=/virtual/((*hoge*))/tdiary/cache/html logfile=/virtual/((*hoge*))/log/namazu.log LANG=ja; export LANG # for Japanese echo "Content-type: text/plain" echo echo -n "Indexing... " /usr/local/bin/mknmz -O $outdir $target > $logfile 2>&1 if test $? -eq 0; then echo -n "Done." else echo "Failed." echo "Check log file and index." echo "log file: $logfile" echo "index directory: $outdir" fi
これを、~/public_html/namazu/配下にmknmz.cgiとして保存します。アクセス権は700です。
ただ、これだけだと他人に呼び出されてしまいますので、同じディレクトリに.htaccessを置きます。アクセス権は600です。 .htaccessの内容は以下の通りです。
<Files mknmz.cgi> AuthName tDiary AuthType Basic AuthUserFile /virtual/((*hoge*))/tdiary/.htpasswd Require user ((*hoge*)) </Files>
あとは、WWWブラウザからアクセスするだけです。URLは http://hoge.s1.xrea.com/namazu/mknmz.cgi です。
たまに呼び出すようにしましょう。呼び出すたびに最新のインデックスに更新されます。
その他
ここまでくれば、あとは、Namazuの表示結果を日記と同じデザインにする等をしたくなると思いますが、その辺は他のNamazuを詳しく紹介しているサイトなどを参照してください(実は力つきた(^^;))。
傾向と対策
気がついた傾向と対策を。
全般
XREAの管理画面の「ホスト情報の登録」で再度登録してみてください。ちなみに、ここでの設定は全てftpのみで行うことができます。
tdiary.conf
tdiary.confの設定を見直します。
squeeze.rb
squeeze.rbのパーミッションを再度確認してください。必ず、ユーザアカウントの実行権が必要(700)です。また、.htaccessを使用している場合は、それが間違えていないか確認します。
namazu.cgi
XREAではエラー画面がとっても分かりづらいです。そのような場合、XREAのサポート掲示板のmstkさんの投稿を参考にして、以下のようにtest.cgiを作って、namazu.cgiと同じディレクトリに置いて(もちろん、実行件付き)実行するとnamazu.cgiのエラーメッセージを表示できます。
#!/bin/sh echo Content-Type: text/plain echo ./namazu.cgi 2>&1
.namazurcが正しくない場合があります。 特に、Indexに指定するディレクトリが間違えていないか、あるいはそのディレクトリ自体のパーミッションがきちんと指定されているか確認します。
.namazurcのReplaceに指定する文字列が間違えていないか確認します。
ftpはバイナリモードとテキストモードがあります。namazu.cgiはバイナリモードで転送する必要があります。
ChangeLog
- 2002-04-14 MUTOH Masao <mutoh@highway.ne.jp>
-
- @optionsを使わずにyasqueeze-1.3.1のデフォルト値をそのまま使うようにした
- 傾向と対策に加筆
- 2002-04-02 MUTOH Masao <mutoh@highway.ne.jp>
-
- tDiary-1.4.1以降のみ対応(@options対応)
- .namazurcが間違っていたのを修正 (Reported by 恵司さん)
- 傾向と対策を追加
- 2002-03-25 MUTOH Masao <mutoh@highway.ne.jp>
-
- 初執筆
キーワード:
参照:[tDiary関係]