|
首先来认识一下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- 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并没有启用,所以我们需要做以下步骤:- mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav.load /etc/apache2/mods-enabled/dav.load
- mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav_fs.load /etc/apache2/mods-enabled/dav_fs.load
- mike@ubuntu:~$ sudo ln -s /etc/apache2/mods-available/dav_fs.conf /etc/apache2/mods-enabled/dav_fs.conf
复制代码 注意在apache2.conf有这三行- # Include module configuration:
- Include /etc/apache2/mods-enabled/*.load
- 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- mike@ubuntu:/etc/apache2/mods-available$ cat dav_fs.conf
- DAVLockDB /var/lock/apache2/DAVLock
- mike@ubuntu:/etc/apache2/mods-available$ ls -l /var/lock/apache2/DAVLock
- -rwxr-xr-x 1 www-data www-data 12288 2006-06-18 16:34 /var/lock/apache2/DAVLock
复制代码 又不相同了,既然dav_fs.conf文件里已经设置好了,也就不用在httpd.conf里重复。
4.创建测试目录- mike@ubuntu:/etc/apache2$ cd /var/www/apache2-default/
- mike@ubuntu:/etc/apache2$ sudo mkdir dav-test
- mike@ubuntu:/etc/apache2$ sudo chown www-data.www-data dav-test
复制代码 在httpd.conf文件中加入指令区域,以启用此目录的WebDAV功能:- <Directory "/var/www/apache2-default/dav-test">
- Dav On
- </Directory>
复制代码 5.测试WebDAV
检查一下配置文件没有问题后重启apache服务器- mike@ubuntu:~$ sudo apache2ctl configtest
- Syntax OK
- 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控制相同,首先建立用户和密码- mike@ubuntu:/var/www/apache2-default$ sudo htpasswd -c .htpasswd wardking
- Password:
- New password:
- Re-type new password:
- Adding password for user wardking
复制代码 在刚才设置的httpd.conf中的Directory中添加以下内容:- AuthType Basic
- AuthName "DAV"
- AuthUserFile /var/www/apache2-default/dav-test/.htpasswd
- Require user wardking
复制代码 重启apache2,再次访问dav-test on localhost或者使用firefox访问http://localhost/dav-test,输入用户名与密码
参考资料:O'Reilly Apache Cookbook, wirtted by Ken Coar & Rich Bowen |
|