Cloudreve 是一个支持多种存储的云盘系统,它允许用户快速搭建自己的网盘。他支持多种数据库系统,包括但不限于 MySQL、MariaDB、PostgreSQL、SQLite、Microsoft SQL Server 和 MySQL。相关功能介绍:https://github.com/cloudreve/Cloudreve/blob/master/README_zh-CN.md
包名称:cloudreve_3.8.3_linux_amd64.tar.gz
linux:CentOS Linux release 7.9.2009 (Core),最小化安装
1、安装cloudreve
官网下载链接:https://github.com/cloudreve/Cloudreve/releases
# 放通防火墙: sudo firewall-cmd --add-port=5212/tcp --permanent sudo firewall-cmd --add-port=3306/tcp --permanent sudo firewall-cmd --add-port=80/tcp --permanent sudo firewall-cmd --add-port=443/tcp --permanent sudo firewall-cmd --add-port=6800/tcp --permanent firewall-cmd --reload setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux mkdir cloudreve tar -xvf cloudreve_3.8.3_linux_amd64.tar.gz -C cloudreve/ cd cloudreve chmod +x ./cloudreve ./cloudreve # 后台启动:nohup /root/cloudreve/cloudreve & # 查看启动情况:netstat -lntp |grep 5212(yum install net-tools)
浏览器访问:ip/域名:5212
管理员账号密码是通过启动日志查看,当然,个人也可以通过注册账号来登录。
# 开机自启: vi /usr/lib/systemd/system/cloudreve.service [Unit] Description=Cloudreve [Service] Type=simple WorkingDirectory=/root/cloudreve ExecStart=/root/cloudreve/cloudreve Restart=on-failure RestartSec=2s KillMode=mixed StandardOutput=null StandardError=syslog [Install] WantedBy=multi-user.target # 加载重启: systemctl daemon-reload systemctl enable cloudreve systemctl status cloudreve
2、安装mariadb
卸载安装的包:rpm -qa|grep maria
安装依赖:yum install epel-release && yum install pv
安装数据库:yum install MariaDB-server -y
systemctl start mariadb systemctl enable mariadb mariadb --version # 初始化配置: mysql -uroot -p # 回车直接登录 ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码'; #设置root密码 GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的新密码' WITH GRANT OPTION; # 允许远程访问 FLUSH PRIVILEGES;
2.1、配置网盘使用 MySQL 作为其数据库
创建数据库和用户
CREATE DATABASE cloudreve; CREATE USER 'cloudreveuser'@'localhost' IDENTIFIED BY 'Huawei@123456'; GRANT ALL PRIVILEGES ON cloudreve.* TO 'cloudreveuser'@'localhost'; FLUSH PRIVILEGES;
配置 Cloudreve
vi /root/cloudreve/conf.ini
[Database] Type = mysql Port = 3306 User = cloudreveuser Password = Huawei@123456 Host = 127.0.0.1 Name = cloudreve TablePrefix = cd_ # TablePrefix代表,所有表名添加一个前缀 cd_ # Name 指数据库名称
启动 Cloudreve:./cloudreve
在图片上传到cloudreve上了,在数据库里面查询,发现是有的。
经过测试,重启服务器后,数据库服务和cloudreve服务都会自动起来。
3、yum安装nginx,反向代理
安装:yum install nginx
在/etc/nginx/nginx.conf文件中发现“include /etc/nginx/conf.d/*.conf”。
vi /etc/nginx/conf.d/cloudreve.conf server { listen 80; listen 443 ssl http2; listen [::]:80; listen [::]:443 ssl http2; server_name ppyython.cn www.ppyython.cn; # 反向代理设置 location / { proxy_pass http://192.168.10.11:5212; # Cloudreve 监听的地址和端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; client_max_body_size 1000m; # 上传的最大文件大小 } ssl_certificate "/etc/nginx/ssl/server.crt"; ssl_certificate_key "/etc/nginx/ssl/server.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 10m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; if ($scheme = http) { return 301 https://$server_name$request_uri; } }
systemctl restart nginx
systemctl enable nginx
# 生成自签名证书: mkdir /etc/nginx/ssl && cd /etc/nginx/ssl openssl req -x509 -newkey rsa:2048 -nodes -keyout server.key -out server.crt -days 365 -subj "/CN=ppyython.cn" echo "192.168.10.11 www.ppyython.cn" >> /etc/hosts echo "192.168.10.11 ppyython.cn" >> /etc/hosts # win上配置:C:\Windows\System32\drivers\etc\hosts 192.168.10.11 www.ppyython.cn 192.168.10.11 ppyython.cn
遇到问题:2024/12/04 21:38:44 [crit] 2168#2168: *17 connect() to 192.168.10.11:5212 failed (13: Permission denied)
解决问题:启用了 SELinux导致的,setenforce 0,记得前面关闭了。发现还有一条命令要执行
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/sysconfig/selinux
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
4、yum 安装aria2
yum install epel-release && yum install aria2
aria2c --version
生成rpc秘钥:openssl rand -base64 32
把生成的秘钥存放一下,后面要用:rpc-secret=你的RPC密钥
mkdir -p /usr/local/aria2 && touch /usr/local/aria2/{aria2c.conf,aria2.session} && chmod 777 /usr/local/aria2/aria2*
vi /usr/local/aria2/aria2c.conf # 文件的保存路径(可使用绝对路径或相对路径), 默认: 当前启动位置 #dir=~/download # 启用磁盘缓存, 0为禁用缓存, 需1.16以上版本, 默认:16M disk-cache=32M # 文件预分配方式, 能有效降低磁盘碎片, 默认:prealloc # 预分配所需时间: none < falloc ? trunc < prealloc # falloc和trunc则需要文件系统和内核支持, NTFS建议使用falloc, EXT3/4建议trunc file-allocation=trunc # 断点续传 continue=true ## 下载连接相关 ## # 最大同时下载任务数, 运行时可修改, 默认:5 max-concurrent-downloads=5 # 同一服务器连接数, 添加时可指定, 默认:1 max-connection-per-server=15 # 最小文件分片大小, 添加时可指定, 取值范围1M -1024M, 默认:20M # 假定size=10M, 文件为20MiB 则使用两个来源下载; 文件为15MiB 则使用一个来源下载 min-split-size=10M # 单个任务最大线程数, 添加时可指定, 默认:5 split=5 # 整体下载速度限制, 运行时可修改, 默认:0 #max-overall-download-limit=0 # 单个任务下载速度限制, 默认:0 #max-download-limit=0 # 整体上传速度限制, 运行时可修改, 默认:0 max-overall-upload-limit=500kb # 单个任务上传速度限制, 默认:0 max-upload-limit=50kb # 禁用IPv6, 默认:false disable-ipv6=false # 禁用https证书检查 check-certificate=false #运行覆盖已存在文件 allow-overwrite=true #自动重命名 auto-file-renaming ## 进度保存相关 ## # 从会话文件中读取下载任务 input-file=/usr/local/aria2/aria2.session # 在Aria2退出时保存`错误/未完成`的下载任务到会话文件 save-session=/usr/local/aria2/aria2.session # 定时保存会话, 0为退出时才保存, 需1.16.1以上版本, 默认:0 save-session-interval=30 ## RPC相关设置 ## # 启用RPC, 默认:false enable-rpc=true # 允许所有来源, 默认:false rpc-allow-origin-all=true # 允许非外部访问, 默认:false rpc-listen-all=true # 事件轮询方式, 取值:[epoll, kqueue, port, poll, select], 不同系统默认值不同 #event-poll=select # RPC监听端口, 端口被占用时可以修改, 默认:6800 rpc-listen-port=6800 # 保存上传的种子文件 rpc-save-upload-metadata=false rpc-secret=j73xB2DlsW04tIZae4lidVx9PG/zMplwueLUPMJ3nvs= ## BT/PT下载相关 ## # 当下载的是一个种子(以.torrent结尾)时, 自动开始BT任务, 默认:true #follow-torrent=true # BT监听端口, 当端口被屏蔽时使用, 默认:6881-6999 listen-port=51413 # 单个种子最大连接数, 默认:55 #bt-max-peers=55 # 打开DHT功能, PT需要禁用, 默认:true enable-dht=true # 打开IPv6 DHT功能, PT需要禁用 enable-dht6=false # DHT网络监听端口, 默认:6881-6999 #dht-listen-port=6881-6999 # 本地节点查找, PT需要禁用, 默认:false bt-enable-lpd=true # 种子交换, PT需要禁用, 默认:true enable-peer-exchange=true # 每个种子限速, 对少种的PT很有用, 默认:50K #bt-request-peer-speed-limit=50K # 客户端伪装, PT需要 peer-id-prefix=-UT341- user-agent=uTorrent/341(109279400)(30888) # 当种子的分享率达到这个数时, 自动停止做种, 0为一直做种, 默认:1.0 seed-ratio=1.0 # 强制保存会话, 话即使任务已经完成, 默认:false # 较新的版本开启后会在任务完成后依然保留.aria2文件 #force-save=false # BT校验相关, 默认:true #bt-hash-check-seed=true # 继续之前的BT任务时, 无需再次校验, 默认:false bt-seed-unverified=true # 保存磁力链接元数据为种子文件(.torrent文件), 默认:false #bt-save-metadata=false #仅下载种子文件 bt-metadata-only=true #通过网上的种子文件下载,种子保存在内存 follow-torrent=mem
# 开机自启: cat << eof > /etc/systemd/system/aria2.service [Unit] Description=Aria2c download manager After=network.target [Service] User=root Type=forking ExecStart=/usr/bin/aria2c --conf-path=/usr/local/aria2/aria2c.conf -D [Install] WantedBy=multi-user.target eof
systemctl start aria2 systemctl enable aria2
4.1、配置cloudreve
管理面板 ===》 离线下载节点 ===》点击编辑主节点
选择启动,主机接管离线下载任务
在「Aria2 RPC 设置」部分,填写以下信息:
-
RPC 地址:通常为
http://127.0.0.1:6800/
-
RPC 密钥:填写你在
aria2.conf
中设置的rpc-secret
。
创建临时下载目录:
mkdir /root/cloudreve/aria2 && chmod 777 /root/cloudreve/aria2/
4.2、测试配置:
在 Cloudreve 中尝试添加一个离线下载任务,检查是否能够成功添加到 aria2 并开始下载。
离线下载是指用户通过特定的软件或服务,将网络上的文件先下载到服务商的服务器上,然后用户可以从服务器上下载文件到本地电脑或其他设备的过程。这个过程通常有几个特点:
-
节省本地资源:离线下载可以节省用户自己电脑的带宽和资源,尤其是对于大文件的下载,不需要长时间开启电脑。
-
突破网络限制:有些网络环境可能对下载速度有限制,或者某些资源在用户的网络环境下无法直接下载。通过离线下载服务,可以绕过这些限制。
-
提高下载速度:离线下载服务通常拥有较快的网络环境和服务器资源,因此可以提供比普通下载更快的速度。
-
方便性:用户可以在任何时间、任何地点,只要能连接到互联网,就可以从离线下载服务器上获取文件。
-
支持断点续传:即使下载过程中断,也可以从上次中断的地方继续下载,而无需重新开始。