参考资料: http://hi.baidu.com/wongxuelei/blog/item/cd32e62e6bc16c434ec22696.html
sudo a2enmod dav_fs
sudo a2enmod dav
sudo a2enmod dav_lock
mkdir /var/www/sync
4.创建用户名和密码
sudo htpasswd -c /var/www/pwd.dav test #其中test是用户名
5.修改配置文件
sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/default-backup #备份原始配置文件
sudo gedit /etc/apache2/sites-available/default
Alias /shared /var/www/sync #为刚创建的共享目录取个别名
<Location /shared>
DAV On #启动DAV
AuthType Basic
AuthName "testdav" #提供对外的服务名
AuthUserFile /var/www/pwd.dav #密码文件存放的路径
Require valid-user #指明要求校验用户
</Location>
#只有指明了要求校验用户,密码文件才用得到
我在配WebDav环境过程中,主要遇到以下几个问题,当时折腾的够呛,现写出来以作记录
参考资料:
Could not access /webdav/ (not WebDAV-enabled?):
405 Method Not Allowed
Connection to 'localhost' closed.
在网上查了些相关资料,都没能解决,后面在XP上通过网上邻居成功连接上webdav后,我才弄清楚,是因为地址不对的原因,正确的应该是cadaver http://localhost/shared/,是因为在配置文件中设置的Loctioan用的这个名字,这样就连接上了,进入dav的终端了,可以输入help查看相关命令,有get,put,edit,move等命令
如果是桌面版ubuntu,可以通过Places->Connect to Server...->Service Type选择WebDav(Http)后,输入url,和/shared,这个对应为整合配置的<Location /shared>,输入用户名test,最后Connect,输入密码,连接成功,在这个上面,增删改查都支持
1. http://www.gluster.com/community/documentation/index.php/Client_Installation_and_Configuration
2. http://www.gluster.com/community/documentation/index.php/Running_Apache_with_Glusterfs
大概看了一下,通过webdav挂载volume,首先要知道如何通过apache来访问volume:
1.直接在服务端将volume挂载到一个物理目录,然后将这个目录设成apache webdav的目录,然后windows通过网上邻居来建立一个http的webdav访问就行了,这一种方式和用samba方式类似,先将volume mount到一个物理目录,然后设置samba,将这个挂载目录export出去,这样windows就可以通过CIFS协议即网上邻居来访问
2.通过配置文件,将volume挂到一个虚拟的挂载点上,然后将此文件加到apache启动的环境变量中去
个人认为webdav的方式和用CIFS协议差不多,需要在GlusterFS服务端把volume挂载到一个物理目录,然后将这个目录放到apache中,才能实现它的通用跨平台性,如果是用glusterfs自带的协议或用nfs协议,是不用在服务端挂载的,但无法在windows上挂载,就算是在windows安装了win nfs客户端,只能挂载nfs服务端的共享目录,无法挂载volume,无法做到跨平台性