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语言功底。
(T004) [#page_#][#page_#]
你应当使你的配置尽量的简单——不要安装那些用不到或根本不必要的模块。一般说来,一个标准的non-DSO(非动态共享对象)Apache,在安装一个perl,对大多数人都是足够的。
关于DSO和mod-ssl需要注意的地方:
如果你打算把任何东西都按照DSO模版进行编译,那你首先要建立mod-ssl,然后你确实要按照下面的顺序建立自己的Apache目录树。Mod-ssl会明显的修改Apache 建立的目录树,据我的经验,在使用我们刚才提到的软件版本的前提下,下面的顺序是做起来最简单的顺序:
1、建立Apache.
2、在Apache中建立和增加mod-ssl.
3、在Apache中建立和增加php 和mod-perl.
4、你应该在适当的地方记录下来你是怎么样编译你的目录树的,以便再做时参考。(你可以把其打印出来,并加上注释)
安装了各种软件之后,最终的虚拟根环境化的目录树有23MB,其中包含了8MB的共享库和perl。下面是基于DSO安装的文件的总结(以KB表示):
ROOT# pwd /www ROOT# du -s . 22737 . ROOT# du -s * 6832apache 0 bin 1 dev 7 etc 6679lib 1 tmp 9215usr 1 webhome ROOT# du -s apache /* 600 apache /bin 3 apache /cgi-bin 125 apache /conf 1560apache /htdocs 133 apache /icons 392 apache /include 3925apache /libexec 64 apache /man 29 apache /var ROOT# du -s usr/* 8410usr/Local 336 usr/bin 340 usr/lib 128 usr/share |
转载请注明:IT运维空间 » 运维技术 » 在Linux系统下建立强大的FTP搜索引擎
发表评论