Linux正大行其道,不少朋友相信已经用它架设过各种服务,什么Web、FTP、BBS等等等啦,这次,我向大家介绍另外一个在linux下运行的服务器软件----NoseyParker,一个强大的FTP搜索引擎,只要一些简单的步骤,一个强大的搜索引擎举手间就建立起来了,各位且听我慢慢道来。
parker是一个FTP服务器搜索引擎,是基于Linux的开放源码软件。主要检索各个FTP服务器上面的文件,然后将目录信息保存在本地的文件中,如果有查询请求,将检索本地的数据,将相关的信息(文件所在的地址)返回给请求者。教育网内很多FTP站点都采用这个作为搜索引擎,比如清华九井等。
使用方法很简单,如果你是linux系统,应当不会有什么问题。如果是别的Unix-like系统,也可仿照作相应处理。
本文以红旗2.0桌面版为例说明整个的架构过程。因为相对来讲笔者个人觉得红旗Linux比较好操作,中文汉化也做得很好。他的Web Server(Apache)设置可以通过Xwindow界面来实现,比较方便初级用户。
首先你得获取一份parker的源代码,推荐到这个站点搜索一下,你可以找到一打以上的提供源代码的站点:http://e.pku.edu.cn,拿到源代码之后,我们就可以开始安装了。
基本安装方法如下(可以参考parker目录下面的readme操作):
1、当然,第一件事是开机进入你的linux,然后将你获取到的parker源代码文件(一般为parker.2000-09-06.xxxx.tgz,其中包含了这个parker的修改日期和修改者)展开到一个目录中, 这里我们假设是/root/parker/。
2、是用文本编辑器编辑/root/parker/src/Makefile这个文件,主要是设置parker_home为你的parker所在的目录(/root/parker/)。
3、在终端窗口输入命令make config进行编译
在你的/root/parker/src/目录下面,执行make config就可以了。make有些类似VC里面的工程一样,可以批量处理一些程序。所有的unix-like系统都有make这个程序,否则的话,就是你在安装linux的时候没有安装开发环境的支持。(选择定制安装的朋友们就要注意了,我第一次装红旗的时候,选择定制,不小心这个make就没装上去)。
4、编辑/root/parker/src/parker.h,设置其中的SERVER、PARKERSERVER,具体方法就是把"10.129.6.172"替换成你的parker所在的服务器地址。
5、在终端窗口输入命令make进行编译。
6、编译完后继续键入make install进行编译处理。
7、修改你的Parker_Hosts(/root/parker/etc/Parker_Hosts)文件,加入需要检索的FTP服务器地址,一行一个FTP服务器地址。
8、将src/下面的cgi程序(cgi, cgistatus,cgiswitch,这些文件只有当你上面的编译完成后才能产生)拷贝到你的www服务器的cgi-bin目录下面。将 /root/parker/HTML/下面的文件 放到你的www服务器的doc root下面,使得可以被用户访问。具体有关Web Server的设置请参考其他文献,但相对来讲,红旗linux的Apache设置是比较简单的。
9、编辑你的/etc/services和/etc/inetd.conf文件,加入parker服务。具体修改可以参考/root/parker/conf/目录下面的例子。在例子中/usr/networking/parker/bin/parkerd这个目录指的是parker所在的目录,将其修改为 /root/parker/bin/parkerd,当然,你必须首先完成make install,这样在你的parker/bin/目录下面才会有parkerd这个文件。
10、重新启动inetd以及www服务器程序。
11、定时执行/root/parker/bin/NewData这个脚本文件,可以把它放置到你的crontab中,让系统定时执行(一般是1天到1个星期)。
NewData脚本将访问在/root/parker/Parker_Hosts中定义的FTP服务器,并将检索到的数据存放到本地,然后对数据进行相应的处理。www用户可以通过访问parker页面来执行文件查询请求。当你能够成功的执行完make install之后,就会在你的/root/parker/bin/目录下面看到这个NewData文件,注意,不能直接在这个脚本所在的目录里运行他,否则会出错,不能收集数据,可以在根目录下(root)执行parker/bin/NewData (注意大小写)即可。
至此,一个强大的搜索引擎就已经建立起来了。具体页面显示效果可以修改/root/parker/html/下面的文件,但是搜索结果的页面则需修改/root/parker/src/cgi.c文件,然后重新编译方可,要求有一定的html语言功底。