让Nginx支持WebDAV

之前服务器使用LNMP一键安装的,我们需要重新编译nginx.
查看之前的编译参数

nginx -V

之前的参数是这样

--user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --add-module=/root/ngx_http_substitutions_filter_module --with-http_spdy_module

编译时加入“–with-http_dav_module”可以启用对WebDav协议的支持,但要让功能完整,支持客户端的操作,还要引入另一个模块:ngx-dav-ext-module
下载模块

wget https://github.com/arut/nginx-dav-ext-module/archive/v0.0.3.zip
unzip v0.0.3.zip
mv nginx-dav-ext-module-0.0.3 nginx-dav-ext-module

安装依赖

apt-get install libexpat-dev -y

好了,重新编译.

cd /root/lnmp1.1-full/nginx-1.6.2
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --add-module=/root/ngx_http_substitutions_filter_module --with-http_spdy_module --with-http_dav_module --add-module=/root/nginx-dav-ext-module
make
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old
cp objs/nginx /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -t
make upgrade
/etc/init.d/nginx restart

编辑相应的nginx location,添加如下三行

dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access group:rw all:r;

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注