我用php开发的webdav协议的软件phpdav

若是你是一个网站服务器管理员或者web应用开发者、我的站长,你平时管理你的开发机或者网站服务器,上传网站代码或者各种应用文件,可能都是使用诸如cuteftp、xftp、winscp之类的工具软件这样作:php

左边本地文件目录视图,右边远程服务器文件目录视图,而后各类拖拽操做。如今我来提供一种不管你本地电脑用的是windows仍是mac本都不须要另行安装任何第三方工具软件就能够管理远程服务器文件目录的方式——把你要管理的远程服务器文件目录挂载成一个本地电脑硬盘。node

一个demo用来讲明一切nginx

网络访问地址:https://cloud.httpsdav.clubgit

登陆用户名:liuzhonglianggithub

密码: liuzongliangweb

我如今用https://cloud.httpsdav.club这个网络地址映射的是我一个vps网络服务器的/home/phpdav/mycloud的目录。windows

挂载成为本地windows电脑的步骤以下:bash

一、点击桌面“这台电脑”(win7下应为“计算机”)服务器

二、点击计算机里的“映射网络驱动器”网络

3. 弹出窗口内文件夹输入框内填写映射的网络地址

四、点击完成,弹出窗口内输入用户名和密码

点击肯定后,看到是否是个人电脑里多出了一块硬盘?

 

那服务器端如何配置的?

能够从github上得到我用php开发的代码

https://github.com/xinghanking/phpdav

修改 conf/config.ini.php 文件

$cloud_root = null;

为你要映射的服务器目录地址,注意要给你的php-fpm的执行用户读写执行权限

例如你的php-fpm的执行用户为phpdav用户组phpdav, 你映射的目录地址为/home/phpdav/mycloud

建议你这样作:

chown  -R phpdav:phpdav /home/phpdav/mycloud

chmod -R 700  /home/phpdav/mycloud

nginx配置参考

server {
    listen       443 ssl;
    server_name  cloud.httpsdav.club 167.179.111.224 2001:19f0:7001:12e9:5400:2ff:fe02:a361;

    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;
    client_max_body_size          0;
    client_body_in_file_only      clean;
    client_body_in_single_buffer  on;
    
    auth_basic            "login test";
    auth_basic_user_file  passwd.txt;
    location / {
        root                          /home/phpdav/phpdav/interface;
        rewrite                       .*  /index.php break;
        fastcgi_pass                  unix:/home/phpdav/phpdav/server/run/php-cgi.sock;
        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;
        include                       fastcgi.conf;
    }
}

你须要注意的root配置项,指向的目录是项目代码里的interface目录,你从github上获取了个人项目代码,会很快找到这个目录

还有rewite配置项,不管访问url为什么,通通重写指向interface目录里的index.php,个人入口文件。

另:我还写了一个我这个项目软件的很是自动install.sh安装脚本,打算在完善下在进行介绍。

相关文章
相关标签/搜索