namazuでサーバーを立てたい (481レス)
1-

1
(25): 名無しさん@ディストリいっぱい 2001/05/07(月)05:02 AAS
この板の過去ログを検索したくても不便です。
そこでnamazuを使って検索用のサーバーを立てようと思います。みんなのために。
namazuのインストールは終了しました。動作もばっちりです。
ただログを収集するのが大変です。
自動的にログを収集してくれるスクリプトってないですか?
っていうかそんなの持ってる人いたらください。
あと
外部リンク:cocoa.2ch.net
↑ここからログを拾うとdatファイル形式なのでhtmlで表示されません。
ログはどこから拾ってくればいいんでしょうか?
省1
2
(1): 名無しさん@ディストリいっぱい 2001/05/07(月)05:07 AAS
外部リンク:cocoa.2ch.net
↑ここにもちょっと過去ログがあるのは知ってます。
ここのはhtmlで保存されているのでいいんですがdatファイルは・・
datファイルをhtmlファイルに一気にコンバートするツールってあったっけ?
3
(1): 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)05:09 AAS
なければつくる
4
(1): 名無しさん@ディストリいっぱい 2001/05/07(月)05:14 AAS
外部リンク:members.tripod.co.jp
調べてたらあったや。dat→html

あとは自動的にログを収集してくれればいいんだな。
って、ログを自動収集することが可能でもコンバートは自動的にやってくれないや・・
5
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)05:24 AAS
wget -r -k -np -l 2 外部リンク:cocoa.2ch.net
dat->html
なシェルスクリプト書いて、cronかatの定時処理で取得では
だめなのかな。
6: 名無しさん@お腹いっぱい。 2001/05/07(月)11:32 AAS
>>2 >>5 に示された過去ログ倉庫には、ある程度時間のたったものしか
入らないので、新鮮な index ができない。よって、>>1 の示した
dat ファイルから直接拾うのが吉。それは、>>1 も分かっていることと
思う。

あとは、作成された index を、.namazurc にて URL 置換するときに、
工夫が必要。>>1 から拾うと、
$namazudir/2chスレ:linux
といったようなディレクトリに index が保存されることになる。
これを、REPLACE文で
外部リンク[cgi]:cocoa.2ch.net
省10
7: 名無しさん@お腹いっぱい。 2001/05/07(月)11:33 AAS
>>3
そりゃそうなんだけど、せっかくlinux板のための建設的な意見を
出してくれているんだから、なければおまえがつくれ、ではなくて、
ここでみんなでスクリプトを作っちゃえ!というくらいの勢いが
あってもいいかもしれない。
8: 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)11:34 AAS
応援age
9: 名無しさん@お腹いっぱい。 2001/05/07(月)11:35 AAS
agaってなかった、、再age
10
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)11:38 AAS
>>4
まさか、収集するのは Windows のマシンではないだろうから、
そのソフトを使うのは無理では。shell とか C とか perl
とか、なんでもいいけど普通にスクリプトで動かせる dat2html
って、まだ誰も作ってないのかな。

誰かつくりません?
11
(3): 名無しさん@お腹いっぱい。 2001/05/07(月)11:49 AAS
datファイルから直接 index を作成するためには、

1. 外部リンク:cocoa.2ch.net から dat ファイルを拾う
2. 1. で拾ったファイルを、***.dat といったファイルから
 *** というファイル (.html はいらない)へ、dat2html で
html 変換する(別ディレクトリへ)
3. 変換されたファイルに対して、mknmz
4. その index から、.namazurc にて
 REPLACE REPLACE $indexdir/ 外部リンク[cgi]:cocoa.2ch.net
 といった変換をすればよい

過去ログ倉庫から index を作成するのは、そのまま wget,
省4
12: 名無しさん@お腹いっぱい。 2001/05/07(月)12:00 AAS
super age
13
(2): 名無しさん@お腹いっぱい。 2001/05/07(月)12:36 AAS
>>10
実際、ここでログを過去ログ倉庫送りする際に、dat2htmlスクリプトを
使っているはずなので、2chのサーバーのどこかに dat2html が存在して
いることはたしかです。それがどこにも公開されていないとすれば、
プログラムがある程度できる人ならばそんなに難しいスクリプトでは
ないでしょうから、作ってしまった方がいいかもしれませんね。

誰か、dat2htmlを作ってここに書きこんでくださる方はいませんか。
14
(4): 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)12:57 AAS
適当だが>>13
$cnt=1;
# ここで適当なHTMLヘッダを出す
$fff=shift;
open(TH,$fff) || die "open error\n";
$_=<TH>;
chop $_;
$num=@dat=split(',',$_);
print "<title>".$dat[4]."</title>\n";
print '</HEAD>'."\n";
省17
15: 名無しさん@お腹いっぱい。 2001/05/07(月)13:02 AAS
>>14 age
16: 名無しさん@お腹いっぱい。 2001/05/07(月)13:45 AAS
age
17
(2): 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)13:57 AAS
>>13
,が余計にあると混乱するみたい
18: 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)14:02 AAS
namazuの開発が沼津で行われてたってのは実話?
19
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)14:06 AAS
支障のオナニースレと三流大スレとrh叩きスレの下にあるのは言語道断。
この板で今生きている唯一の良スレだ。常に上にあるべき。age
20
(2): 14 [sage ] 2001/05/07(月)14:26 AAS
>>17
その辺は修正してくれ、10分で書いたやつだからと言い訳
21
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)14:47 AAS
テストランしてないけど、

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/linux/dat
export namazudir=$workdir/namazu

cd $wgetdir
wget -m -I linux/dat 外部リンク:cocoa.2ch.net
for i in `ls $datdir`
省8
22: 名無しさん@お腹いっぱい。 2001/05/07(月)14:48 AAS
こんな感じのスクリプトを動かせば、

REPLACE $wgetdir 外部リンク:

で動くかも。
23
(3): 名無しさん@お腹いっぱい。 2001/05/07(月)15:10 AAS
>>21
typoを2箇所発見。diff とるまでもないので、修正したスクリプトを
そのまま貼りつける。

# 今、Linuxが手元にないので、誰かテスト頼む

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/linux/dat
export namazudir=$workdir/namazu
省11
24: 名無しさん@お腹いっぱい。 2001/05/07(月)15:15 AAS
>>23
完璧です。
25: 名無しさん@お腹いっぱい。 2001/05/07(月)15:24 AAS
>>20
実際にソースを書いて晒している。とても偉い!
この板で偉くても自慢にならないところが珠に傷か
26: 名無しさん@お腹いっぱい。 2001/05/07(月)15:24 AAS
>>23
同上
27
(3): 名無しさん@お腹いっぱい。 2001/05/07(月)15:32 AAS
おお、なんだかすごいことになりそうな予感。
ここまでくれば、実際に>>1にテストしてもらって、
不具合があればここでわいわいやればあっという間に
出来そう。>>1サーバーの負荷がはたしてどこまで
耐えられるか。この板だけならば、それほどでもないかな。
28
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)15:44 AAS
>>23

私もちょっとテストしてみましたが、
j=`echo $i | sed -e 's/.*\.dat//'`
のところは
j=`echo $i | sed -e 's/\.dat//'`
の誤りのようです。

最新バージョン

#!/bin/sh

export dat2html=/usr/local/bin/dat2html.pl
export workdir=/home/2ch
省14
29: 名無しさん@お腹いっぱい。 2001/05/07(月)16:43 AAS
その前に1は生きてるのか?
30
(1): 1 2001/05/07(月)17:55 AAS
死にました
31: んじゃあ [sage ] 2001/05/07(月)18:29 AAS
>>30
ザオリク。
32
(1): 名無しさん@ディストリいっぱい 2001/05/07(月)20:09 AAS
うおっ!!!こんなにレスがついてる!!朝は放置されてたのにーーー
しかも!!スクリプト完成してる!!!カンドー
でも・・僕のような初心者にこれは・・・どこか遠くに逃げたい・・
33: 名無しさん@お腹いっぱい。 [sage ] 2001/05/07(月)20:15 AAS
>>32
1か?本当に1か?ちゃんとやるんだろうな?
まさか見通しも立てないでただスレ立てたんじゃないよな?
だとしたら逝け。いや、マジで。リアルで逝け。
34: 名無しさん@お腹いっぱい。 2001/05/07(月)20:26 AAS
とりあえず落ち着け。難しいことは書いてないぞ。
スクリプトまでできてるんだから、あとは動かすだけだ。
35: 名無しさん@お腹いっぱい。 2001/05/07(月)20:29 AAS
シェルスクリプトの環境変数くらいはいじっておくように。
36: 名無しさん@ディストリいっぱい 2001/05/07(月)20:39 AAS
僕が今やったこと。
>>14さんのdat2htmlをdat2html.plにリネームして/usr/local/bin/に入れた。
>>28さんのスクリプトを2ch.shにリネームして/home/2ch/に入れた。
両方のパーミッションを755にした。
意気揚揚としてコマンド打った。
2ch.sh!!!!
し〜ん。
僕・・・この場から逃げたい・・・
37: 名無しさん@ディストリいっぱい 2001/05/07(月)20:45 AAS
反応がない・・もしかしてみんな・・僕を変な目で見てる???
あ〜逃げたい〜
38: 名無しさん@ディストリいっぱい 2001/05/07(月)20:46 AAS
まさかこんなに盛り上がると思わなかったよ〜〜〜
責任が重い・・
39
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)21:01 AAS
し〜んって、エラーメッセージもなにも表示されず?
プログラムは終了したのか、それとも固まったのか?
それから、wget はインストールされてるか?

反応がないって、そりゃ6分間で反応が返ってくるとは
限らないぞ。気長に待て。
40
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)21:03 AAS
それから、date2html.pl の先頭に
#!/usr/bin/perl (パスは直して)
を加えて、
chmod +x /usr/local/bin/date2html.pl
をすることも忘れずに。スクリプトを、perl $date2html
と直してもどちらでも可能。
41
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)21:13 AAS
なにも反応がないというのが気にかかるのだけど、あとかんがえられると
したら、wget とか mknmz のパス設定かな?/usr/local/bin あたりに
インストールされていると、スクリプトをフルパスで指定するように
書き換えないといけない。wget -> /usr/local/bin/wget,
mknmz -> /usr/local/bin/mknmz などと、フルパスで書き換えて
みるといい。環境変数で設定しておく方がきれいだけど、動けば良し。
42: 名無しさん@ディストリいっぱい 2001/05/07(月)21:20 AAS
>>39さん
bash:2ch.sh: command not found
で止まります。さっきまでは
bash:
し〜ん
だったのに・・さっきまでのほうがまだよかったのかなあ・・
>>40さん
#!/usr/bin/perl
ですね・・
#!/usr/local/bin/perl
省1
43
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)21:23 AAS
2ch.shにパスが通ってないとか。
/home/2ch/2ch.sh で実行できない?
44: 名無しさん@ディストリいっぱい 2001/05/07(月)21:51 AAS
>>41さん
wget と mknmz は /usr/bin/ にインストールされてました。
>>43さん
それでもダメです・・・

んで、しょうがないから dat2hmtl.pl を /usr/bin/ に移動して 2ch.sh の
export dat2html=/usr/local/bin/dat2html.pl
の行を
export dat2html=/usr/bin/dat2html.pl
に書き換えました。問題ないですよね?

考えます。悩みます。せっかくみんなが作ってくれたんだから頑張ります。
45: 名無しさん@ディストリいっぱい 2001/05/07(月)22:03 AAS
走った!!!走りました!!!すごいっす!!!全自動!!!これでいけるぞー!!
sh 2ch.sh
だったんですね・・・すみません・・お騒がせしました・・
46: 名無しさん@ディストリいっぱい 2001/05/07(月)22:08 AAS
ありゃ?datファイルを全てダウンロードしたところで止まった・・
コピペした時に変なところに改行が入ったのかなあ・・また悩まなきゃ・・
47
(2): 名無しさん@お腹いっぱい。 2001/05/07(月)22:10 AAS
おお、動きましたか、良かったですね。
ところで、私も、今テストしてみましたが、2ch.shから
dat2htmlを呼び出すところで、標準入力ではなく
ファイル名指定となっているようで、
$dat2html $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
と書きなおさないといけないようです。
あとは、適宜 mkdir -p とか入れておくといいですね。
48
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)22:13 AAS
かぶりましたね。>>47に書いたような次第です。
ちなみに、コンバートにはある程度時間がかかりますよ。

一応、ちょこっといじらせていただいたので、コピーします。

#!/bin/sh

export dat2html=/usr/bin/dat2html.pl
export workdir=/home/2ch
export wgetdir=$workdir/wget
export datdir=$wgetdir/cocoa.2ch.net/linux/dat
export namazudir=$workdir/namazu

mkdir -p $wgetdir/cocoa.2ch.net/test
省12
49: 名無しさん@ディストリいっぱい 2001/05/07(月)22:28 AAS
'ch.sh: syntax error near unexpected token 'do
'ch.sh: 2ch.sh: line 14: 'do
で、やっぱり止まります・・・僕だけですか???
50: 名無しさん@お腹いっぱい。 2001/05/07(月)22:38 AAS
doでとまるとは摩訶不思議。
その上の for あたりがおかしいのか、いったいどういう
ことなんだろう?
51: 名無しさん@ディストリいっぱい 2001/05/07(月)23:00 AAS
元々ある2chというフォルダと別に新しく2chというフォルダができてしまうのですが
これは一時的にファイルを保存するためのフォルダですか?
同じ名前のフォルダができるのでややこしいです・・・

do で止まっちゃう・・doしよー!!
52
(1): 名無しさん@お腹いっぱい。 2001/05/07(月)23:01 AAS
for の構文って、これでいいんだっけ。
for i in `ls $datdir`
do j=`echo $i | sed -e 's/\.dat//'`
$dat2html $datdir/$i > $wgetdir/'cocoa.2ch.net/test/read.cgi?bbs=linux&key='$j
done

といった感じで、do の後に1行に書かない?

どうだったかと思って試してみたら、行を分けても分けなくても、
どちらでも動きましたが。(^^;
53: 名無しさん@ディストリいっぱい 2001/05/07(月)23:01 AAS
ていうかまさか3回目やると3個できて4回やると4個とかにならないですよね?
ていうかやってみればいいのか。やってみます・・・
54: 名無しさん@ディストリいっぱい 2001/05/07(月)23:07 AAS
>>52
そういう構文になるんですね。止まった原因がなんとなくわかりました。
僕はここのカキコをコピペして秀丸に貼り付けてるんですけど各行の後ろに
一文字分空白が入ってしまうのでそれを全て削除してました。
do の後ろの空白も。たぶんそれが原因だったかもしれません・・
55: 名無しさん@ディストリいっぱい 2001/05/07(月)23:13 AAS
2ch.sh: line24: syntax error: unexpected end of file
今度は24行目で止まっちゃいました・・一難去ってまた一難。
ていうか html の書き出しをやってくれてないような気が・・んー。

3つ目の 2ch フォルダは生成されなかったです。あーよかった。
56: 名無しさん@ディストリいっぱい 2001/05/07(月)23:28 AAS
24行目で止まったのは終わったから止まったみたいでした・・すみません。僕はアホです・・
また明日続きをやってみようと思います。どうもありがとうございました。
お昼に盛り上げてスクリプト作ってくれた方々もありがとうごさいました。
では寝ます。おやすみなさい。
57: 名無しさん@お腹いっぱい。 2001/05/08(火)00:45 AAS
うまくいくといいな。
58: 名無しさん@お腹いっぱい。 2001/05/08(火)10:21 AAS
>>14 >>17 >>20
,まわりの修正きぼーん
59: ,,,,, [sage ] 2001/05/08(火)10:36 AAS
,まわり,用,テスト,でーた,,,,, ,
60: 名無しさん@お腹いっぱい。 2001/05/08(火)11:32 AAS
ソースはEUCに変換してから使ってね
$cnt=1;
print '<HTML><HEAD>'."\r\n";
print '<META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=EUC-JP">'."\n";
$fff=shift;
open(TH,"/usr/local/bin/nkf -e $fff |") || die "open error\n";
$_=<TH>;
chop $_;
@dat=split(',',$_);
print "<TITLE>".$dat[4]."</TITLE>\r\n";
省21
61: 名無しさん@お腹いっぱい。 2001/05/08(火)12:00 AAS
$dat[0]=~s/,/,/g; は
'@'+'`'を','に置換するが化けている
62: 名無しさん@ディストリいっぱい 2001/05/08(火)20:26 AAS
うにゃー。あいかわらずhtmlファイルが生成されないなあ。
でもdatファイルはダウンロードできたからdat2htmlだけ単独で実行すれば
変換されるのかなあ。よくわかんないです・・

unix板のファイルもいただいておこっと。参考にはなるだろうから。
63: 名無しさん@ディストリいっぱい 2001/05/08(火)20:38 AAS
あーーー!!あったー!!
/root/linux に入ってたーーー!!

すみません。あいかわらずマヌケで。しかしなんでこんなところに・・
ってことはindexも作成されてるのかなあ。どのディレクトリにあるんだろ・・(^^;; 
64: 名無しさん@ディストリいっぱい [sage ] 2001/05/08(火)20:48 AAS
と思ったらこれは昼間会社で集めて送ったファイルだった・・
もうダメ・・ネボけてるかも・・
65: 名無しさん@お腹いっぱい。 2001/05/08(火)21:01 AAS
まさにオープンソースだね!
Linuxの本来あるべき姿だよ♪
66
(2): 名無しさん@お腹いっぱい。 2001/05/08(火)21:37 AAS
まずは、単独で dat2html の動作確認を。

dat2html.pl datファイルのファイル名 > 出力ファイル名

で、htmlファイルが出力されますか?

indexは、/home/2ch/namazu に生成されているはず。
1-
あと 415 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.025s