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 / 应用注册 / 新注册
3.3 名字任意取,账户类型为 任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户
,重定向URL为 https://你的域名/api/admin/bind/new
3.4 点击 概述,记录应用程序(客户端)ID,即为 ClientId
3.5 点击 API 权限 / 添加权限 / Microsoft Graph / 委托的权限。勾选 Files.ReadWrite.All
和 Sites.ReadWrite.All
图示只勾选了 一个,Sites.ReadWrite.All
如法炮制。
3.6 点击 证书和密码 / 新客户端密码,创建密码并记录为 ClientSecret
4、部署
4.1 新建站点
- 创建网站,设置为纯静态。
- 绑定域名并申请证书,开启 https
4.2 下载YukiDrive
下载程序到网站根目录。目前的最新版本下载地址:
https://drive.yukino.co/api/files/onedrive/YukiDrive/WebApi/1.1.1/YukiDrive-1.1.1-linux-x64.zip
下载之后解压。宝塔如何在面板解压略过。
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
修改为你的域名,有端口必须带上端口号,必须使用 httpsType
为你的 Office 账户地区,可选择为
China
世纪互联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 设置反带
宝塔面板设置反带,网站设置→反向代理按照如图设置:
4.7 启动程序
配置完成后,跳转到程序目录执行 ./YukiDrive
就开始运行了。
4.8 效果
浏览器中域名打开即可访问,未绑定之前直接访问域名会显示 出现错误:undefined 不必理会。
5、启动并登录后台绑定账户
5.1 绑定账户
请先确认站点的 https 可用再进行下一步操作。
在浏览器中访问 https://你的域名/#/login
登录,进入后台后找到 SharePoint 账户,点击认证后登录你的微软账户。认证完成后会跳转回后台,此时将会显示为已认证。
认证和安装oneindex基本差不多,输入账号密码登录授权即可,丢一张图。
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 ,显示名随意。
图示是已经添加好的之后效果。我们回到首页,即可看到效果,如图:
可以直接上传文件。
7、守护程序进程
在 Linux 上的程序仅运行于本地账户,退出即关闭,应该将其注册为服务以便能够开机自启和出错重启,做一些修改后复制下列整条语句到控制台执行!宝塔面板安装设置的代码如下:[reply]
echo "[Unit] Description=YukiDrive [Service] WorkingDirectory=/www/wwwroot/odd.fdao.xyz/YukiDrive ExecStart=/www/wwwroot/odd.fdao.xyz/YukiDrive/YukiDrive Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=dotnet-YukiDrive User=root Environment=ASPNETCORE_ENVIRONMENT=Production Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target" > /etc/systemd/system/YukiDrive.service
注意:注意修改为自己网站的路径。[/reply]
7.1 启动服务
systemctl enable YukiDrive.service systemctl start YukiDrive.service
7.2 查看服务状态
systemctl status YukiDrive.service
显示以下语句即为正常运行,如图:
7.3 退出服务
systemctl stop YukiDrive.service
8、添加SharePoint
首先说说sharepoint添加站点,这里简单说说。
7.1 SharePoint 创建网站
登录:https://www.office.com/
登录之后,选择sharepoint,如图:
登录之后,创建网站,如图:
根据需要创建网站,记住站点名称。
7.2 后台设置
点击添加站点,站点名称填写为 SharePoint 创建网站时所填写的站点名称(建议创建为英文字符),显示名随意。
提交成功后的效果截图:
7.3 前台效果
8、最后
YukiDrive的常规安装非常繁琐,喜欢尝鲜的可以试试,不过这个ui我到是挺喜欢的,而且功能也非常不错。支持图片和视频的预览和在线播放。主要特点如下:
- .Net Core 多线程高并发
- 前后端分离,无刷新加载
- 可挂载 OneDrive 和任意多个 SharePoint 站点
- 提供文件上传 CLI
- 上传文件
- 无大小限制
- 由 浏览器&CLI 直接对微软服务器上传,不消耗流量