我用php开发了一个webdav协议的软件phpdav
github地址:
https://github.com/xinghanking/phpdav
功能作用介绍:
https://blog.csdn.net/lzl198294/article/details/90173563
安装说明
运行环境要求:
- php5.6 以上版本;
- nginx1.11.0 以上版本(建议) ;
安装步骤:
- 从git上获取全部代码文件,放置在你要运行phpdav代码文件的目录下,如: /home/work/phpdav
- 修改 conf/config.ini.php 里
$cloud_root = null;
为你要映射的目录地址,
注意要给你 php 的执行用户读写执行权限 ,
如你的php运行用户及用户组为work,work
你要映射的目录为/home/work/mycloud
建议你可以这样做
chown -R work:work /home/work/mycloud
chmod -R 700 /home/work/mycloud
3. 修改nginx配置,请参考
server {
listen 443 ssl;
server_name cloud.httpsdav.club;
ssl_certificate ssl/phpdav.crt;
ssl_certificate_key ssl/phpdav.key;
ssl_session_timeout 5m;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
access_log /home/phpdav/phpdav/logs/nginx/access.log main;
charset utf-8;
sendfile on;
tcp_nodelay on; #关闭Nagle算法,数据包直接发送
client_max_body_size 0; #不限制body大小
client_body_in_file_only clean; #连接断开后清除储存的临时数据文件
client_body_in_single_buffer on;
location / {
root /home/work/phpdav/interface;
rewrite .* /index.php break;
fastcgi_pass 127.0.0.1:9000;
fastcgi_keep_conn on;
fastcgi_limit_rate 0;
fastcgi_request_buffering on;
fastcgi_cache_revalidate on;
fastcgi_pass_request_headers on;
fastcgi_force_ranges on;
fastcgi_connect_timeout 600s;
fastcgi_read_timeout 600s;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_ID $request_id;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param REQUEST_BODY_FILE $request_body_file;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REQUEST_SCHEME $scheme;
fastcgi_param HTTPS $https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE phpdav-1.0;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
}
}
你可以直接将以上配置复制到你的nginx.conf的http配置项内,
只需要修改里面的 listen、server_name、 root 、 fastcgi_pass配置项
如果不开启ssl ,可以删除里面的ssl部分相关配置项,如果要开启ssl,请修改以上ssl部分的ssl_certificate、ssl_certificate_key配置项
如果你使用的nginx是低于nginx1.11.0版本,请将
fastcgi_param REQUEST_ID$request_id;
行去掉,因为 $request_id 是在nginx1.11.0版本加入的
4 . 重启nginx
然后用你的本地电脑挂载你的服务器目录试试吧?