Cloudreve 简单快速搭建私人网盘 – 一款好用的网盘程序从此告别百度网盘

简介

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

橘柚云盘也采用 Cloudreve 搭建 预览地址

特点

  • GO 语言:最新版采用 Go 语言开发,无需 PHP 环境,对配置要求更低,它能帮您快速以最低的成本搭建一个公私兼备的网盘系统。
  • 多端存储:支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端
  • 直传/支持限速:上传/下载 支持客户端直传,支持下载限速
  • 离线下载:可对接 Aria2 离线下载,可使用多个从机机点分担下载任务
  • 在线解/压缩:在线 压缩/解压缩、多文件打包下载
  • WebDAV 协议:覆盖全部存储策略的 WebDAV 协议支持
  • 拖拽上传:拖拽上传、目录上传、流式上传处理
  • 多用户管理:文件拖拽管理,多用户、用户组
  • 自动过期:创建文件、目录的分享链接,可设定自动过期
  • 在线预览:视频、图像、音频、文本、Office 文档在线预览
  • 黑暗模式:自定义配色、黑暗模式、PWA 应用、全站单页应用
  • 开箱即用:All-In-One 打包,开箱即用等等

安装

你可以在 GitHub Release 页面下载压缩包

或直接下载:

Cloudreve_v3.3.2

#解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz
​
# 赋予执行权限
chmod +x ./cloudreve
​
# 启动 Cloudreve
./cloudreve
Windows 下,直接解压获取到的 zip 压缩包,启动 cloudreve.exe 即可。

注意:首次启动会创建初始管理员账号,先拿个小本本记好,账号密码只会出现一次

如果您忘记初始管理员密码,需要删除同级目录下的 cloudreve.db,重新启动主程序以初始化新的管理员账户。

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

反向代理

由于只是在服务器内部开启了程序,还无法通过域名访问,下一步

如果安装了宝塔,在网站设置-反向代理-添加反向代理,填写内容如下

Cloudreve 简单快速搭建私人网盘 - 一款好用的网盘程序从此告别百度网盘

没有安装宝塔:

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;
}
<VirtualHost *:80>
    ServerName myapp.example.com
    ServerAdmin webmaster@example.com
    DocumentRoot /www/myapp/public
​
    # 以下为关键部分
    AllowEncodedSlashes NoDecode
    ProxyPass "/" "http://127.0.0.1:5212/" nocanon
​
</VirtualHost>

进程守护

这个时候的程序是在终端开启的,一旦关闭了终端程序也会被关闭,解决办法:

已安装宝塔

宝塔里面搜索安装 Supervisor 插件

Cloudreve 简单快速搭建私人网盘 - 一款好用的网盘程序从此告别百度网盘

添加进程守护

名称随意

运行目录:填写网站根目录

启动命令:网站根路径 + ./cloudreve

其他默认就行

Cloudreve 简单快速搭建私人网盘 - 一款好用的网盘程序从此告别百度网盘

无宝塔

第一种:Systemd

# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service

将下文 PATH_TO_CLOUDREVE 更换为程序所在目录:

[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target
​
[Service]
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
​
StandardOutput=null
StandardError=syslog
​
[Install]
WantedBy=multi-user.target
# 更新配置
systemctl daemon-reload
​
# 启动服务
systemctl start cloudreve
​
# 设置开机启动
systemctl enable cloudreve

管理命令:

# 启动服务
systemctl start cloudreve
​
# 停止服务
systemctl stop cloudreve
​
# 重启服务
systemctl restart cloudreve
​
# 查看状态
systemctl status cloudreve

第二种:Supervisor

首先安装 supervisor,已安装的可以跳过。

# 安装 supervisor
sudo yum install python-setuptools
sudo easy_install supervisor
​
# 初始化全局配置文件
sudo touch /etc/supervisord.conf
sudo echo_supervisord_conf > /etc/supervisord.conf

编辑全局配置文件:

sudo vim /etc/supervisord.conf

将文件底部的 [include] 分区注释符号; 删除,加入新的配置文件包含路径:

[include]
files = /etc/supervisor/conf/*.conf

创建 Cloudreve 应用配置所在文件目录,并创建打开配置文件:

sudo mkdir -p /etc/supervisor/conf
sudo vim /etc/supervisor/conf/cloudreve.conf

根据实际情况填写以下内容并保存:

[program:cloudreve]
# Clopudreve 主程序所在目录
directory=/home/cloudreve
# 主程序绝对路径
command=/home/cloudreve/cloudreve
# 自动开启
autostart=true
# 自动重启
autorestart=true
# 错误日志路径
stderr_logfile=/var/log/cloudreve.err
# 运行日志路径
stdout_logfile=/var/log/cloudreve.log
# 运行环境,默认就行
environment=CODENATION_ENV=prod

通过全局配置文件启动 supervisor:

supervisord -c /etc/supervisord.conf

日后你可以通过以下指令管理 Cloudreve 进程:

# 启动
sudo supervisorctl start cloudreve
​
# 停止
sudo supervisorctl stop cloudreve
​
# 查看状态
sudo supervisorctl status cloudreve

Docker

你可以选择使用以下镜像部署:

xavierniu/cloudreve

现在你应该可以访问了

等一下,还没完

默认数据库使用的是 sqlite ,如果需要使用 MySQL,需要编辑配置文件

配置文件

根据官方文档,首次启动时,Cloudreve 会在同级目录下创建名为 conf.ini 的配置文件,你可以修改此文件进行一些参数的配置,保存后需要重新启动 Cloudreve 生效。

一个完整的配置文件示例如下:

[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5000
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = something really hard to guss
​
; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:UsersiDocumentsfullchain.pem
; 私钥路径
KeyPath = C:UsersiDocumentsprivkey.pem
​
; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
​
; 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8
; SQLite 数据库文件路径
DBFile = cloudreve.db
​
; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60
​
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
​
; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0
​
; 缩略图
[Thumbnail]
MaxWidth = 400
MaxHeight = 300
FileSuffix = ._thumb
; 最大并行执行缩略图生成的数量,填写 -1 时会根据 CPU 核心数自动决定
MaxTaskCount = -1
; 可填写 jpg / png
EncodeMethod = jpg
; 是否在缩略图生成完毕后立刻进行垃圾回收
GCAfterGen = false
; 缩略图质量
EncodeQuality = 85

当然并不需要每个都配置

使用 MySQL

注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL,编辑配置文件后重启生效

更换数据库配置后,Cloudreve 会重新初始化数据库,原有的数据将会丢失。

[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = root
; 密码
Password = root
; 数据库地址
Host = 127.0.0.1
; 数据库名称
Name = v3
; 数据表前缀
TablePrefix = cd
; 字符集
Charset = utf8

使用 Redis

请为 Cloudreve 指定未被其他业务使用的 DB,以避免冲突。

[Redis]
Server = 127.0.0.1:6379
Password = your password
DB = 0

重启 Cloudreve 后,可注意控制台输出,确定 Cloudreve 是否成功连接 Redis 服务器。使用 Redis 后,以下内容将被 Redis 接管:

  • 用户会话(重启 Cloudreve 后不会再丢失登录会话)
  • 数据表高频记录查询缓存(如存储策略、设置项)
  • 回调会话
  • OneDrive 凭证

启用 HTTPS

如果您正在使用 Web 服务器反向代理 Cloudreve,推荐您在 Web 服务器中配置 SSL,本小节所阐述的启用方式只针对使用 Cloudreve 内置 Web 服务器的情境下有效。

在配置配置文件中加入:

[SSL]
Listen = :443
CertPath = C:UsersiDocumentsfullchain.pem
KeyPath = C:UsersiDocumentsprivkey.pem

其中 CertPathKeyPath 分别为 SSL 证书和私钥路径。保存后重启 Cloudreve 生效。

更多详细文档请前往 官方文档

本站部分内容可能来源于网络,仅供大家学习与参考。如有侵权,请联系站长处理
本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新
这些信息可能会对您有帮助: 下载帮助 | 入站必看 | 创作中心,统一解压密码:juyovo.com

给TA打赏
共{{data.count}}人
人已打赏
教程

突破百度网盘限速方法,使用IDM工具满速下载

2022-2-7 0:00:00

教程

Windows 添加自定义右键菜单,多级菜单-通过VSCode打开

2022-5-8 0:00:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索