現在位置: Top/XreaのPukiwikiでNamazu検索
- 履歴一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- XreaのPukiwikiでNamazu検索 へ行く。
XreaのPukiwikiでNamazu検索
ファイルを準備
- pukiwiki.plを入手
http://www.pukiwiki.org/index.php?PukiWiki%2FNamazu
からpukiwiki.plを入手する - namazu.cgi
xreaのサーバーから
/virtual/namazu/namazu.cgi
を一度ダウンロードしておく
【注意】namazu.cgiは常にバイナリーで扱ってください。 - make_index.cgiを作成
#!/bin/sh echo "Content-type: text/html <HTML><BODY> Make index...<HR> <TEXTAREA COLS=80 ROWS=50> " /usr/local/bin/mknmz -f /virtual/xxx/public_html/wiki/namazu/mknmzrc -t text/pukiwiki -O /virtual/xxx/public_html/wiki/namazu/index/ --media-type='text/pukiwiki' --indexing-lang=ja /virtual/xxx/public_html/wiki/wiki/ > /virtual/xxx/public_html/wiki/namazu/make_index.log cat /virtual/xxx/public_html/wiki/namazu/make_index.log echo "</TEXTAREA><HR>Finished!! </BODY></HTML>" exit
- mknmzrcを作成
package conf; # Don't remove this line! $ADDRESS = ''; $HTML_SUFFIX = "html?|[ps]html|php[34s]?"; $ALLOW_FILE = ".*\\.txt"; # plain text $DENY_FILE = ".*\\.(gif|png|jpg|jpeg)|.*\\.tar\\.gz|core|.*\\.bak|.*~|\\..*|\x23.*|3A.*"; $FILTERDIR = "/virtual/xxx/public_html/wiki/namazu/filter";
- .namazurcを作成
Index /virtual/xxx/public_html/wiki/namazu/index Template /virtual/xxx/public_html/wiki/namazu/index Replace /virtual/xxx/public_html/wiki/wiki/ http://xxx.s151.xrea.com/wiki/\? Logging on Lang ja MaxHit 10000 MaxMatch 1000
サーバーにディレクトリを作成
/virtual/xxx/public_html/wiki/
に
/virtual/xxx/public_html/wiki/namazu/
というディレクトリを用意
さらに
/virtual/xxx/public_html/wiki/namazu/filter/
/virtual/xxx/public_html/wiki/namazu/index/
も用意しておく
ファイルをサーバーに転送
/virtual/xxx/public_html/wiki/namazu/
に
make_index.cgi
mknmzrc
.namazurc
namazu.cgi
を入れる
/virtual/xxx/public_html/wiki/namazu/filter/
に
pukiwiki.pl
を入れる
インデックスを作成
http://xxx.s151.xrea.com/wiki/namazu/make_index.cgi
を実行
完成!!
http://xxx.s151.xrea.com/wiki/namazu/namazu.cgi
で検索可能に
インデックスを自動で更新
調べてわかったのですが、PHPをセーフモードで動かしているので、xreaはsystem関数が動作しない。
lib/files.phpの
system($update_exec . ' > /dev/null &');
という部分が機能していません。
pukiwiki.ini.phpの
$update_exec
を設定しても動きません。これに結構な時間を費やしてしまいました。
あと手段としては、ページの更新をしたあとにCGIとして呼び出し、その後に元のページを呼び出すという方法が考えられます。
- make_index.cgiを改造
#!/bin/sh echo "Content-type: text/html <HTML> <head> <meta http-equiv='Content-Type' content='text/html; charset=EUC-JP'> <META HTTP-EQUIV='refresh' CONTENT='0; url=http://xxx.s151.xrea.com/wiki/?$1'> </head> <BODY> Make index...<HR> <TEXTAREA COLS=80 ROWS=30> " /usr/local/bin/mknmz -f /virtual/xxx/public_html/wiki/namazu/mknmzrc -t text/pukiwiki -O /virtual/xxx/public_html/wiki/namazu/index/ --media-type='text/pukiwiki' --indexing-lang=ja /virtual/xxx/public_html/wiki/wiki/ > /virtual/xxx/public_html/wiki/namazu/make_index.log cat /virtual/xxx/public_html/wiki/namazu/make_index.log echo "</TEXTAREA><HR>Finished!!<br> <a href='http://xxx.s151.xrea.com/wiki/?$1'>Back</a> </BODY></HTML>" exit
- plugin/edit.inc.phpを改造
header('Location: ' . get_script_uri() . '?' . rawurlencode($page));をheader('Location: ' . '/wiki/namazu/make_index.cgi?' . rawurlencode($page));にする

