一种基于 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
?
?
?
?