使用Cloudreve搭建属于自己的网盘

cloudreve的搭建和设置

有很多极客或者站长跟我一样都有分享资源的需求。奈何度盘太慢,其他的网盘太小众想下载个文件很麻烦。

于是私人网盘应运而生。

这就是我们今天要介绍的重点: Cloudreve

Cloudreve 是什么?

Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台,用户在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

Screenshot

项目GitHub地址: https://github.com/cloudreve/Cloudreve

安装

首先我们先去GitHub上下载一个最新的 release

这里笔者用的是阿里云的轻量学生机,Centos8,x86架构,于是笔者选择amd64的版本,大家可以根据自己的需要选择相应的版本或自行编译

解压后得到一个名为 cloudreve 的无后缀文件 (windows中名为cloudreve.exe)

将其移动到 /usr/bin ,并将所有者改为root,权限755

笔者使用的是宝塔

启动

启动方式有两种,一是通过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的体验。

相关文章:

2 Comments

  1. […] 如何在一台Linux服务器上部署Cloudreve程序 ,以及 […]

Leave a Reply