私人网盘Cloudreve

发布于 2021-06-01  377 次阅读


一开始,只想实现能随取随用一些东西,比如ftp。后觉ftp界面太简单且只有上传下载功能,可玩性不高,遂考虑搭建私人网盘:Cloudreve。
—— ——Rabbit


Info.

Cloudreve 是一款go语言开发的开源网络存储程序,配置简单,功能齐全。从底层支持不同的云存储平台,在实际使用时无须关心物理存储方式。你可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

  • 服务易部署;交互逻辑简单明了
  • 可选提取码和过期方式的分享链接
  • 自定义用户组、存储策略
  • 支持 WebDev
  • Gavatar 头像管理
  • 社区版功能强大足够使用,捐助版增加财务及套餐管理

Do it.

操作环境:centos7.6+BT+LNMP

一、主程序安装

1. 到项目地址选择心仪的版本

wget https://github.com/cloudreve/Cloudreve/releases/download/3.3.2/cloudreve_3.3.2_linux_amd64.tar.gz

2. 解压,进行第一次启动

解压获取到的主程序
tar -zxvf cloudreve_VERSION_OS_ARCH.tar.gz

赋予执行权限
chmod +x ./cloudreve

启动 Cloudreve, 并记录默认账户密码,记录后 ctrl+c 退出
./cloudreve

3. 写守护进程

将下文 PATH_TO_CLOUDREVE 更换为程序所在目录:
vim /usr/lib/systemd/system/cloudreve.service

[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

4. 更新配置

systemctl daemon-reload
systemctl start cloudreve
systemctl enable cloudreve


二、nginx配置(宝塔)

1. 添加网站,输入域名,默认80端口

2. PHP设置为纯静态(存疑,不操作也行)

3. 添加反代,保存

4. 编辑反代配置文件

自定义 client_max_body_size 以限制上传文件大小,示例:

#PROXY-START/
location  ~* \.(php|jsp|cgi|asp|aspx)$
{
    proxy_pass https://pan.pan.pan;
    proxy_set_header Host pan.pan.pan;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    expires 12h;
    client_max_body_size 20000m;
}
location /
{
    proxy_pass http://127.0.0.1:5212/;
    proxy_set_header Host pan.pan.pan;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header REMOTE-HOST $remote_addr;
    
    add_header X-Cache $upstream_cache_status;
    
    #Set Nginx Cache
    
        add_header Cache-Control no-cache;
}

#PROXY-END/

5. 配置nginx限制上传文件大小

BT → 该网站设置 → 配置文件
server {后任意位置添加 client_max_body_size 4G;
其中 4G 可替换任意容量 (或许?),比如 256m,114514k 等. as u like.