构建学生存储服务器


10

我在学区工作。我一直负责为学生构建存储服务器。他们可以在学校和家中工作的地方。

我的挑战是要在家中工作。在学校,他们登录,认证并获得映射的驱动器到服务器上的文件夹(S:\fileserver\studentname)。

我的问题是我该如何让学生在家中使用它?

该服务器正在运行Windows Server 2008 R2。我有PHP,Apache和MySQL一起工作。我的想法是编写一个脚本,该脚本将“爬网”包含所有学生文件夹的目录,然后在MySQL DB中创建每个文件和文件夹的实例。创建一个将使用LDAP进行身份验证的登录页面,一旦他们从家里登录到服务器,他们将获得一个页面,其中包含与用户名相关联的文件。

有没有人把这样的东西放在一起?


2
他们需要做什么?您的标题告诉我说他们只需要ftp登录就可以存储。完全的远程计算机访问权限=远程桌面连接。

1
FTP呢?
m4tt1mus 2011年

3
您的php / apache / mysql想法存在的问题是,它将为他们提供网页中的文件列表。他们单击/下载要处理的文件后,您将拥有2个版本,一个版本在您的服务器上,一个版本在学生家中的计算机上。那势必会导致很多问题。您将需要为学生创建某种虚拟驱动器。
jeroen

更不用说您将服务器主要数据开放到万维网的事实,这是您不应该做的事情,如果有人从php扎根,然后对您的数据说再见。
RobertPitt 2011年

您是否考虑过某种形式的CMS?如果他们只需要管理标准的办公室风格文档,则类似Alfresco的文档可能效果很好。
ErnieTheGeek 2011年

Answers:


18

如果您坚持要这样做(而不是使用@sweaves答案),那么我将从以下内容开始:

  1. 删除PHP,Apache和MySql。它们不是必需的,并且会引起自己的头痛。

  2. 启动并运行FTPS服务器。沿着这些思路,您可能会考虑转而使用Windows Server 2003来支持2008 R2。IIS 7具有更好的内置FTP项 。http://blogs.technet.com/b/chrisavis/archive/2008/06/12/how-to-configure-ftp-over-ssl-secure-ftp-on- Windows 2008中少于10分钟.aspx

  3. 如果您无法执行此操作,请查看此内容,了解如何设置File Zilla以与AD一起使用。 http://retrohack.com/enabling-filezilla-server-integration-with-active-directory-authentication/

  4. 另一个选择(感谢@jscott)是使用WebDav(http://www.iis.net/download/webdav)。这是另一所做同样的事情的学校:http : //kb.iu.edu/data/araf.html

  5. 您也可以设置“> SFTP服务器。SFTP支持无密码登录,但Windows尚不支持。

旁注,与IIS 7相比,filezilla解决方案是更多的管理工作。


2
SFTP而非FTP +1
RobertPitt

1
这绝对是要走的路。我有一个Linux系统基本上可以完成相同的工作-一个单一的存储区域,当学生在校园内时可以通过SMB进行访问,而在学生不在校园时可以通过SFTP进行访问。学生可以在校外使用WinSCPFileZilla客户端Fugu或任何使用SFTP的语言。
Mike Renfro

他说了什么...
Bart Silverstrim

4
您可能还想在其中添加WebDav。Windows用户可以轻松地将WebDav共享映射为驱动器号-OSX,Linux也具有不错的支持。即使学生的住所位于另一台服务器上,在IIS中进行配置也非常简单。
jscott 2011年

1
@jscott:我对Windows内置WebDAV支持的经验非常糟糕(特别是在XP下性能很差)。但是,如果它可以在其他环境中使用,我还没有尝试过,那就去吧。
Mike Renfro

11

一个简单得多的解决方案是设置VPN。然后,学生可以登录VPN并访问所有资源,就像坐在校园里一样。查看详细信息... http://lifehacker.com/162563/how-to-set-up-free-vpn


不要以为这可以在这里工作。我们必须让它工作,而不能在学生的家用计算机上安装任何东西。

4
@DobotJr:您意识到在没有VPN安全性的情况下,这是一个非常大的问题吗?您还意识到学生系统是其中最受黑客入侵的项目吗?
NotMe 2011年

那我建议部落。使您的服务器可以访问Internet并安装Horde,它是邮件和文件浏览器。将文件从用户本地共享映射到Web界面以进行下载/上传。

@sweaves生活黑客网站的链接很烦人,我建议您链接到另一个教程

@Dagon-啊,您的确是正确的,尽管通过compnetworking.about.com/od/vpnsetup/…

5

他们到底需要做什么?刚获得访问权限?如果您将其打开以使用FTP,那么您会遇到大问题。如果他们需要使用一致的工具来处理学校中的文档,请打开用于远程桌面服务的服务器(或群集)。

是的,如果他们没有远程桌面客户端(他们可能已经安装了),则需要安装该客户端,但是该客户端可免费用于Linux,Windows和Mac。连接已加密,他们可以访问您学校用于Office或其他工具的任何内容,除非您正在运行诸如Photoshop之类的繁重任务。

如果您使用RDP,则需要进行加密,可以在防火墙上打开一个端口,并且可以对实用程序进行标准化(没有“我在家做的,它工作正常,为什么不能在这里打开?”)集中管理。我已经看到类似的问题以这种方式解决了好几次,并且只有在特定情况下才出现问题。

另外,您没有让学生带着多份文档到处乱跑,抱怨他们不知道为什么他们的论文是错误的版本,因为它在家里可以用到FINE ...或者他们没有将其保存到正确的位置。 。等等。


3

WebDAV呢?

apache支持此功能,您仍然可以使用LDAP进行身份验证。

用户将能够通过浏览器访问其文件,而现代版本的Windows和OS X则允许用户分别在Explorer和Finder下安装WebDAV共享。

这也避免了与尝试在您的支持方法中与数据库同步存储不断变化的文件系统的状态有关的问题。


1

看一看Adito / OpenVPN ALS。它是免费的,可以在Windows或Linux上安装,并且非常容易设置文件共享和许多其他功能的Web界面。我在工作的大学使用它。它确实有一些缺点:它要求在客户端上安装Java,在许多浏览器上启动弹出窗口阻止程序,证书设置可能更容易,文件列表的页面视图可能更容易。如果您选择设置webdav,则可以使用它使用户更轻松(更可靠)地映射正确的驱动器。


1

就像其他人所说的-不要使用FTP-它有很多很多问题。OTOH,您可能应该使用不需要用户安装其他客户端软件的协议。尽管基于ssh的访问(sftp,scp)是理想的选择,但MSWindows机器并未标配客户端

没有文件管理器结束 PHP编写的(也可能是其他语言太)提供。IIS对NTLM权限进行隧道处理时,IIS会做一些非常奇怪的事情-但是,如果您使用的是Apache,它应该是相当安全的-但是,访问驱动器并不像从\ server \ username \中读取文件那样简单-您需要允许这些文件的Web服务器管理员权限-但这是安全噩梦!

我这样做的方式(对于非常不同类型的应用程序)是使用来自用户PHP会话的用户名/密码通过smbclient处理I / O-但这是在Linux计算机上-AFAIK,MSWindows上没有等效功能。

当然,您可能希望使用用户提供的凭据来对存储进行身份验证。

这正迅速变得可怕而复杂!

因此,一种实际的解决方案是允许学生在Internet上映射驱动器。这样,您就不必担心提供文件管理器的复杂性,而文件管理器不是操作系统的组成部分(即可以从应用程序直接访问)。但是,您不想将服务器公开给任何人和所有人。解决此问题的通常方法是使用VPN-并且有很多好的和低成本的。或仅通过客户端证书身份验证将服务包装在SSL中。但这又需要客户端安装。

所以.....

如何通过Web表单在IP地址上对用户进行身份验证,然后在防火墙中创建一个限时漏洞,以便该IP地址通过SMB连接(而且他们仍然需要提供用户名/密码来映射驱动器) 。


"there are many, many things wrong with [FTP]"-实际上,ftp仅有几处错误,但是它们确实很重要。;)最后都一样
Joel Coel11年

0

PS:就我个人而言,如果将系统移植到* nix,您会获得更高的成功率,因为​​(免费)可以使用更多替代方案

我想到的是:

投寄箱:

将更改上传到Dropbox。Dropbox的优点在于,它们提供20GB的免费套餐(现在),并且可以与所有流行的操作系统(Windows / Linux / MacOSX)一起使用,而不会遇到任何麻烦。我尚未使用Dropbox API阅读/实现任何内容,但希望您可以轻松完成。我想问题是当他们更改定价计划时会发生什么,但这是以后的事情。

开源Dropbox替代品

在执行快速Google搜索之后,此链接提供了一些开源替代方案,但是我不知道它们是否有什么用,因此您应该进行测试。

网页

与其给用户提供同步选项,不如给他们提供下载文件/文件夹(压缩文件)的机会。我认为您可以编写这样的系统而无需过多的抱怨。

VPN / RPC

就像其他一些用户所说的那样,允许用户使用VPN / RPC登录。


2
学生必须能够使用他们每天在学校使用的网络用户名和密码登录。这就是为什么它必须以某种方式与活动目录同步。因此,保管箱不是一个选择。不过谢谢
DobotJr 2011年

我认为您也许可以通过某种方式将这些凭据映射到保管箱凭据,但是先生,祝您好运。
阿尔弗雷德

0

看看Ajaxplorer(http://www.ajaxplorer.info

它是一个基于Web的文件管理器(用PHP和Javascript编写),可轻松管理权限,用户,组,并且您可以设置共享存储库以及个人存储库。

它还可以执行webdav并具有用于各种系统(ldap,mysql,flatfile .....)的身份验证连接器。

使用文件系统连接器,您可以设置规则以自动将用户帐户映射到各个目录,这将解决您访问用户映射驱动器的要求。

我们刚刚在这里开始使用它(设计/网络代理),并且所有技术水平的客户都觉得它非常易于使用/理解

您应该能够将其集成到当前系统中,而无需进行任何更改

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.