niniu

一个分享和记录的博客

Cloudreve网盘程序搭建和链接onedrive

在之前的文章中我们曾经介绍过使用oneindex来链接onedrive实现多样化的定制功能,然而遗憾的是oneindex已经停更了相当长一段时间了,原有的教程也基本上不能使用了,有兴趣的朋友可以阅读下面的几篇历史文章了解曾经的故事。

OneIndex部署教程,利用OneDrive打造专属分享型网盘

Aria2+Aria2Ng+OneIndex一键安装脚本以及一些可能需要注意的坑

然而长江后浪推前浪,最近在逛gayhub的时候偶然发现Cloudreve作为后起之秀,在链接onedrive网盘方面也有着不错的体验,就尝试性的安装了一下,确实相当不错。

Cloudreve是什么

按照开源项目主页的说法

“Cloudreve能助您以最低的成本快速搭建公私兼备的网盘系统”

与oneindex等其他程序不同的是Cloudreve不仅可以对接onedrive之内的网盘,还可以对接七牛、又拍云、阿里云OSS、AWS S3等储存对象,当然也可以直接利用服务器本地的储存空间或者挂载的硬盘了,其官方的项目地址为:

https://cloudreve.org/

github: https://github.com/cloudreve/Cloudreve

安装教程

首先在github里下载最新版的源程序:

https://github.com/cloudreve/Cloudreve/releases

我们以3.3.2为例

#创建一个工作目录

mkdir cloudreve

cd cloudreve

wget https://github.com/cloudreve/Cloudreve/releases/download/3.3.2/cloudreve_3.3.2_linux_amd64.tar.gz

tar -zxvf cloudreve_3.3.2_linux_amd64.tar.gz

# 赋予执行权限
chmod +x ./cloudreve

# 启动 Cloudreve
./cloudreve &

注意:

Cloudreve 在首次启动时,会创建初始管理员账号,请注意保管管理员密码,此密码只会在首次启动时出现。如果您忘记初始管理员密码,需要删除同级目录下的cloudreve.db,重新启动主程序以初始化新的管理员账户。

Cloudreve 默认会监听5212端口。你可以在浏览器中访问http://服务器IP:5212进入 Cloudreve。

Web服务器安装和配置

考虑到安全性等原因,直接让Cloudreve监听来自公网的请求也许并不是一个妥当的选择,并且也无法实现SSL加密等需求,因此,我们需要考虑使用nginx等web服务,并让其反向代理5212端口。其具体操作如下:

考虑到lnmp是非常流行的环境,我们可以直接从这里下载最新的lnmp一键安装包并且安装它,当然,这里的m和p分别代表MySQL和php,对于本文介绍的内容他们实际上不是必须的,你可以在安装阶段选择不安装它们。

安装完成后我们修改nginx的配置文件,在网站的server字段加入:

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
 
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
# client_max_body_size 20000m;
}
 
注意如果你需要SSL加密,则需要签发SSL证书并在nginx的配置文件中正确配置443端口,其相应的配置内容大致如下:
 

server {
listen 443 ssl;
server_name your_domain;

ssl_certificate /path/to/your/ssl/cer;
ssl_certificate_key /path/to/your/privkey.pem;

ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;

ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://localhost:5212;
client_max_body_size 20000m;
}
}
}

关于签发SSL证书,目前lets encrypt的SSL证书已经受到了广泛的认可和应用,我们可以使用certbot来签发有效期为90天的SSL证书:

sudo apt install certbot

sudo certbot certonly –nginx

#如果失败的话,可以执行

sudo certbot certonly

#续期可以使用renew子命令执行

#证书会通常保存在/etc/letsencrypt/live/your_domain/ 文件夹下

对接OneDrive

未完待续

点赞

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注