apache+webdav的安装配置

 

原始资料:http://www.howtoforge.com/setting-up-webdav-with-apache2-on-debian-etch

apache+webdav的安装配置

 
 
需求:
 
1.开启一个web服务,使得客户端能够像操作本地磁盘一样操作服务端某个文件目录下的文件
 

在服务器上安装配置apache+webdav模块说明:

服务端:

1.安装apache2+webdav
安装apache2:
sudo apt-get install apache2
激活webdav模块:
sudo a2enmod dav_fs
sudo a2enmod dav
ps:
禁用某个模块:
a2dismod ~
 
重启apache:
sudo /etc/init.d/apache2 force-reload
 
2.创建主机:

a.建立存放数据目录并给apache用户(www-data)该目录的权限
sudo mkdir -p /var/www/web1/web
sudo chown www-data /var/www/web1/web
 
b.然后回到默认apache虚拟机的配置(etc/apache2/sites-available/default)并创建我们自己的配置文件:
sudo mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig
sudo vim /etc/apache2/sites-available/default
 
文件内容为:(/var/www/web1/web/为我们刚刚创建的路径地址)
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/web1/web/
<Directory /var/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

</VirtualHost>
 
 

c.重启apache:
sudo /etc/init.d/apache2 force-reload
 

3.配置webdav的虚拟主机

现在创建web-dav为用户test存储密码的文件 ~/data-host/passwd.dav (-c表示若文件不存在,则创建)
sudo htpasswd -c /var/www/web1/passwd.dav test
此时系统会提示你为用户test设置一个密码
 
我们将在之后通过URL http://yourip/webdav去连接webdav,当你在windows XP 客户端 进行该操作时,输入用户名test,windows将该信息传输给 yourip\test
故我们现在创建第二个账号(不使用-c因为密码文件已存在)
sudo htpasswd /var/www/web1/passwd.dav 10.34.14.91\\test
 
为避免和第一个账号起冲突,这里使用两个斜杠?
 
现在,修改~/data-host/passwd.dav的权限使只有root和www-data群组成员可访问该文件
sudo chown root:www-data /var/www/web1/passwd.dav
sudo chmod 640 /var/www/web1/passwd.dav
 

现在,在/etc/apache2/sites-available/default
中修改我们的虚拟主机配置,加入下面几行:
[...]
Alias /webdav /var/www/web1/web

<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
</Location>
[...]
这里 Alias指令使得(与<Location>一起)当你请求/webdav,WebDAV被invoked,但你还是可以进入整个文档 。
所有其他的URLs依旧是普通的HTTP ...
最后虚拟机的配置文件/etc/apache2/sites-available/default完整内容如下:
NameVirtualHost *
<VirtualHost *>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/web1/web/
<Directory /var/www/web1/web/>
Options Indexes MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Alias /webdav /var/www/web1/web

<Location /webdav>
DAV On
AuthType Basic
AuthName "webdav"
AuthUserFile /var/www/web1/passwd.dav
Require valid-user
</Location>
</VirtualHost>


重启apache服务:
sudo /etc/init.d/apache2 reload
 
客户端配置:(Linux机器中的配置)
 
每台本地转码机的home目录下均需挂载
挂载到本地系统(local为挂载文件地址),在当前用户的home目录下即可
sudo apt-get install davfs2
sudo mount -t davfs http://localhost/webdav ./local
sudo chmod 777 local
 
转码结束后卸载挂载:(local为挂载文件)
sudo umount local
 
其它:
windows下仅需要添加网上邻居即可
 
posted @ 2012-01-17 13:27  AndreMouche  阅读(3942)  评论(0编辑  收藏  举报