使用Cloudreve搭建属于自己的网盘
Cloudreve 是什么?
Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。
安装
- 项目GitHub地址: https://github.com/cloudreve/Cloudreve
release
下载地址:https://github.com/cloudreve/Cloudreve/releases
这里以阿里云的轻量学生机为例,Centos8,x86架构,于是笔者选择amd64的版本,大家可以根据自己的需要选择相应的版本或自行编译- 解压后得到一个名为 cloudreve 的无后缀文件 (windows中名为cloudreve.exe)
将其移动到 /usr/bin ,并将所有者改为root,权限755
- 解压后得到一个名为 cloudreve 的无后缀文件 (windows中名为cloudreve.exe)
启动
注
启动方式有两种,一是通过mysql数据库启动,速度更快。另一种是使用sqlite启动,相对友好。
如果你使用Sqlite进行启动,则无需进行其它设置,如果你想使用MySQL启动运行,请按照下文进行配置。
通过 MySQL 启动
如果你没有MySQL的相关经验,我建议你使用sqlite进行启动
首先建立好相应的数据库,准备好用户名和数据
这里我使用的是名为 cloudreve 的数据库 用户名 cloudreve 密码 cloudreve (不要这样学我,安全隐患很大
)
创建文件 /etc/cloudreve.conf 并编辑
[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql
; MySQL 端口
Port = 3306
; 用户名,根据自己情况修改
User = cloudreve
; 密码,根据自己情况修改
Password = cloudreve
; 数据库地址,根据自己情况修改
Host = 127.0.0.1
; 数据库名称,根据自己情况修改
Name = cloudreve
; 数据表前缀
TablePrefix = cd
更多详细配置项,见 cloudreve官方文档
第一次启动
如果你选用MySQL方式启动,在配置完毕后(选择sqlite则无需配置),需要启动一次来记录管理员用户名和密码,方便日后管理。
执行命令
# mysql启动执行这个
cloudreve -c /etc/cloudreve.conf
# sqlite启动直接执行这个
cloudreve
执行完毕后会显示监听的端口和管理员用户与密码,我们先登录上去更改用户名和密码
可以看到这里的端口是 5212,确保你的防火墙已经放行 5212 端口 ,使用 服务器IP:5212 访问cloudreve
填写密码并登录
点击用户头像,进入管理面板
点击用户选项卡,点击编辑图标把账户设置成你容易记住的账户和密码。
现在把 cloudreve 添加到开机启动项中
# 创建一个文件夹用来储存cloudreve的数据和文件,可以根据自己的需要进行修改
mkdir /home/cloudreve
# 如果你用sqlite的方式启动,还需要执行下面的命令,注意替换路径
# 把db文件移到到cloudreve的数据文件夹中
mv /usr/bin/cloudreve.db /home/cloudreve/
编辑 /usr/lib/systemd/system/cloudreve.service
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
Wants=network.target
[Service]
# cloudreve 文件的存放路径,跟上面的一样,请根据自己的情况设置,默认储存策略的文件会储存在其中
WorkingDirectory=/home/cloudreve
# 如果你是sqlite,直接用这个
ExecStart=/usr/bin/cloudreve
# 如果你是mysql,请使用这个
ExecStart=/usr/bin/cloudreve -c /etc/cloudreve.conf
# 注意这里的两个 ExecStart 只能留一个
# 注意这里的两个 ExecStart 只能留一个
# 注意这里的两个 ExecStart 只能留一个
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
注意上面配置文件中的两个 ExecStart 只能留一个
保存后执行:
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
如果没有报错,说明一切顺利
如果你想取消开机启动,可以执行
systemctl disable cloudreve
如果你想查看cloudreve的运行状态
systemctl status cloudreve
设置 Nginx 反向代理
如果你的服务器上拥有多个网站,那么走Nginx代理可以帮助你把所有的网站都集成到80端口上,这样一来可以方便用户访问而且利于SEO,此外Nginx拥有比直接访问更高的安全性
这里使用的是宝塔,用宝塔来做演示
首先创建一个网站,网站类型纯静态即可
点击配置文件选项卡,对这两项进行注释
把这两个location字段也注释掉,如果不注释会打不开
然后粘贴一段location上去,注意格式跟我保持一致
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之后打不开网页,请把强制启用https的勾去掉
如果你更改了cloudreve的端口,也应该把这里同步进行修改
点击保存后访问测试
成功打开网页!现在你可以关闭你 5212 端口的放行了
cloudreve的基本搭建到这里结束,后面会为大家讲解如何使用oss储存策略来优化cloudreve的体验。