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 |
sudo a2enmod dav_fs sudo a2enmod dav |
ps:
禁用某个模块:
a2dismod ~
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 |
sudo mv /etc/apache2/sites-available/default /etc/apache2/sites-available/default_orig sudo vim /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> </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下仅需要添加网上邻居即可