宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

宝塔面板29字数 3659阅读模式

YukiDrive支持Onedrive & SharePoint 文件浏览程序,支持国际版和世纪互联版。后端采用 .net core 3.1,前端使用 Vue ,前后端分离,无刷新加载。

无需搭建运行环境,下载并配置完成后直接运行。这篇文章就来说说如何利用宝塔面板来搭建YukiDrive

1、介绍

  • 项目:https://github.com/YukiCoco/YukiDrive
  • 安装:https://github.com/YukiCoco/YukiDrive/blob/master/doc/Usage.md
  • 作者提供的Demo:https://drive.yukino.co/
  • 大鸟搭建的demo:https://oda.fdao.xyz/
  • 下载:https://github.com/YukiCoco/YukiDrive/releases

2、准备

  • 宝塔面板最新版本
  • NGINX1.17
  • 解析好的域名
  • 新建一个站点(宝塔新建站点,就多说了)

3、获取 ClientId 与 ClientSecret

3.1 登录Azure:https://portal.azure.com/ 或 https://portal.azure.cn/ (世纪互联)

3.2 点击 Azure Active Directory / 应用注册 / 新注册

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

3.3 名字任意取,账户类型为 任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户,重定向URL为 https://你的域名/api/admin/bind/new

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

3.4 点击 概述,记录应用程序(客户端)ID,即为 ClientId

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

3.5 点击 API 权限 / 添加权限 / Microsoft Graph / 委托的权限。勾选 Files.ReadWrite.All 和 Sites.ReadWrite.All

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

图示只勾选了 一个,Sites.ReadWrite.All 如法炮制。

3.6 点击 证书和密码 / 新客户端密码,创建密码并记录为 ClientSecret

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

4、部署

4.1 新建站点

  1. 创建网站,设置为纯静态。
  2. 绑定域名并申请证书,开启 https

4.2 下载YukiDrive

下载程序到网站根目录。目前的最新版本下载地址:

https://drive.yukino.co/api/files/onedrive/YukiDrive/WebApi/1.1.1/YukiDrive-1.1.1-linux-x64.zip

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

下载之后解压。宝塔如何在面板解压略过。

4.3 配置 appsettings.json

从解压后的文件目录中找到 appsettings.json 并修改。宝塔面板的的配置如下:

{
  "Logging": {
    "LogLevel": {
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "AllowedHosts": "*",
  "ConnectionString": "Data Source=YukiDrive.db;",
  "ClientId": "刚刚面申请到的客户id",
  "ClientSecret": "客户密钥",
  "ListeningUrls": "http://*:1273",
  "Certificate" : {
    "Enable" : false,
    "FilePath" : "",
    "Password" : ""
  },
  "BaseUri":"你的域名",
  "Proxy":"",
  "Type":"Global",
  "AccountName": "你的 Office账户名",
  "DominName": " SharePoint 域名",
  "AdminName" : "网站后台的账户",
  "AdminPassword": "网站后台的密码"
}

宝塔修改的备注:

  • ClientId 与 ClientSecret 填写在上一步所得值
  • ListeningUrls 和 Certificate 与 https 证书有关,下一步再讲
  • BaseUri 修改为你的域名,有端口必须带上端口号,必须使用 https
  • Type 为你的 Office 账户地区,可选择为
  1. China 世纪互联
  2. Global 国际版
  • AccountName 为你的 Office账户名,如:Sakura@yukistudio.onmicrosoft.com
  • DominName 为你的 SharePoint 域名,登录 SharePoint 就能在浏览器地址栏看到,如:yukistudio.sharepoint.com
  • AdminName 和 AdminPassword 为网站后台的账户和密码、
  • 删除 ListeningUrls 下的 https://*:1272
  • 将 Certificate 的 Enable 修改为 false

4.4 网站配置文件修改

删除网站配置文件如下代码:

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log off;
        access_log /dev/null;
    }

4.5 网站目录修改

在网站设置→网站目录 中修改网站目录为:

/www/wwwroot/你的域名/YukiDrive/wwwroot

修改之后保存。

4.6 设置反带

宝塔面板设置反带,网站设置→反向代理按照如图设置:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

4.7 启动程序

配置完成后,跳转到程序目录执行 ./YukiDrive 就开始运行了。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

4.8 效果

浏览器中域名打开即可访问,未绑定之前直接访问域名会显示 出现错误:undefined 不必理会。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

5、启动并登录后台绑定账户

5.1 绑定账户

请先确认站点的 https 可用再进行下一步操作。

在浏览器中访问 https://你的域名/#/login 登录,进入后台后找到 SharePoint 账户,点击认证后登录你的微软账户。认证完成后会跳转回后台,此时将会显示为已认证。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

认证和安装oneindex基本差不多,输入账号密码登录授权即可,丢一张图。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

5.2 Centos 7.x 认证后跳转回调地址出现 500

解决方案:

查看 OPENSSLDIR 路径 $ openssl version -a
然后把 CentOS 默认的 openssl CA证书拷贝过来。$ cp /etc/pki/tls/cert.pem /usr/local/openssl/

6、添加 Onedrive

点击添加站点,站点名称填写为 onedrive ,显示名随意。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

图示是已经添加好的之后效果。我们回到首页,即可看到效果,如图:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

可以直接上传文件。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

7、守护程序进程

在 Linux 上的程序仅运行于本地账户,退出即关闭,应该将其注册为服务以便能够开机自启和出错重启,做一些修改后复制下列整条语句到控制台执行!宝塔面板安装设置的代码如下:

此处为隐藏的内容
发表评论并刷新,方可查看

7.1 启动服务

systemctl enable YukiDrive.service
systemctl start YukiDrive.service

7.2 查看服务状态

systemctl status YukiDrive.service

显示以下语句即为正常运行,如图:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

7.3 退出服务

systemctl stop YukiDrive.service

8、添加SharePoint

首先说说sharepoint添加站点,这里简单说说。

7.1 SharePoint 创建网站

登录:https://www.office.com/

登录之后,选择sharepoint,如图:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

登录之后,创建网站,如图:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

根据需要创建网站,记住站点名称。

7.2 后台设置

点击添加站点,站点名称填写为 SharePoint 创建网站时所填写的站点名称(建议创建为英文字符),显示名随意。

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

提交成功后的效果截图:

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

7.3 前台效果

宝塔面板安装YukiDrive – 支持Onedrive & SharePoint文件浏览程序

8、最后

YukiDrive的常规安装非常繁琐,喜欢尝鲜的可以试试,不过这个ui我到是挺喜欢的,而且功能也非常不错。支持图片和视频的预览和在线播放。主要特点如下:

  • .Net Core 多线程高并发
  • 前后端分离,无刷新加载
  • 可挂载 OneDrive 和任意多个 SharePoint 站点
  • 提供文件上传 CLI
  • 上传文件
    • 无大小限制
    • 由 浏览器&CLI 直接对微软服务器上传,不消耗流量

weinxin
我的微信
微信公众号
关注大鸟博客公众号
 最后更新:2020-5-10
大鸟
评论  29  访客  27  作者  2
    • 大鸟
      大鸟

      自己做个沙发,这个没人玩?[吃瓜……] :cool:

      • mickey
        mickey 3

        为什么认证不了,看看代码

        • mickey
          mickey 3

          认证失败
          登录
          抱歉,登录时遇到问题。

          AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: ’02e1db41-d4d7-4c34-a682-cd0fd36d87d3′.

            • 新丰
              新丰 3

              @ mickey 我也是卡在这一步 每一个步骤都检查过没有遗漏. 网上也没有找到什么好办法

            • 单独
              单独 1

              认证失败
              登录
              抱歉,登录时遇到问题。

              AADSTS50011: The reply URL specified in the request does not match the reply URLs configured for the application: ’02e1db41-d4d7-4c34-a682-cd0fd36d87d3′.

                • 大鸟
                  大鸟

                  @ 单独 额,没设置好。感觉应该是重定向url没设置好。

                • 芜零α
                  芜零α 0

                  站点绑定提示找不到 SharePoint

                  • Zh.B
                    Zh.B 3

                    有点复杂

                    • Zh.B
                      Zh.B 3

                      在 Linux 上的程序仅运行于本地账户,退出即关闭,应该将其注册为服务以便能够开机自启和出错重启,做一些修改后复制下列整条语句到控制台执行!宝塔面板安装设置的代码如下: 这个在宝塔面板咋操作?

                      • summersnow
                        summersnow 4

                        有点复杂,正在学习

                        • Mr.Two
                          Mr.Two 0

                          教程详细啊,已经搭建成功了,感谢!

                          • 二鸟
                            二鸟 0

                            成功安装,看看代码

                            • GCC
                              GCC 1

                              感谢大佬分享教程,已经搭建成功了

                              • rome
                                rome 2

                                请问一下 我到设置反向代理这一步 卡了 不使用反向代理 能显示网页但是登录显示错误 若使用反向代理 出现 界面是 目前无法处理此请求

                                • colin
                                  colin 0

                                  谢谢你的教程

                                  • design
                                    design 1

                                    点击认证的时候,提示该网页无法正常运作是什么问题啊。根本不弹出登录授权界面

                                    • xxx
                                      xxx 1

                                      搞定了,就是因为证书问题导致的

                                      • syx
                                        syx 0

                                        来学习一下

                                        • 新丰
                                          新丰 3

                                          前来学习!

                                          • 新丰
                                            新丰 3

                                            认证失败 :cry: :cry: :cry:

                                            • YukiDriver
                                              YukiDriver 0

                                              开心可惜没有防盗链和目录加密

                                              • Seandor
                                                Seandor 9

                                                感谢博主,试试这个列表!!

                                                • comeheres
                                                  comeheres 9

                                                  看着有点啰嗦啊,不过还是试试!!

                                                  • qqq
                                                    qqq 1

                                                    感谢分享

                                                    • sss
                                                      sss 1

                                                      感谢分享

                                                      • 佛系软件
                                                        佛系软件 2

                                                        大神有个问题想问问,这个用什么数据库啊,db还是mysql,还是用json报文,不然备份数据很麻烦。

                                                        • 小不为
                                                          小不为 1

                                                          部署完成了

                                                          • 11111d
                                                            11111d 5

                                                            过来看看

                                                            • 月下
                                                              月下 1

                                                              看一下

                                                            匿名

                                                            发表评论

                                                            匿名网友

                                                            :?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

                                                            确定