最近总是遇到一些很郁闷的情况,不得不自己搭建临时的FTP服务器,而作为完美主义者的我就不免弄出个比较专业的了,然后顺手就假设了应用环境写出这篇如何利用Serv-U搭建家庭用广域文件共享服务器的文章来。
有人看到这么长的文章估计立马想跑路了,俺也没啥想法,走吧,反正有需要的还是会看的~
一.什么是FTP文件共享服务器?
了解这玩意之前先让我们看看FTP是什么意思,FTP(File Transfer Protocol),是文件传输协议的简称。用于Internet上文件的双向传输。简单的说,FTP用来协调服务端和客户端互相扔鸡蛋的行为,什么时候该服务端扔,什么时候该客户端扔,什么时候该扔几号鸡蛋等……
二.为什么要搭建FTP文件共享服务器?
在这里可以看出,我们需要的是“共享服务器”,也就是说,它的主要任务是共享。当然,它的本来意义并不是如此(差不多)。
可能有人要说,这么古老的东西,要来干嘛?现在多好,有局域网,有QQ文件传输,有网络硬盘等等乱七八糟的共享手段,这个还要跑上去自己下载的东西,速度也不快吧!
那么让我们来看看用这古老玩意的理由:
1.连接方式多样化。
需要说明的是,这里的其他包括迅雷,命令行等方式……
2.安全性高
FTP作为非常古老的协议,是非常、极其成熟的,其安全性不言而喻。
灵活的用户、群组、域权限配置绝对能够应付各种极端状况,在确保应用需求的情况下保证强大的安全性。
甚至能够支持SSL和SSH的加密传输。当然,作为一台文件共享服务器,我们并不需要用到……
另一个隐形的好处就是,你再也不必冒着中毒的风险拿着U盘拷贝东西了!让对方上传即可。
至少据我所知,除了FTP程序本身的漏洞,和密码猜解,没有什么手段能够完全控制FTP服务器。
3.定制能力强大
作为一个优秀的FTP服务器,它能够定制几乎一切,小到是否显示文件快捷方式的指向目标和每个IP的上传/下载速度。大到哪个IP在哪个时间用哪个账户登录了你的服务器……无所不包。
4.建立维护便捷
建立FTP服务器的便捷性:
虽然和局域网相比还是比较复杂,但是最最快的组建步骤仅仅需要
下载并安装服务端Serv-U
按向导走过两三个非常傻瓜的流程
用资源管理器或者网页浏览器访问,在IP前加上FTP://
仅此而已……
维护FTP服务器的便捷性:
事实上,FTP服务器几乎没有什么值得维护的地方,当你建立好一个FTP服务器以后,就可以甩手不管了,需要做的只有以下几点(并且几乎全部都是选做的):
1.定时清理指定的上传目录,分门别类的整理安放或者删除。其实就是日常的磁盘内容整理而已。
2.整理服务器的权限分配,建立或修改群组/用户的读写权限。
3.保持作为服务器的电脑散热状况良好。
4.检查并清理服务器的日志,看看有没有什么讨厌的家伙不请自来,对长期骚扰服务器的讨厌鬼实施永久的IP屏蔽。
5.定时重启一下服务器,给系统打打补丁,保持系统稳定快速运行。
呃,也许检查电脑是否沦为了肉鸡也算是一条,不过这并不在本文的探讨范围内……
5.高速高效高适应性
高速:
虽然大部分我们能够接触的FTP服务器似乎并不那么快速,但是那是因为建立和维护者必须考虑到同时有许多人下载/上传东西的时候整体的速度,所以不得不对单IP以及服务器整体的速度做出限制。
要知道,那些我们熟悉的FTP资源可是同时有成百上千的人在使用的!
我们后面也即将做类似的限制。
作为并非那么多人使用的小范围共享服务器,我们所要做的限制肯定不会那么严格,总体来讲,速度至少会比QQ文件传输和网络硬盘快的多!注意,是快得多!
高效:
高速自然催生高效,虽然那并不是绝对的相等,但不可否认的是,当远在异地的时候缺少某个文件带来的麻烦将不再存在——你可以让朋友或者别的什么人帮你上传到FTP,或者你干脆本来就保存在那上面……
同时,相比原始的用U盘交换文件,这玩意简直就是福音……至少你不用回家找东西了。
NAS看宣传似乎比传统古老的FTP好上不知几倍,可要知道,一台功耗差不多的节能小电脑,价格只是同性能级别NAS的1/2甚至更少!
再者,NAS是相当精贵的东西,虽然有着巨大容量,RAID等稀奇古怪有用没用的功能……
可是,咱们只是需要一个文件共享空间,1TB,2TB的空间,有意义么?又不是存放特别重要的数据(况且除了FTP上面的,本机的原始件谁会传完就删呢?),需要用到独立磁盘冗余阵列这种一听就知道灰常NB的技术么?
我认为没必要。
用最少的投入,最低的能耗,换取相当方便的文件存储和共享空间,我认为这才是非常划算的买卖。
高适应性:
这家伙不挑食,FTP服务器可以在几乎任何系统上搭建:
Windows系列,包括从98到最新的7和2008 RC2 (95我不清楚,虽然我觉得应该可以,但是不肯定,希望牛人指教!)
Linux内核的各种发行版。
Unix内核,Sun的Solaris,甚至Mac OS等等,都具有搭建FTP虚拟服务器的能力。
不过以上内容纯属炫耀俺知道的多,因为咱们只是要在Windows平台下搭建FTP而已……
三.需要些什么?
1.一台电脑。
不需要很高的配置,但是低功耗是必要的,Atom核心的便携式笔记本、迷你台式机都是高优先选择项,当然,这样做似乎性价比相对低了一些……
所以,我个人建议单独配置一台专用服务器。
处理器使用AMD或者Intel以节能为宣传口号的低价处理器,比如AMD系列编号后带有字母e的产品,或者Intel产品中和E2180同等价位的产品,他们常常兼顾了低功耗和低成本的特点。
——有条件和动手能力的可以尝试卸下处理器风扇,使用全铝或纯铜散热片散热,这样可以达到零噪声的效果!
显卡是不能要的,主板最好选用集成显示核心性能很差的老一代产品,虽然就别的方面看,似乎运作效率和功耗都比新工艺新制程的要不理想,可是新的集成显示核心这一个玩意就可以让功耗超出预期。
内存1G足矣。
硬盘按需配置,我认为最好配置单碟硬盘,希捷500G的.12系列是不错的选择,或者西数的320G绿盘。原因是单碟的功耗小,噪音小,速度快。注意,没有必要购置企业级硬盘!
光驱踢开,局域网ghost或者U盘/移动硬盘安装系统才是我们需要的。
电源是个比较严峻的问题。要求如下:
1.具有80Plus铜牌以上。通过至少一个国家级的安规标准和电磁兼容性测试。
2.总瓦数不得高于250W。
3.体积不得大于MicroATX板型机箱搭配的电源。
4.安全保护措施齐备,过流、过压、输入欠压、过热保护等。
——普通台机的低瓦数电源通常低价但是转换效率不佳。
——刀片服务器电源体积小,转换效率高但是噪声巨大。
——大型服务器电源的体积过大,价格不菲,况且少见低瓦数产品。
——Mini主板的电源似乎不错,但是挑选余地小,好产品难寻。
我认为能找着好的小机箱电源当然不错,如果是我的话,就会购买1U刀片机电源,拆开改造散热系统,做成开放式散热结构,利用一个14CM的超大风扇配合大面积铝散热片给整个机箱散热。
这样一来总投资约1100元(或许更低,如果在电源上妥协的话),别问我是怎么得出这个价格的,反正我买的话就是这个价格。
2.微软的操作系统。
如果想看非Windows下的,那就不用接着看了。
服务器版本为佳,比如2003、2008。我用的是2008桌面修改版,但是操作没有差异。
建议最低也得XP或者以上。
3.Serv-U 8.0.0.7 服务端安装程序。
老版本差异不是很大。甚至有人说版本6的稳定性最好,但是我对其安全性不抱期望,毕竟非常老了。
四.开始动手!
1.安装Serv-U,安装过程不再叙述。
2.创建域,打开Serv-U,第一次运行会自动弹出向导,跟着做即可。填写完域名称后下一步到底单击完成即可。
3.域创建完毕后会要求你新建一个账户,确认后弹出用户创建向导。
用户名和密码填写没有难度,只要注意用户名不要输入中文即可。
下一步到根目录填写的时候,需要注意的是根目录填写为"%Domain_home%"(引号内内容,不包含引号),这个意思是域的根目录。
其余保持默认,下一步选择权限,只读代表只能看和下载,而不能做任何修改,完全访问则表示你对自己电脑上的文件能干什么就对服务器上的文件能干什么。
完成后一个账户就创建成功了。
4.下面需要做的就是配置整个域的设置。
把鼠标移动到下放的“导航”上并单击主页,回到主页面,找到“域详细信息”下面的子项目“编辑域名和说明”,单击它。
在域根目录一栏里填入一个文件夹路径,最好新建一个专用的FTP目录。
最大尺寸代表向这个目录最大可以占用的空间,超过这个尺寸将上传失败。
设置完毕单击下方的保存按钮,接下来通过导航按钮回到主界面。
5.配置域的目录访问权限。
单击“目录”下的子项目“目录访问”。
只有在这个地方添加了访问权限才可以在登陆FTP以后见到。
必须添加的项目是前面设置的域根目录,点击下方的“添加”,在出现的对话框中找到路径输入框,输入%Domain_home%,其他保持不变并按“保存”。
现在已经可以通过在我的电脑的地址栏输入ftp://127.0.0.1访问了!
多嘴一句,关于上边的“虚拟路径”选项卡,其实一般情况下目录访问里面没必要添加其他路径,可是为何我这里会有如此多呢?
这就是虚拟路径的原因了。
在虚拟路径当中添加的文件夹和本地访问的位置完全不同,相当于“快捷方式”,可以把一个文件路径映射到FTP目录中!
而虚拟路径访问权限必须在目录访问中开通原始物理路径的权限。
可能是由于安全原因,被映射的如果是文件夹的话,就只有向深处第二层的访问权限,所以深入的访问必须在目录访问中逐个开启深层目录的权限,“子目录继承”是没用的。
好了,单就架设服务器这块来说,已经全部完成了,如果这时公网已经可以直接访问的话,就可以跳过这步,看最后对于服务器的限制相关内容了。
五.让服务器和公网畅通无阻
如果服务器和公网中间还夹着一层路由器的话,这时应当还不能直接访问到你的服务器,所以我们要打通这条道路。
方案一.在路由器上开启Upnp功能。
这样serv-u可以动态的开启需要用到的端口来对外通信,但是这个方法并不好。
方案二.在路由器上设置端口转发。
这是我使用的方法,在路由器上开启端口转发功能,将20和21端口映射到本机的20和21端口,同时还需要映射一组10个端口用来支持PASV模式。
在Serv-U上也需设置,在主页找到“服务器限制和设置”下面的子项目“维护服务器设置”,在“网络设置”块下面的PASV端口范围填入2000-2010.
这里可以自由设置,只要在1024以上的端口即可,一般情况下10个足够用了。需要注意的是,设置的端口号必须和在路由器上映射的端口相同。
方案三.在路由器上开启DMZ主机功能并且定向到服务器所在内网IP。
这是最简便的办法,缺点是会导致主机安全性下降,DMZ的功能就是将路由器所有收到的数据包不经过滤原样给目标一份,所以很容易会被扫出并尝试入侵。
个人不建议这么做,虽然服务器开启DMZ主机比较常见,但是路由器起到的堡垒主机的作用就失去了。
六.为了提高资源利用率,适当限制。
假若不加以限制,这点带宽资源只要接入用户稍一多,立马被吞噬的渣都不剩,所以有必要对其进行限制设置。
1.限制连接数。
以下设置内容全部在“限制和设置”下的子项目“创建并维护应用到域的限制”中完成。
双击“域链接的最大会话数”,确认后在新出现的对话框中变更设置。
根据需要来设,我设置的是30,因为是日常用电脑。作为专用服务器,可以适当拓宽上限,100左右吧。
而域中每个IP地址的最大会话数酌情设置5-10,否则当使用下载工具的时候服务器的负担会很重。
2.限制速度。
在限制类型下拉菜单中选择“数据传输”项
酌情设置“域最大下载速度”和“域最大上传速度”。
3.更好的中文支持
默认设置下用一些客户端访问可能产生中文出现乱码,无法上传下载的情况,进行如下设置。
进入“FTP设置”选项卡,点击定制按钮,在命令列表中找到“OPTS UTF8”,在上面单击鼠标右键,选择“禁用命令”。
接下来单击“全局属性”按钮,进入“高级选项”选项卡,取消“对所有已收发的路径和文件名使用UTF-8编码”前面的复选框的选中状态。
单击保存。
七.最后
好了,这篇繁琐冗长的文章终于结束了,第一次用这样的风格写文,不足之处还请提点~
总体来说,我个人感觉写的还是相当通俗的,整个过程全部完成的话,在没有更复杂的要求前是完全足够用了。
写的如此详细也是非常累人的活啊——甩着膀子感慨ing~