用Cloudreve搭建个人云盘

前言

Cloudreve」是一款出色的国产开源免费 PHP 网盘程序 (最新版已改为 Go 语言全新开发,无需配置 PHP 环境,性能更好,也更轻量强大)。它能帮您快速简单并以最低的成本搭建一个公私兼备的网盘系统。而且安装过程非常简单,只要你有自己的服务器,几分钟就能搭建起来。

你可以将 Cloudreve 作为个人私有云网盘使用,也可作为小型公共云盘给公司、团队甚至是大量用户多人共同使用。Cloudreve 支持在 Windows 和 Linux 主机上搭建,功能很丰富,而且还很接地气,基本上你需要的网盘功能它都能提供。

 

Cloudreve 有什么功能特性?

可接入多家公有云文件存储服务 ,官方文档如下

  • ☁ 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • ? 上传/下载 支持客户端直传,支持下载限速
  • ? 可对接 Aria2 离线下载
  • ? 在线 压缩/解压缩、多文件打包下载
  • ? 覆盖全部存储策略的 WebDAV 协议支持
  • ⚡ 拖拽上传、目录上传、流式上传处理
  • ? 文件拖拽管理
  • ?‍?‍? 多用户、用户组
  • ? 创建文件、目录的分享链接,可设定自动过期
  • ?️‍?️ 视频、图像、音频、文本、Office 文档在线预览
  • ? 自定义配色、黑暗模式、PWA 应用、全站单页应用
  • ? All-In-One 打包,开箱即用
  • ? … …

你除了可以将网盘文件储存在服务器本机的硬盘之外,它还能快速同时对接国内外多家云存储平台,将文件储存到腾讯云 COS阿里云 OSS七牛又拍云、亚马逊 AWS S3、OneDrive 或者是保存在你的另一台远程服务器上。而每种存储方式的上传下载都是客户端直传的。

安装之前你需要

安装之前我们需要准备好环境:

  • 一台服务器(VPS)

  • 安装宝塔面板

  • 安装nginx

  • 安装mysql

  • 准备一个域名

     

一、部署Go语言环境

我的Vps的环境是CentOS 7.6

 

1.下载

SSH工具连接服务器开始操作:

cd /www/server && wget -O golang.tar.gz https://dl.google.com/go/go1.15.1.linux-amd64.tar.gz

这些可以直接在面板环境里操作,也很方便。

2.解压

下载好之后解压:

tar -xzvf golang.tar.gz

3.添加环境变量

添加环境变量,使用vim 打开/etc/profile 文件。

vim /etc/profile

在profile 最底部添加:

export GOROOT=/www/server/go
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export GOARCH=amd64
export GOOS=linux
export GOPATH=/www/wwwroot/Golang
export PATH=$PATH:$GOBIN:$GOPKG:$GOPATH/bin

 

然后按:输入wq保存  如果需要再编辑按a 进入编辑模式

添加好之后,保存退出,然后执行如下命令使其生效:

source /etc/profile

4.测试是否生效

使用如下命令来测试Go语言环境是否安装成功。

go version

如果出现

go version go 1.xx linux amd64

则表明go语言编译配置成功,可以进行下一步了。

 

二、安装cloudreve

 

安装Cloudreve

cd /opt
wget https://github.com/cloudreve/Cloudreve/releases/download/3.1.1/cloudreve_3.1.1_linux_amd64.tar.gz
tar -zxvf cloudreve_3.1.1_linux_amd64.tar.gz            #解压获取到的主程序
chmod +x ./cloudreve                  #赋予执行权限
./cloudreve      #启动 Cloudreve

安装成功

___ _ _
/ __\ | ___ _ _ __| |_ __ _____ _____
/ / | |/ _ \| | | |/ _ | ‘__/ _ \ \ / / _ \
/ /___| | (_) | |_| | (_| | | | __/\ V / __/
\____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___|

V3.1.1 Commit #27bf8ca Pro=false
================================================

[Info] 2020-10-22 20:15:44 初始化数据库连接
[Info] 2020-10-22 20:15:44 开始进行数据库初始化…
[Info] 2020-10-22 20:15:44 初始管理员账号:admin@cloudreve.org
[Info] 2020-10-22 20:15:44 初始管理员密码:一堆乱码
[Info] 2020-10-22 20:15:45 数据库初始化结束
[Info] 2020-10-22 20:15:45 初始化任务队列,WorkerNum = 10
[Info] 2020-10-22 20:15:45 初始化定时任务…
[Info] 2020-10-22 20:15:45 当前运行模式:Master
[Info] 2020-10-22 20:15:45 开始监听 :5212

恭喜你安装成功,记得去防火墙安全组开放5212端口的权限

在浏览器里输入  http://你的IP:5212 进入cloudreve登录页面

 

三、如果你拥有一个域名的话 可以设置反向代理实现域名訪問

 

1.先在域名注册商那边把域名解析到服务器的IP上

2.安装宝塔面板 》〉》安装教程

 

配置Nginx反向代理
宝塔自带可以反向代理,但是不好用,而且貌似只能设置一个:

这里我建议直接在网站的Nginx配置文件里修改:

选中这部分,把他们变成注释(前面加#号):

然后在这之后加上下面的代码:

location / {
 
proxy_pass http://127.0.0.1:5212/;
 
rewrite ^/(.*)$ /$1 break;
 
proxy_redirect off;
 
proxy_set_header Host $host;
 
proxy_set_header X-Forwarded-Proto $scheme;
 
proxy_set_header X-Real-IP $remote_addr;
 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 
proxy_set_header Upgrade-Insecure-Requests 1;
 
proxy_set_header X-Forwarded-Proto https;
 
}

访问你绑定的域名,是不是比ip加端口访问好多了

现在就可以用域名打开Cloudreve 访问了,我这里是https://pan.wang19.com

 

四、解除上传限制

我们这边的网盘一般可能会放一些大一点的文件,现在如果传会发现传不上去,原因是Nginx默认最大上传文件是50M,我们需要修改一下Nginx默认的上传文件大小:


可以改成5120(5G)大小,然后记得重载一下配置。

如果是国内的服务器,备案完成之后,可以去白嫖七牛云和又拍云的每月10个G的空间,一般就挺够用了。我之前腾讯云新客户买的服务器88月一年,备案了之后白嫖了他们的空间,还是挺香的

 

从使用体验来看,cloudreve效果很不错,功能强大,支持存储种类也多,唯一不足的地方是容量大小和传输速度受服务器硬盘和带宽限制,还有就是竟然不支持Google Drive 。作者更是说目前不支持,未来也不会支持。
场景使用:可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

 

参考资料
https://yirenliu.cn/archives/cloudreve-install
https://www.iplaysoft.com/cloudreve.html
https://www.daniao.org/8544.html
https://www.daniao.org/5094.html
https://www.gitiu.com/reprinted_articles/cloudreve-v3-and-go-install/

 

 

数据备份

近期要换手机,手机中有一万三千多张照片,不得不考虑数据备份的事情,于是之下就有了以下几个方案:

 

  • iCloud
  • Google photos
  • 百度云盘

首选方案是icloud 优点是ios封闭生态圈实时备份我也有在开50G的扩容服务 缺点太过于封闭 对非苹果系统不友好 而且导出很困难

然后备用方案是google photos,优点是大厂稳定放心安全,ai试图很方便,高质量图无限容量 缺点是要利用科学方法,而且上传实在太太太慢了,传了一晚才穿了3000来张

 

当时准备方案三是传到百度云盘,优点好像几乎没有,但是仍有大量文件托管在上面,手机备份的同时,我把度盘最重要的文件,也就是大学四年拍的胶片电子版下载到电脑,15个G左右,超级会员的加速还下载了两个多小时,Google drive免费空间正好为15G,整理一下11G左右,晚上传了点,第二天上午几个小时,终于传输完成

 

空间有价,数据无价,15G是大学四年的缩影,希望以后还有的回忆,谷歌再国内服务不太友好,icloud过于封闭,度盘限速感人,所以搭建一个私人的云盘或者NAS是刚需

免费域名申请 丨永久域名申请

 

Freenom.com 是一个提供免费域名申请的网站

注意:

1、打不开网站或者打开慢的请科学方法打开。

2、长期闲置没有使用的域名会被回收,访问量太大的域名也会被回收(至于多大我也不知道)。

3、最长可以选择免费一年,到期前2个星期会提醒是否续费,到时直接可以免费续费再用一年,相当于永久免费。

一、申请域名

1、进入网站,查询自己想要的域名是否可用。

可以看到有tk、ml、ga、cf、gq等域名后缀可选,都是免费的

官网如同

随便输入检测试一下

然后我发现最短可以到四个字母免费申请  三个字母就要收费了

 

2、选择域名

点击现在获取–完成

freenom申请永久免费域名

3、修改域名时间

默认是3个月,最长可以修改到12个月都是免费的,修改完以后点击“继续”

freenom申请永久免费域名

4、结账确认(注册账号)

可以看到是免费的,如果有账号了直接登录就行。如果没有注册,输入邮箱验证点击验证(有时会报错,刷新一下吧)

这时候会跳出谷歌验证码

(其实博主已经有账号了,哦豁!)。

freenom申请永久免费域名

5、验证邮箱

这时候会向邮箱发送验证链接,点击验证即可。

freenom申请永久免费域名

6、输入注册信息

点击验证邮箱链接后会跳转,让填一些信息,参考例子填即可

然后点击完成订单

freenom申请永久免费域名

7、完成进入管理域名

freenom申请永久免费域名

freenom申请永久免费域名

二、修改nameserver解析

freenom上面的解析不太好用,这里修改为dnspod的解析(首先注册dnspod账号,不再赘述。)

1、登录dnspod,添加刚刚注册的域名

freenom申请永久免费域名

freenom申请永久免费域名

2、点击域名进入管理详情

会自动扫描DNS记录,不用管

freenom申请永久免费域名

3、记下nameserver

下一步有用。

freenom申请永久免费域名

4、在freenom点击管理域名进入修改nameserver

freenom申请永久免费域名

freenom申请永久免费域名

5、添加在dnspod记下的nameserver

freenom申请永久免费域名

6、完成然后等待NS生效,添加解析

生效后就可以在dnspod添加解析了(最慢48小时,一般几分钟就好了),然后freenom上的域名就不用管了,到期前去免费续期即可,其他的都在dnspod管理。

freenom申请永久免费域名

Github仓库同步指南

一、使用

.1 第一次提交

在写完一个项目需要把这个项目提交到git上面,此时我们可以通过如下的步骤去完成

.1.1 首先初始化当前文件目录为git

指令[git init]初始化这个项,就会出现一个.git的隐藏文件,可以通过查询隐藏文件查看它

.1.2 和远程仓库构建联系

使用指令[git remote add origin https:xxxx.xxx],此时需要注意是否readme.md文件,这个文件很重要是这个仓库的描述文件,如果不存在会出现很多错误

.1.3 将所有的内容存入git

使用指令[git  add .]将所有的项目放入到缓存中,git add指令并不能生成一个目录,只能是缓存起来

可选参数为.或者是filename,分别代表所有和具体文件

2.1.4 提交到git中

使用指令[git commit  -m ” “],将所有的内容提交到git中,会生成一个日志文件

.1.5 提交到github

使用指令[git push origin master]将内容提交到github上面

通过上述的方法完成一个初始化项目提交到github上面,下面介绍在版本更迭的过程中如何使用git

完美解决:error: failed to push some refs to ‘https://github.com/xxxx.git’

1.强制push本地仓库到远程 (这种情况不会进行merge, 强制push后远程文件可能会丢失)
$ git push -u origin master -f
 
 2. 避开解决冲突, 将本地文件暂时提交到远程新建的分支中,创建完branch后, 再进行push。
$ git branch [name]
$ git push -u origin [name] 

个人推荐使用:
git push -u origin master -f
简单粗暴且有效!缺点就是强制push后远程文件可能会丢失


把需要上传的资源放入本地仓库,在本地仓库右键鼠标,Git Bash Here ,执行以下命令:

git status                //查看文件状态
git add .                 //添加所有文件到暂存区,注意末尾有个英文句号
git commit -m ''  //把文件提交到仓库
git push                  //推送文件至远程仓库