在 Linux 下建立 FTP 搜索引擎

2/9/2008来源:Oracle教程人气:5606


  摘要:parker是一个FTP服务器搜索引擎,是基于linux的开放源码软件。主要检索各个FTP服务器上面的文件,然后将目录信息保存在本地的文件中,假如有查询请求,将检索本地的数据,将相关的信息(文件所在的地址)返回给请求者。
  
  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操作):
  
  当然,第一件事是开机进入你的linux,然后将你获取到的parker源代码文件(一般为parker.2000-09-06.xxxx.tgz,其中包含了这个parker的修改日期和修改者)展开到一个目录中, 这里我们假设是/root/parker/。
  是用文本编辑器编辑/root/parker/src/Makefile这个文件,主要是设置parker_home为你的parker所在的目录(/root/parker/)
  在终端窗口输入命令make config进行编译
    在你的/root/parker/src/目录下面,执行make config就可以了。make有些类似VC里面的工程一样,可以批量处理一些程序。所有的unix-like系统都有make这个程序,否则的话,就是你在安装linux的时候没有安装开发环境的支持。(选择定制安装的朋友们就要注重了,我第一次装红旗的时候,选择定制, 不小心这个make就没装上去)
  
  编辑/root/parker/src/parker.h,设置其中的SERVER、PARKERSERVER,具体方法就是把"10.129.6.172"替换成你的parker所在的服务器地址。
  在终端窗口输入命令make进行编译
  编译完后继续键入make install进行编译处理
  修改你的Parker_Hosts(/root/parker/etc/Parker_Hosts)文件,加入需要检索的FTP服务器地址,一行一个FTP服务器地址。
  将src/下面的cgi程序(cgi, cgistatus,cgiswitch,这些文件只有当你上面的编译完成后才能产生)拷贝到你的www服务器的cgi-bin目录下面。将/root/parker/Html/下面的文件放到你的www服务器的doc root下面,使得可以被用户访问。具体有关Web Server的设置请参考其他文献,但相对来讲,红旗linux的Apache设置是比较简单的。
  编辑你的/etc/services和/etc/inetd.conf文件,加入parker服务。具体修改可以参考/root/parker/conf/目录下面的例子。 在例子中/usr/networking/parker/bin/parkerd这个目录指的是parker所在的目录,将其修改为/root/parker/bin/parkerd,当然,你必须首先完成make install,这样在你的parker/bin/目录下面 才会有parkerd这个文件。
  重新启动inetd以及www服务器程序。
  定时执行/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语言功底。)