Google Desktop for Linux With Apache2 On LAN
前言:
在两年前第一次试作将google desktop与apache结合用于LAN的文件搜索,原文见这里《第一次原创:使用Google桌面搜索打造企业搜索服务器》http://blog.chinaunix.net/u/13472/showart.php?id=73880
当时for linux的google desktop还没有出来,让我的samba文件服务器没有了集成的搜索服务可用,可谓望眼欲穿。等到for linux出来后,发现居然不支持搜索MS专有格式文档,又失望了很一段时间。终于,终于等到了google desktop for linux v1.1.1.0075,支持DOC、XLS、PPT的索引支持了,所以就捣鼓着一定要将它放置在我的samba服务器上,在提供samba服务的同时也 提供一个简单的搜索服务器。
正文:
原理和前文一样,依靠apache来代理google desktop。前文中提到需要端口映射器,经过后来的搜索,原来是缺少了设置反向代理所致,即在ProxyPass后面再接一个 ProxyPassReverse代理就可以避免了。所以,现在与apache结合的google desktop已经不需要客户端做任何设置了,有一个浏览器就足够了,而文件浏览器足够充当这个角色了。
如果这个apache没有其他用途,如前文,给服务器分配第2个ip专门用来处置这个google desktop代理,简单的配置文件如下:
Code:
[Ctrl+A Select All]
在重启apache前还需要修改apache的运行用户为google desktop的运行用户,这是因为google desktop的索引文件都是针对单个linux用户可读的,其他用户都不可读,所以用其他用户启动的apache是不能读取google desktop的数据的,也就无法代理了。
修订好这一切,apache重启后,通过(后面省略的是google desktop的起始地址,每个linux桌面用户的都不同)就可以访问On LAN上的google desktop。
下一步,我试作将这个On LAN的google desktop集成进文件服务器,毕竟去记住那串后缀地址还是很困难的,所以有必要把这个首页文件存放在文件服务器上,通过文件服务器访问到这个文件后就可以点击首页文件打开搜索代理服务器了。
这里需要注意的是,简单的将首页保存下来的文件中由于相对地址的原因,通过文件服务器启动的首页文件不能进行搜索,所以我做了这样的改动:
Code:
[Ctrl+A Select All]
上面含有的“”字串都是我改动添加上去的,如此启动的首页文件便可以触发搜索代理服务器。
我的基本要求达到后,还是没有达到我的预期。因为我的服务器本身启用apache的原因是为了提供samba文件服务器的跨网段web访问,所以前面那个 首页文件也可以被原来的apache访问到,但是却不能提供搜索服务(我的ip地址有限,不能够把内网地址全部映射出去的)。所以,接下来,对上面的设置 适当加以改造,让它适合互联网应用。
显然,不能代理成根目录了,因为根目录要用来当作文件服务器的首页,所以就把它代理到/googlesearch,所以代理部分的内容就变成了:
Code:
[Ctrl+A Select All]
这样的代理可以打开主页但是根本不能展开搜索,原因是google desktop启动搜索的时候的url地址都是从根/search开始的,所以,需要进行URL重写,如下:
Code:
[Ctrl+A Select All]
终于,google desktop被集成进apache了。最后一步,修改主页文件,另存为/Fileserver/文件搜索/目录下的index.html,以保证apache访问到该目录时直接打开首页文件。
首页文件的修改很简单,把上面的全部替换成“/googlesearch”就可以了。
尾注:
目前残留的问题就是将搜索出来的文件打开的问题,上面的处理都是简单的屏蔽,要实现如DNKA一般的效果需要采用输出重新,我这里简单把mod_sar的说明贴在这儿。
由于新版本的google desktop的输出url规则比较复杂,重写很困难,加上linux文件系统中太多的权限,许多目录都不会允许apache访问的,所以就懒得再折腾 了,毕竟输出的信息中已经有文件位置的详细地址,通过文件服务器找寻下去也是很方便的。
最后,希望看到这篇文章的达人能够帮助写出mod-sar的输出规则,帮我完善这个Google Desktop For Linux with Apache2 On LAN,谢谢。
前言:
在两年前第一次试作将google desktop与apache结合用于LAN的文件搜索,原文见这里《第一次原创:使用Google桌面搜索打造企业搜索服务器》http://blog.chinaunix.net/u/13472/showart.php?id=73880
当时for linux的google desktop还没有出来,让我的samba文件服务器没有了集成的搜索服务可用,可谓望眼欲穿。等到for linux出来后,发现居然不支持搜索MS专有格式文档,又失望了很一段时间。终于,终于等到了google desktop for linux v1.1.1.0075,支持DOC、XLS、PPT的索引支持了,所以就捣鼓着一定要将它放置在我的samba服务器上,在提供samba服务的同时也 提供一个简单的搜索服务器。
正文:
原理和前文一样,依靠apache来代理google desktop。前文中提到需要端口映射器,经过后来的搜索,原来是缺少了设置反向代理所致,即在ProxyPass后面再接一个 ProxyPassReverse代理就可以避免了。所以,现在与apache结合的google desktop已经不需要客户端做任何设置了,有一个浏览器就足够了,而文件浏览器足够充当这个角色了。
如果这个apache没有其他用途,如前文,给服务器分配第2个ip专门用来处置这个google desktop代理,简单的配置文件如下:
Code:
[Ctrl+A Select All]
在重启apache前还需要修改apache的运行用户为google desktop的运行用户,这是因为google desktop的索引文件都是针对单个linux用户可读的,其他用户都不可读,所以用其他用户启动的apache是不能读取google desktop的数据的,也就无法代理了。
修订好这一切,apache重启后,通过(后面省略的是google desktop的起始地址,每个linux桌面用户的都不同)就可以访问On LAN上的google desktop。
下一步,我试作将这个On LAN的google desktop集成进文件服务器,毕竟去记住那串后缀地址还是很困难的,所以有必要把这个首页文件存放在文件服务器上,通过文件服务器访问到这个文件后就可以点击首页文件打开搜索代理服务器了。
这里需要注意的是,简单的将首页保存下来的文件中由于相对地址的原因,通过文件服务器启动的首页文件不能进行搜索,所以我做了这样的改动:
Code:
[Ctrl+A Select All]
上面含有的“”字串都是我改动添加上去的,如此启动的首页文件便可以触发搜索代理服务器。
我的基本要求达到后,还是没有达到我的预期。因为我的服务器本身启用apache的原因是为了提供samba文件服务器的跨网段web访问,所以前面那个 首页文件也可以被原来的apache访问到,但是却不能提供搜索服务(我的ip地址有限,不能够把内网地址全部映射出去的)。所以,接下来,对上面的设置 适当加以改造,让它适合互联网应用。
显然,不能代理成根目录了,因为根目录要用来当作文件服务器的首页,所以就把它代理到/googlesearch,所以代理部分的内容就变成了:
Code:
[Ctrl+A Select All]
这样的代理可以打开主页但是根本不能展开搜索,原因是google desktop启动搜索的时候的url地址都是从根/search开始的,所以,需要进行URL重写,如下:
Code:
[Ctrl+A Select All]
终于,google desktop被集成进apache了。最后一步,修改主页文件,另存为/Fileserver/文件搜索/目录下的index.html,以保证apache访问到该目录时直接打开首页文件。
首页文件的修改很简单,把上面的全部替换成“/googlesearch”就可以了。
尾注:
目前残留的问题就是将搜索出来的文件打开的问题,上面的处理都是简单的屏蔽,要实现如DNKA一般的效果需要采用输出重新,我这里简单把mod_sar的说明贴在这儿。
|
由于新版本的google desktop的输出url规则比较复杂,重写很困难,加上linux文件系统中太多的权限,许多目录都不会允许apache访问的,所以就懒得再折腾 了,毕竟输出的信息中已经有文件位置的详细地址,通过文件服务器找寻下去也是很方便的。
最后,希望看到这篇文章的达人能够帮助写出mod-sar的输出规则,帮我完善这个Google Desktop For Linux with Apache2 On LAN,谢谢。