Menu

如何利用OneDrive和CloudReve搭建自己的网盘

鉴于国内大多数运营商不提供公网IP,所以远程访问自己的私人文件是一件非常麻烦的事情。因此,网盘就显得更加重要。相比于百度云等国内厂商网盘的限速,OneDrive或者自建网盘在速度上就有一定的优势。本篇文章主要讲解如何利用OneDrive和Cloudreve(V3版本)搭建个人网盘。


安装Cloudreve

        首先,访问官网https://cloudreve.org/,点击立刻下载(会跳转到GitHub,无法访问GitHub请采用代理),在最新Release中选择符合您CPU架构的版本,如果没有请自行编译,编译教程:https://github.com/cloudreve/Cloudreve#gear-构建

        将下载好的压缩文件上传到服务器上(请选择好位置,这将成为以后运行的目录),并解压,这里推荐采用宝塔面板。解压完成后,我们将会获得一个可执行文件cloudreve。我们首先建立一个新的screen用于运行cloudreve(我比较习惯使用screen,也可以使用守护进程)。打开新的screen后,输入./cloudreve


        首次运行时,会在控制台上输出默认账户和密码,这里需要记住。然后访问你服务器的5212端口,使用默认管理员账户登录即可。


        当你第一次运行cloudreve后,将会在同目录下生成一个配置文件conf.ini。这里默认将采用sqlite数据库作为支持,但是,当网盘中文件多的时候,sqlite将会严重拖累软件速度,因此,在这里我们可以将数据库改为MySQL。我们需要在文件中添加以下内容:


[Database]
Type = mysql
Port = 3306
User =
Password =
Host = 127.0.0.1
Name =
TablePrefix = cd
    

        其中,port为你MySQL的监听端口,User为你的数据用户名,Password为你的用户密码,Name为你的数据库名,TablePrefix为表前缀。请注意,当你将数据库改为MySQL后,首次运行依旧会重新生成默认账户和密码,请留意。除此之外,如果想修改监听端口,也可以在conf.ini里面进行修改。

反向代理

        在配置好cloudreve后,我们进行反向代理的设置。反向代理在网上已经有很多教程了,这里就不再赘述,只讲如何利用宝塔面板进行Nginx反向代理,其他方法可在官方文档中找到:https://docs.cloudreve.org/getting-started/install

        首先,我们在宝塔面板->网站中添加一个新站点,配置如下:


        新站点添加后,点击刚建立的站点的网站名进入网站设置,在左面标签找到反向代理,添加一个新的反向代理规则。在这里我们只用填写下面两个红框中的内容,其中名称自定,目标URL为http://127.0.0.1:5212(如果更改了端口号请改为你更改的端口号),之后保存即可。


开启SSL

        如果你希望采用本机存储作为网盘或采用阿里云等对象存储则不需要开启SSL,如果采用OneDrive作为存储策略则需要开启SSL。SSL的设置方法在网上也已经有很多教程了,这里也只讲宝塔配置的方法。

        如果你已经申请过其他平台的证书,可在站点设置中的SSL选项中选择其他证书,将key和pem填入即可。如果没有,则可以选择Let's Encrypt中自动申请,申请成功后会自动配置,配置后请开启强制HTTPS。

至此,cloudreve的全部准备工作就结束了。

OneDrive的选择

        首先,想利用OneDrive建立个人网盘,首要条件就是你的Office365账户能够支持开放API。Azure的开放API本是为了Office开发者开发软件时进行API调用测试使用的,他提供了Office365软件的外部调用认证,介于此,我们可以利用这个开放API实现利用非官方软件外部使用Office软件。

        这里要注意的是,个人版和家庭版账户是不支持开放API的,只有开发者账户(这里推荐E5)和订阅账户(这里面分类很乱,我也不是很清楚,想了解可以去网上查相关资料。淘宝的5T账户基本是教育订阅的子账户,至于超级管理员、管理员、普通子账户的区别也建议去搜一搜,这里不再赘述)。除此之外,OneDrive还分为国际版和世纪互联版。区别在于国际版是微软自营,但是国内访问速度很慢,而世纪互联版则是世纪互联和微软联运,数据中心位于境内,国内访问速度相对较快,但是开发者账户只有国际版,世纪互联版的车也不是很多,在购买前可多做一些研究。

开放API并配置Cloudreve存储策略

        开放API需要前往Azure控制台进行,国际版地址:https://portal.azure.com/,世纪互联版地址:https://portal.azure.cn/。实际上,两者的操作方式和界面完全相同。



        首先,我们选择Azure Active Directory进入你账户的仪表板。如果不在主页显示可以点击最右侧的更多服务来找到


        进入到仪表板后,我们点击左侧的应用注册,就可以看到我们已经授权的所有API。在这里,我们点击右半部分上面的新注册



        点击新注册后,我们需要填写上方三个内容,名称自己随便起,类型则要选择上方我画出来的选项,不然三方应用无法正常接入。最后一个API需要填写cloudreve的回调地址,获取方法如下:首先,打开你已经配置好的cloudreve网站,采用管理员登陆后,点击头像选择管理面板,在其中左边选择存储策略,点击添加存储策略,选择OneDrive。在下图画红框的位置中,第三项中给出了回调地址,将这个地址粘贴到上面重定向URI中


        添加完成后,会自动跳转到以下界面,我们将这个客户端ID填写到上图的第四项中


        然后,我们在左侧选择证书和密码,选择新建客户端密码,说明随便写一个,期限选择从不,然后点击添加。


        添加后会跳转到下面的界面,这里要记住红框里的密码,他只显示一遍。将密码复制保存,并填写到上面添加存储策略中的第五项中,然后在第六项中选择你的账户类型,是国际版还是世纪互联版,起一个策略名,点击下一步,之后按照引导便可添加。添加后,要在用户组中将相应的用户组的存储策略改为你刚添加的策略。


        至此,所有的准备工作已经结束,接下来就按照你自己的兴趣修改相关配置就行了。总的来说,国际版的OneDrive不进行代理速度也不是很快(但是肯定比百度云快),而世纪互联版则要舒服的多,这一点需要按照自己需求进行选择。当然,OneDrive API是有所限制的,大量调用可能会被禁,尤其是世纪互联版本,所以需要大家自行体验之后再决定。





2020-8-30 12:29
UtopiaXC
于大连



版权声明及许可


本站作品均采用知识共享署名-非商业性使用-相同方式共享 3.0 中国大陆许可协议进行许可。

转载作品将在文章头部进行说明并提供署名与许可信息。

知识共享许可协议