WebDAV:Linux平台下搭建基于HTTP的协作平台
创始人
2024-07-24 21:20:21
0

【51CTO精选译文】编者按:随着办公方式的灵活化,各个企业当下对在线协作的需求也各有不同。企业内部协作通常采用FTP服务器或微软SharePoint等平台实现,但是长距离的在线协作,则往往需要通过HTTP实现。以下介绍在Linux平台下搭建远程协作平台的协议:WebDAV。

WebDAV协议允许用户通过HTTP保存和共享文件,这是一个非常有价值的突破,因为HTTP通常是只读的,除了访问文档外,用户可以编辑和重新上传它们,你可以将其理解为一种基于HTTP的网络文件系统,或一种支持长距离文件协作的方法。WebDAV协议支持文件锁和版本控制,因此,当你访问到WebDAV文件夹后,你就可以编辑文件,不用担心会覆盖其他人的编辑成果。时至今日,虽然在线协作的方法越来越多,但WebDAV在文件共享方面仍然有它的用处,特别是有很多的服务器和客户端软件支持它。

WebDAV在线协作

和FTP不一样,HTTP提供强认证和加密,以及缓存和代理支持,因为WebDAV是工作在HTTP之上的,因此它也可以利用HTTP的这些特性,SSH可能是另一种选择,但SSH在移动文件方面有一些限制,并且也没有那么多客户端默认就支持它。

WebDAV和Apache2

Apache服务器通过加载ismod_dav可以支持WebDAV文件夹,在Debian或Ubuntu上,输入下面的命令开启这个功能:

a2enmod dav
a2enmod dav_fs
/etc/init.d/apache2 restart

Mod_dav为服务器添加了WebDAV功能,mod_dav_fs提供后台支持,允许访问服务器文件系统中的资源,更多关于dav和dav_fs的详细信息,请参考Apache的帮助手册。

你也可以设置通过WebDAV可以访问的文件夹,如:


Dav On

Order Allow,Deny
Allow from all

AuthType Digest
AuthName WebDAV-Realm

AuthUserFile "/usr/var/webdav.passwd"

require user juliet

这里最重要的一行是Dav On,它将这个目录转换成一个WebDAV文件夹,剩下的部分都是对这个目录设置的安全访问限制,在任何目录上开启WebDAV功能之前,最重要的是设置认证,否则就会存在很大的漏洞,这里使用了MD5 Digest认证,将访问权限制到用户名,你也可以使用require valid-user。

为了允许别人写入你的目录,你需要修改它的权限,注意,Apache用户必须能够写入这个目录,再提醒一下,一定要注意安全问题,最好将WebDAV目录和你的网站文件适度地分开。

如果要手动设置WebDAV,你需要在Apache配置文件中添加下面的内容:

LoadModule dav_module /usr/lib/apache2/modules/mod_dav.so
LoadModule dav_fs_module /usr/lib/apache2/modules/mod_dav_fs.so
DAVLockDB ${APACHE_LOCK_DIR}/DAVLock

然后重启Apache,再设置你要共享的目录。

客户端DAV

虽然DAV通常由Web服务器提供,但Web浏览器不是访问它的最佳渠道,大多数时候,你得到的是一个目录列表(如果你已经在Apache设置中开启这个功能),只能读取或下载文件,不能编辑或上传文件。

如果你想图形化访问,Nautilus和Konqueror文件浏览器都内置了对WebDAV的支持,使用dav://server.example.com/juliet打开文件夹(需要用户名和密码),现在你应该能够编辑和上传文件了,如果不行,可能需要检查一下服务端的目录和文件权限设置。

另一个WebDAV客户端是cadaver,它是一个纯命令行客户端,它的工作方式和FTP客户端差不多,使用下面的命令建立一个连接:

cadaver http://juliet.example.com/myfolder

当然,这里也是需要用户名和密码的,进入指定文件夹后,你就可以使用get(或mget) filename下载文件,或put(或mput) filename上传文件了,cadaver也允许你编辑文件的元数据,而Nautilus和Konqueror则不行。还有一个办法是使用fusedav(Debian或Ubuntu中已包含)作为普通文件系统的一部分访问WebDAV目录,你需要使用adduser username fuse将你的用户添加到fuse用户组,记住,一定要退出重新登录才会生效,然后使用:

fusedav http://juliet.example.com/myfolder localfolder

打开远程目录,将其挂载为本地文件夹(localfolder),注意这个目录必须事先创建好。

使用WebDAV还可以做到更多

除Mod_dav_fs允许你使用服务端目录系统提供WebDAV文件外,还有其它模块也行,如mod_dav_svn,它可以通过Apache提供一个Subversion仓库,如果你要这么做,你还需要加载mod_dav_lock模块(mod_dav_fs不需要锁模块,因为它有自己的锁)。因为WebDAV是一个开放的协议,如果需要,你还可以用它做更多的事情。

原文:http://www.serverwatch.com/tutorials/article.php/3929346/article.htm

【编辑推荐】

  1. 渠道调查:2011企业通信与协作市场被看好
  2. 微软发布统一通信与协作平台Lync挑战思科
  3. 一位微软MVP的SharePoint 2010体验笔记

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...