当前位置: 代码迷 >> Web前端 >> apache中webdav的配备
  详细解决方案

apache中webdav的配备

热度:406   发布时间:2012-07-26 12:01:08.0
apache中webdav的配置

一种基于 HTTP 1.1协议的通信协议.它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制。我们这里主要是讲如何将maven生成的站点上传到apache的webdav目录下,以及如何访问

下面是具体的实现步骤:

1 加载Dav Module
注:我的Apache是默认安装在系统的/etc/apache2下面,如果你指定了其它的安装路径,请相应做修改.
在对Apache进行编译时已经开启了dav的设置,或通过以下命令将Dav Module开启:

sudo a2enmod dav 
sudo a2enmod dav_fs

?

2 配置WebDav
在/etc/apache2/conf.d/新建一个projects.conf的文件,文件配置如下:

?

<IfModule mod_dav.c>
   LimitXMLRequestBody 131072
   <Location /projects/>
      Dav On
      Options Indexes FollowSymLinks
      Order Allow,Deny
      Allow from all
      AuthType Basic
      AuthName DAV-upload
      AuthUserFile /etc/subversion/passwd 
???? <LimitExcept GET PROPFIND OPTIONS REPORT>
         Require valid-user
      </LimitExcept>
   </Location>
</IfModule>

其中几个参数需要说明一下:

<Location /projects/>

这个文件路径是文件上传的系统路径,apache2默认的系统路径为/var/www,所以这里的配置是说明文件上传及访问的绝对路径为:/var/www/projects

?

      AuthUserFile /etc/subversion/passwd 

这个是上传与下载文件所需要的认证信息。我这里是直接使用的subversion的及用户名密码,如果需要重新创建通过以下步骤来完成:

?

您需要创建 /etc/subversion/passwd 文件(如果没有安装subversion,也可以创建在其它任何位置上,如:/var/www/passwd),该文件包含了用户授权的详细信息。要添加用户,您可以执行下面的命令:

sudo htpasswd -c /var/www/passwd user_name

它会提示您输入密码,当您输入了密码,该用户就建立了。“-c”选项表示创建新的/etc/subversion/passwd文件,所以user_name所指的用户将是文件中唯一的用户。如果要添加其他用户,则去掉“-c”选项即可:

sudo htpasswd /var/www/passwd other_user_name


4 创建目录及权限设置

现在我们在/var/www/下面创建一个projects文件夹:

sudo mkdir projects

?创建完成以后,目录的用户将是root,权限为drwxr--r--。也就是只有root用户可以修改。但我们上传文件都是通过www-data,这样的用户来完成的,所以要修改目录的权限,让www-data用户组能够修改该目录:

#cd  /var/www
#sudo chown www-data:www-data projects
#sudo chmod 777 uploads

完成上述操作以后,重新启动apache2

sudo /etc/init.d/apache2 restart

?

?

?

?

  相关解决方案