LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 560|回复: 0

搞定了Ubuntu5.10下使用WebDAV

[复制链接]
发表于 2006-6-18 23:00:37 | 显示全部楼层 |阅读模式
首先来认识一下WebDAV:
What is WebDAV?
Briefly: WebDAV stands for "Web-based Distributed Authoring and Versioning". It is a set of extensions to the HTTP protocol which allows users to collaboratively edit and manage files on remote web servers.
WebDAV(Web 分布式创作和版本控制)可以在不需要使用FTP的条件下,让远程的用户可靠且安全地操控特定的文件,以执行如新增、删除或更新文件任务。Microsoft Office 2000 Web 文件夹后面的协议就是WebDAV。
1.使用apt-get 安装apache2
  1. mike@ubuntu:~$ sudo apt-get install apache2 apache2-common apache2-utils
复制代码
[separator]
2.启用dav
Ubuntu上的apache2安装后的结构似乎与RedHat上的很不相同。主配置文件存放于/etc/apache2目录下,文件名为apache2.conf,所有附带的mod存放于/etc/apache2/mods-available目录下,如果需要启用某一mod应将mods-available下的文件做一软链接至mods-enabled下。apache2在默认安装完成的情况下是只启用了cgid和userdir,其它的mod并没有启用,所以我们需要做以下步骤:
  1. mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav.load /etc/apache2/mods-enabled/dav.load
  2. mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav_fs.load /etc/apache2/mods-enabled/dav_fs.load
  3. mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav_fs.conf /etc/apache2/mods-enabled/dav_fs.conf
复制代码
注意在apache2.conf有这三行
  1. # Include module configuration:
  2. Include /etc/apache2/mods-enabled/*.load
  3. Include /etc/apache2/mods-enabled/*.conf
复制代码
所以不用再写LoadModule语句,为什么?查看dav_fs.load和dav.load这两个文件就是LoadModule。不只是这一点,其它的httpd.conf, port.conf, sites-availabe, sites-enable都是include进来的,似乎这样整理后的Apache里配置起来明晰得多,不像以前在一个httpd.conf里改来改去,很容易搞乱。
3.设置DAV Lock
DavLock为WEB访问不到并且Apache有权限修改的文件。这一步骤不需要做的,写在这里,只是想和以前的版本做个比较。
在Apache 1.3中,通常是设置/usr/local/apache/var/DAVlock,今天安装的时候发现根本找不到这个目录,查看dav_fs.conf
  1. mike@ubuntu:/etc/apache2/mods-available$ cat dav_fs.conf
  2. DAVLockDB /var/lock/apache2/DAVLock
  3. mike@ubuntu:/etc/apache2/mods-available$ ls -l /var/lock/apache2/DAVLock
  4. -rwxr-xr-x  1 www-data www-data 12288 2006-06-18 16:34 /var/lock/apache2/DAVLock
复制代码
又不相同了,既然dav_fs.conf文件里已经设置好了,也就不用在httpd.conf里重复。
4.创建测试目录
  1. mike@ubuntu:/etc/apache2$ cd /var/www/apache2-default/
  2. mike@ubuntu:/etc/apache2$ sudo mkdir dav-test
  3. mike@ubuntu:/etc/apache2$ sudo chown www-data.www-data dav-test
复制代码
在httpd.conf文件中加入指令区域,以启用此目录的WebDAV功能:
  1. <Directory "/var/www/apache2-default/dav-test">
  2.         Dav On
  3. </Directory>
复制代码
5.测试WebDAV
检查一下配置文件没有问题后重启apache服务器
  1. mike@ubuntu:~$ sudo apache2ctl configtest
  2. Syntax OK
  3. mike@ubuntu:~$ sudo apache2ctl restart
复制代码
我使用Nautilus来测试
a) 双击桌面上Computer图标,出现Nautilus File Browser窗口
b) 单击File菜单下的Connect to Server ... 项目
c) 在弹出的对话框中选择对应设置,见下图

单击connect连接服务器,这时可以看到桌面上和Nautilus左侧栏同时出现一个dav-test on localhost的文件夹图标,和操作普通的文件夹一样,可以复制粘贴、删除。
6.给文件夹添加访问控制
此项功能即与Apache的htpasswd控制相同,首先建立用户和密码
  1. mike@ubuntu:/var/www/apache2-default$ sudo htpasswd -c .htpasswd wardking
  2. Password:
  3. New password:
  4. Re-type new password:
  5. Adding password for user wardking
复制代码
在刚才设置的httpd.conf中的Directory中添加以下内容:
  1. AuthType Basic
  2. AuthName "DAV"
  3. AuthUserFile /var/www/apache2-default/dav-test/.htpasswd
  4. Require user wardking
复制代码
重启apache2,再次访问dav-test on localhost或者使用firefox访问http://localhost/dav-test,输入用户名与密码
参考资料:O'Reilly Apache Cookbook, wirtted by Ken Coar & Rich Bowen
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表