让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_v2_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-openssl=/root/lnmp1.4-full/src/openssl-1.0.2l

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

wget https://github.com/arut/nginx-dav-ext-module/archive/v0.1.0.zip
unzip v0.1.0.zip
mv nginx-dav-ext-module-0.1.0 nginx-dav-ext-module
git clone git://github.com/yaoweibin/ngx_http_substitutions_filter_module.git

安装依赖

apt-get install libexpat-dev -y

好了,重新编译.

cd /root/lnmp1.4-full/src/nginx-1.12.1
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-http_sub_module --with-openssl=/root/lnmp1.4-full/src/openssl-1.0.2l --add-module=/root/ngx_http_substitutions_filter_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;

发表评论

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