Cloudreve 是一款开源的网盘系统,支持多种存储后端,可以方便地搭建私人网盘。

VPS 环境:Debian 12

CloudReve 版本:3.8.3

# 步骤一:更新系统

首先,确保你的系统是最新的。运行以下命令更新软件包列表并升级所有已安装的软件包:

sudo apt update && sudo apt upgrade -y

# 步骤二:下载 Cloudreve

访问 Cloudreve 的 GitHub 页面 以获取最新版本的 Cloudreve。或者,你可以使用 curl 命令直接下载 3.8.3 版本(截止博客发表前的最新版本):

curl -L -o cloudreve.zip https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz

下载完成后,解压文件:

mkdir /opt/cloudreve
tar -xvzf cloudreve_3.8.3_linux_amd64.tar.gz -C /opt/cloudreve

# 步骤三:配置 Cloudreve

进入 Cloudreve 的目录,并赋予可执行权限:

cd /opt/cloudreve
chmod +x cloudreve

运行 Cloudreve 以生成默认配置文件:

./cloudreve # 初次启动会生成管理员账号和密码,请妥善保存好,后面可以进面板修改账号和密码

初次运行后,会生成一个名为 conf.ini 的配置文件,你可以根据需要修改此文件。以下是一个示例配置:

[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5212
; 是否开启 Debug
Debug = false
; Session 密钥,一般在首次启动时自动生成
SessionSecret = 23333
; Hash 加盐,一般在首次启动时自动生成
HashIDSalt = something really hard to guss
; 实测只会生成上述上述五个配置,下面的配置如有需要请自行选择
; 呈递客户端 IP 时使用的 Header
ProxyHeader = X-Forwarded-For
; SSL 相关
[SSL]
; SSL 监听端口
Listen = :443
; 证书路径
CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
KeyPath = C:\Users\i\Documents\privkey.pem
; 启用 Unix Socket 监听
[UnixSocket]
Listen = /run/cloudreve/cloudreve.sock
; 设置产生的 socket 文件的权限
Perm = 0666
; 数据库相关,如果你只想使用内置的 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 = utf8mb4
; SQLite 数据库文件路径
DBFile = cloudreve.db
; 进程退出前安全关闭数据库连接的缓冲时间
GracePeriod = 30
; 使用 Unix Socket 连接到数据库
UnixSocket = false
; 从机模式下的配置
[Slave]
; 通信密钥
Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
CallbackTimeout = 20
; 签名有效期
SignatureTTL = 60
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
SameSite = Default
Secure = lse
; Redis 相关
[Redis]
Server = 127.0.0.1:6379
Password =
DB = 0
; 从机配置覆盖
[OptionOverwrite]
; 可直接使用 `设置名称 = 值` 的格式覆盖
max_worker_num = 50

# 步骤五:创建 systemd 服务

为了方便管理 Cloudreve,可以创建一个 systemd 服务。

创建一个名为 cloudreve.service 的文件:

nano /usr/lib/systemd/system/cloudreve.service

在文件中添加以下内容(将下文 PATH_TO_CLOUDREVE 更换为程序所在目录,本文即 /opt/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

保存并退出后,重新加载 systemd 服务:

# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve

# 步骤六:访问 Cloudreve

Cloudreve 默认监听在 5212 端口。你可以通过访问 http://你的服务器IP:5212 来访问 Cloudreve。

初次登录时,用管理员账户登录,然后点击头像里的管理面板做进一步的个性化设置。

# 步骤七:配置 Nginx 反向代理(可选)

为了更加安全和便捷地访问 Cloudreve,可以使用 Nginx 配置反向代理并启用 HTTPS。

在网站的 server 段添加以下内容(实际应用中推荐强制 https,然后在 443 端口反代 5212 端口):

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 20G; # 设置理论最大文件尺寸(这里即 20 GB)
}

启用这个配置并重新加载 Nginx:

systemctl restart nginx

至此,你应该可以通过你的域名访问 Cloudreve 云盘了。现在你可以开始使用这个强大的网盘系统来管理和分享你的文件了。如果你在配置过程中遇到任何问题,可以参考 Cloudreve 的文档获取更多帮助。