网络下载风潮的盛行使得不少用户家里都有了一台专用的P2P下载机,而且很多都是工作在7×24小时状态。那么你这台P2P下载机除了下载电影、音乐和自己需要的软件之后,你是否想过还可以用它来干点什么呢?是的,挖掘潜力乃是DIYer之本色,今天就让我们一起来看看如何让你的BT下载机干更多的事情!
本文的宗旨
通过本文,你将学会以下两个主要应用:
随时随地在远程调用自己家庭下载服务器上的文件,实现上传、下载等完善的FTP功能。
通过代理页面访问被公司过滤掉的URL,如http://www.google.cn/、http://www.sina.com.cn/等。
现在利用家用电脑搭建Web服务器的人是越来越多了,其中个人博客和论坛等传统的应用固然不少,利用eMule或BT下载软件(比如μTorrent)自带的WebServer功能来远程监控、管理下载状态的也很常见。不过您有没有意识到还有更多免费的精彩WEB应用在等您挖掘呢?本文就举两个在Windows自带的IIS7上实现的例子——远程文件管理软件AjaXplorer(PHP)及基于网页的Proxy代理软件CGIProxy(Perl CGI),如果你家里已经搭建了下载服务器,一定要好好看一下,没准儿会给你意外的惊喜。
IIS + PHP + CGI平台搭建
在安装应用程序前,需要先把WEB服务器的软件平台搭建起来。我们常用的Vista旗舰版和Windows 2008 Server都内置了IIS(Internet Information Services) 7,但可能默认情况下未安装或未开启服务,所以我们只要在VISTA中添加Internet信息服务功能,或者在Windows Server 2008的服务器管理器中添加Web服务器(IIS)的角色就可以了。当然,如果你是用的Windows XP系统,那么就得手动添加IIS了,这方面网上有不少的教程可供参考,在此不做赘述。IIS开通后,需要分别添加其对PHP网页语言和CGI脚本的支持,因为AjaXplorer和CGIProxy分别会用到这两种脚本语言。
首先到http://cn.php.net/下载PHP5.2.6稳定版的.zip包,解压缩后依下列步骤进行配置。
Step 1:把php5ts.dll手工拷贝到C:WindowsSystem32文件夹或者将D:ProgramsPHP添加到系统文件路径中。把php.ini-recommended文件拷贝到C:WindowsSystem32文件夹,将其重命名为php.ini,根据需要进行编辑,确保PHP会用到的各项路径设置正确,或设置好会用到的.dll文件。如有必要,设置IIS用户(通常是IUSR_主机名)对php.ini、Web文件夹或临时目录的访问权限。
图1
Step 2:到Internet信息服务(IIS)管理器中进行设置:在左侧打开“网站”→“PHP”,打开“处理程序映射”,然后再在右侧的“操作”下面单击“添加脚本映射”,在“添加脚本映射”窗口下的“请求路径”下键入“*.php”,在“可执行文件”旁边单击按钮浏览,选择D:ProgramsPHPphp5isapi.dll这个文件(具体路径依安装而异),然后在“名称”中键入“PHP”(可自定义),如图1所示。
图2
Step 3:打开PHP网站的设置窗口,双击图2中的“默认文档”。点“添加…”,输入“index.php”,然后点“确定”。这样,IIS就支持对PHP动态网页的访问请求了。如果大家想测试效果,可以做这样一个phpinfo.php的测试文件,放在PHP网站目录下:<?phpinfo();?>然后访问诸如http://localhost/phpinfo.php的本地址,看PHP是否已工作正常。
图3
Step 4:接下来需要安装ActivePerl编译器,让IIS提供对Perl CGI的支持,下载其免费版即可。在Windows下直接运行msi安装包,一路“Next”直至安装完毕。然后像刚才对PHP的php5isapi.dll那样,也为ActivePerl安装目录下的perlis.dll添加程序映射(图3)。针对Perlis.dll的程序映射可以独立工作,不以站点对PHP、ASP或ASP.NET等语言的支持为前提。也就是说,在IIS本身默认的站点(支持ASP)中添加上面的映射后,也可以完美地支持运行Perl语言编写的CGI脚本。当然,如果你只用CGIProxy,就不必安装PHP了。完成上述设置之后,重启站点或服务器即可。
酷炫的WEB版远程文件管理利器–AjaXplorer
图4
不知你是否抱怨过办公室电脑上的种种限制:硬盘太小,不允许安装自己的软件,有时要用到家中电脑上的数据,却须重新搜索、下载……想没想过可以随时随地、在任何只要能上网的地方都能通过网页访问自己家里下载服务器上的所有文件,下载、上传、移动、重命名,甚至浏览照片这一切都能通过远程管理实现呢?AjaXplorer就是具备这种功能的一个PHP程序。由于应用了Ajax交互式网页技术,其用户界面显得比较酷炫。图标按钮及鼠标右键菜单的应用,也使得在AjaXplorer中对文件及文件夹的操作变得直白、简易、迅捷。图4就是笔者终完成的AjaXplorer的用户界面,甚至还可以远程预览图片。看了之后你是否也有些心动,想要更好地利用家里的下载服务器做更多的事情呢?好吧,就让我们一步步来实现。
图5
Step 1:我们可以从网上搜索下载AjaXplorer的新版本2.3.5,将ZIP文件解压后的所有文件及文件夹放到IIS的Web目录下即可。因其起始页为index.php,而我们前面已经将index.php设置为默认文档,所以只要输入http://localhost:端口即可访问。登录时需要密码(管理员用户名admin,初始默认密码admin),如图5所示。
图6
图7
Step 2:进入设置界面后,有两处设置选项需要注意,分别是建立共享设置以及修改管理员密码的设置。尤其是管理员密码的修改要引起重视,避免你的下载服务器莫名其妙地被“黑”掉(图6、7)。
图8
Step 3:我们需要在Repositories Management标签下,输入路径并任意输入Label,即可建立新的共享。如果要共享的分区或文件夹位于本地,选择Server FileSystem作为Driver(图8)。如果有多个用户访问,可以到“Users Management”标签下面进行新建或删除用户的操作。同时,在“Logs”标签下记录了AjaXplorer的访问日志,你可以查看有哪些IP地址的用户访问了你的下载服务器。AjaXplorer非常实用,它不像VNC软件或者远程桌面那样对带宽有苛刻的要求。除了可以方便地管理自己家中的下载服务器外,其上传功能还相当于为我们提供了容量几乎不受限的网盘,笔者感觉可比当前流行的纳米盘更实用。如果说AjaXplorer还有什么缺点,那就是对多语言内码支持不够,还无法正确显示中文文件名。不过相信在未来的版本中会解决中文化的问题。
自由访问网页——CGIProxy
不知道您所工作的单位是否设置了员工浏览网站的限制?比如当你想要访问新浪、Google等网站时,却发现其网址的URL已经被公司实行过滤了。在一些特殊情况下,当你迫切地需要在这些网站上找资料时,又该怎么办呢?一筹莫展!其实,如果我们能先浏览到自设的代理网站页面,再在搜索框中输入实际要去的网址,由代理网站将内容返回到我们的屏幕,不就能绕过公司网络的限制了吗?CGIProxy就是这样的一个程序,家中的下载服务器装上它就变身成了你独享(或者小范围共享)的网页版代理服务器,而且无需修改你办公室电脑的IE设置。
Step 1:对个人用户来说,CGIProxy算是免费的,大家可以从网上下载新版本,到笔者截稿时,新版本是2.1beta18。下载后解压,将其中唯一的服务器端文件nph-proxy.cgi置于站点默认目录下即可。此文件可以根据需要改名,以方便访问或避免被公司网络屏蔽。笔者就将它改名为nph.cgi。
图9
Step 2:如果前面关于Perl CGI的设置正确,可以在IE中输入类似http://localhost/nph.cgi的地址直接访问此CGI脚本(图9)。
图10
在图9中根据需要勾选选项,并将要访问的地址填入输入框,然后回车或点击“Begin browsing”按钮,会得到返回结果,如图10所示。然后,您可以访问返回的页面或与其互动,过程就像在本地访问一样。如果有新的待访问的地址,可以在上方的文本框里输入,并更改选项即可。
图11
需要提请读者注意的是,默认设置下CGIProxy会将所输入的网址以原文显示在IE地址栏中。如果要像图10那样将原网址以密文显示,则需要用记事本打开npg.cgi,将proxy_encode和proxy_decode两个模块中的两行代码前面的注释符“#”移除并保存,再点击页面上的“Restart”链接或重启网站,网址就会以密文显示了。修改方法如图11所示。
写在后
后,为了让家庭下载服务器(其实现在应该叫做WEB服务器了)正常运转,请大家留意以下的注意事项:
1.申请、注册一个免费的动态域名,这方面比较知名的提供者有花生壳和金万维。将免费动态域名软件设置为随系统启动。
2.注意IIS的站点设置,包括默认目录及访问端口。本文中使用了http协议的默认端口80,但实际使用时为安全起见,可以在IIS中设置自己的站点使用其他非标准端口。
3.如果家庭WEB服务器位于内网,则要设置好宽带路由器上相关端口的映射。
4.将Windows防火墙设置为允许WEB服务端口的双向通信。我们给IIS添加了PHP和CGI脚本的支持后,不需要做任何开发或修改就轻松地完成了AjaXplorer和CGIProxy的两个实用程序的设置。如果再将MySQL等数据库软件与PHP配合,就可以在IIS上实现更多的应用,比如进行相册在线发布及管理的软件Gallery,WEB音乐管理软件Ampache等。只要勤于探索实践,就能让你下载机上的WEB服务更加全面,你的数字生活必然会更加精彩!