附带的安装指南:
安装指南:
Redhat 7.x的安装指南:
======================================================================
1 在Redhat7.x中建议把变动的数据放在/var下。
以root登陆,
解开文件包(如果已经解开,可以拷贝过去)
[root@linux /]$ cd /var
[root@linux /var]$ tar vxzf parker-200x-x-xx.tar.gz
#mkdir /var/www/cgi-bin/parker
#cp /var/parker/html/parker /var/www/html/parker -r
2 设定各个文件的读写权限
chown nobody.nobody /var/parker -R
chmod 770 /var/parker -R
nobody是cgi的执行用户.
3 修改源程序文件路径:
(如果改变安装目录的话)(默认为/var/parker)
src/Makefile PARKER_HOME= /var/parker (安装目录)
CGI_HOME= /var/www/cgi-bin/parker (cgi目录)
4 根据喜好修改cgi输出界面
src/cgi* 根据需要修改,主要修改页面的输出外观
主要输出函数是
370 PutHeaders(void)
386 Search(void)
494 void PutEnd(void)
还有显示定义文件 src/language.h
5 重新编译代码
cd src
make
make install
6 配置crontab,以便定时自动更新数据
定时更新数据
crontab -u parker -e
1 1 * * * /var/parker/bin/flashdata %(这里是每天更新)
7 手动更新数据
编辑站点列表文件 /var/parker/etc/CollectList
执行搜集数据的命令:
[root@linux /var/parker/bin]$ ./flashdata &
html是我提供的页面例子.
http://localhost/parker/index.html
======================================================================
下面是各个文件和目录的作用和安排:
bin/:
collect [-l|-r|-d] [ftp site]
搜集ftp站点数据用的, ftp站点定义在 etc/CollectList
数据压缩后放在放在LZOData下. 临时工作目录在 tmp/, 站点的统计数据放在 Statist/下
参数使用如下: -l 使用LIST -lR命令列出服务区上的目录;
-d 通过下载类似于 ls-lR.tgz的文件来获得目录。(有的服务器上会定时
建立这样的文件。
-r 自动进入各个子目录得到整个目录的列表。
默认的调用顺序是 -l,-d,-r 搜索etc/CollectList中的ftp站点
flashdata
更新数据的调度文件.调用collect
convertmask
把从http://www.nic.edu.cn/RS/ipstat/internalip/
取得的教育网免费IP定义列表更新到$parker/HostData/Edu.mask
要求输入文件格式如下:
host subnet netmask
如 202.119.32.0 0.0.31.255 255.255.224.0
使用方法:设拷贝下来的文件为list.txt, 执行convertmask list.txt
flashlist
一段时间后,把很大的$parker/etc/onworkhost一些无法联结的
IP去掉, 备份文件在$parker/etc/backlist
listfilter
把搜集到的ftp站点列表转成onworkhost
getdnsname
返回ip的DNS名字. 没有的话,返回空行.
makestat
对ftp站点上的各种文件进行统计排序, 供Statist使用,可以分析不同站点对不同文件的偏好。
lzo_comp
把目录数据用LZO算法进行压缩的程序. 读的部分由search直接进行。
src/:
Makefile
make定义文件
config.h
目录,文件、目录的定义, make时由conf.head和conf.end生成
conf.head
conf.end
parker.h
头文件,各个程序的定义,
collect.c
搜集ftp站点数据的C代码源程序
collect.h
头文件
listfilter.c
能够比较自动的一些ftp站点列表文件中抽取从ip, 例如文件oldlist.txt如下:
---------------------------------------
南大FTP: 202.119.32.32
交大FTP: xxx.xxx.xxx.xx "good"
202.119.46.57
清华 166.111.19.56
..........
........
---------------------------------------
使用命令"listfilter oldlist", 可以得到
-----------------------------------
202.119.32.101
xxx.xxx.xxx.xx
166.111.19.56
..........
.....
-----------------------------------
getdnsname.c
->bin/getdnsname 取得IP的DNS域名
convertmask.c
把从http://www.nic.edu.cn/RS/ipstat/internalip/
取得的免费IP定义列表更新到$parker/HostData/Edu.mask
common.c
得到ftp的域名等信息等一些共同的函数
log.c
纪录搜索的历史, 放在 log/, 由search.c 调用
search.c
搜索用的cgi -
显示统计信息的cgi -
提交新ftp站点的cgi ->etc/CollectList
minilzo.h
miniLZO压缩函数库的头文件
minilzo.c
miniLZO压缩函数库的主文件
lzoconf.h
lzo_comp.c
调用miniLZO压缩函数库的目录数据压缩器
lzo_fun.c
调用miniLZO压缩函数库的解压缩函数,供search.c调用
etc/:
CollectList
FTP列表文件
LZOData/:
只存放搜集到的目录数据, 以ip为文件名, 以压缩格式存放.
HostData/:
存放站点的信息, ip.info为相应的域名,
Inn.mask
为南京大学内部网络的IP定义,
Nju.mask
为南京大学正式IP的定义.
Edu.mask
为教育网的IP定义(免费)
log/:
search.log
用户搜索的完整纪录
searchkey.log
搜索的关键字纪录
submit.log
用户推荐站点的纪录
Statist/:
$IP.stat
各个FTP的统计数据,最后集合到stat
stat
统计的原始数据
其他
按各个不同要求排序的结果
tmp/:
工作目录
我在安装到第5步时个出错,在输入“make install”后出现如下错误提示:

Makefile内容如下:
PARKER_HOME= /var/parker
CGI_HOME= /var/www/cgi-bin/parker
VALIDDAYS=30
#Define the user Language: english or chinese
CC= gcc
CFLAGS= -O2 -DNOSYSLOG -Wall
#LDFLAGS= -ldl
LDFLAGS=
EXES= config.h search statist siteinfo submit listfilter convertmask getdnsname collect lzo_comp flashdata
.c.o: $<
$(CC) -c $(CFLAGS) $<
default: all
all: $(EXES)
install: default
-cp search $(CGI_HOME)
-cp statist $(CGI_HOME)
-cp submit $(CGI_HOME)
-cp siteinfo $(CGI_HOME)
@if [ ! -d ../bin ]; then
mkdir -p ../bin; \
fi
-cp getdnsname ../bin/.
-cp listfilter ../bin/.
-cp convertmask ../bin/.
-cp lzo_comp ../bin/.
-cp collect ../bin/.
-cp flashdata ../bin/.
clean:
-rm -f $(EXES)
realclean: clean
-(cd ../bin; rm -f $(EXES) )
siteinfo: siteinfo.c common.c parker.h language.h
$(CC) $(CFLAGS) -o siteinfo siteinfo.c common.c $(LDFLAGS)
statist: statist.c common.c parker.h language.h
$(CC) $(CFLAGS) -o statist statist.c common.c $(LDFLAGS)
search: search.c common.c log.c minilzo.c minilzo.h lzoconf.h lzo_fun.c parker.h config.h language.h
$(CC) $(CFLAGS) -o search search.c common.c log.c minilzo.c lzo_fun.c $(LDFLAGS)
collect: collect.c collect.h config.h
$(CC) $(CFLAGS) -o collect collect.c
listfilter: listfilter.c common.c parker.h
$(CC) $(CFLAGS) -o listfilter listfilter.c common.c $(LDFLAGS)
convertmask: convertmask.c parker.h
$(CC) $(CFLAGS) -o convertmask convertmask.c $(LDFLAGS)
getdnsname: getdnsname.c common.c parker.h
$(CC) $(CFLAGS) -o getdnsname getdnsname.c common.c $(LDFLAGS)
submit: submit.c parker.h common.c
$(CC) $(CFLAGS) -o submit submit.c common.c log.c $(LDFLAGS)
lzo_comp: lzo_comp.c minilzo.c minilzo.h
$(CC) $(CFLAGS) -o lzo_comp lzo_comp.c minilzo.c
config.h: conf.head conf.end Makefile
cat conf.head > config.h
echo \#define PARKER_HOME \"$(PARKER_HOME)\" >> config.h
echo \#define HOSTLIST \"$(PARKER_HOME)/etc/CollectList\" >> config.h
echo \#define VALIDDAYS $(VALIDDAYS) >>config.h
cat conf.end >> config.h
flashdata: Makefile
echo \#!/bin/sh > flashdata
echo $(PARKER_HOME)/bin/collect >> flashdata
echo $(PARKER_HOME)/bin/makestat >> flashdata
chmod 755 flashdata
在线等,希望各位大侠能够给予帮助~谢谢!
xiaoheise 于 2009-06-15 14:17:06发表:
{:2_102:}
xiaoheise 于 2009-06-15 13:22:04发表:
(5ty(