Cloudreve搭建私人云盘

部署Cloudreve云盘

个人理解:NextCloud更多倾向于基于云盘的团队协作,对只需要云盘的我来说,略显臃肿。在实际使用中发现NextCloud在运行中需要较高的CPU处理能力,对一段视频的处理速度有时候会导致服务器运行卡死,毕竟我电脑是5年前的笔记本了。

对于仅需要独立云盘的我来说,我舍弃了NextCloud选择了Cloudreve,经过一段时间的测试,Cloudreve更加简洁实用。在日常使用过程中,上传文件下载文件都不会占用CPU资源。

前期一些准备可见(ipv6承载云盘):家庭宽带搭建ipv6私人网盘

环境:Ubuntu 22.04+8G+2T机械+i5-8250U 1.6G (戴尔7572,重装的Ubuntu系统)

获取Cloudreve安装包

1.直接获取 wget https://github.com/cloudreve/Cloudreve/releases/download/3.7.1/cloudreve_3.7.1_linux_amd64.tar.gz
2.GitHub下载对应的安装包 https://github.com/cloudreve/Cloudreve/release

解压下载的安装包

解压到当前目录 tar -zxvf cloudreve_3.7.1_linux_amd64.tar.gz
解压到指定目录 tar -zxvf cloudreve_3.7.1_linux_amd64.tar.gz -C "you_install_path(eg: /opt/cloudreve)"

启动Cloudreve

找到Cloudreve解压目录,下面会有一个可执行文件cloudreve

./cloudreve #启动cloudreve

执行后会看到生成的文件以及控制台输出的默认账号密码(初始有效,忘记后删除cloudreve.db后使用./cloudreve重新生成管理账号密码)

conf.ini #配置文件
cloudreve.db #-数据文件
Admin user name: [email protected] #初始管理账号
Admin password: ******** #账号密码

使用初始化账号密码网页访问localhost:5212(默认端口)即可访问cloudreve

Cloudreve搭建私人云盘_第1张图片

Cloudreve搭建私人云盘_第2张图片

使用systemctl方法启动关停cloudreve

cd /

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

写入以下内容(i -编辑,Esc -退出编辑,:wq -保存退出,:q -退出不保存)

[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target

[Service]
WorkingDirectory= #dir of cloudreve
ExecStart= #path of cloudreve
Restart=on-abnormal
RestartSec=5s
StandardOutput=append:/opt/logs/cloudreve.log #log地址会被nginx日志接管
KillMode=mixed
StandardOutput=null
StandardError=syslog

[Install]
WantedBy=multi-user.target

保存退出,刷新systemctl服务(命令根据操作系统而定),启动cloudreve

systemctl daemon-reload #刷新systemctl

systemctl start/stop/restart cloudreve #启动/停止/重启cloudreve

systemctl enable cloudreve #开机自启动

修改Cloudreve配置(MySQL&Redis)

MySQL和Redis安装方法可参考我搭建NextCloud那篇文章:家庭宽带搭建ipv6私人网盘

打开conf.ini内容如下

[System]
Debug = false
Mode = master
Listen = :5212 #可更改自己端口,重启cloudreve生效
SessionSecret = urJu****r7IM0EffOFHMWK1LbK5xo6eGS4amPRpDe
HashIDSalt = tDNCyEAPzXXlT****Ys3edeKyJAijMSLwIwP

配置自己的数据库MySQL

[Database]
#数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
Port = 3306
User = *User*
Password = *Password*
Host = 127.0.0.1 #本地
Name = cloudreve #库名
TablePrefix = cd #数据表前缀,所有数据表都会以cd开头命名(eg:cdfiles,cddownloads)
Charset = utf8 #编码

可配置自己的Redis

[Redis]
Server = 127.0.0.1:6379
Password = *Password*
DB = 1 #库索引(0-15)

使用Nginx方向代理

编辑Nginx文件

cd /

vim /etc/nginx/sites-enabled/default

server { #新增server(有域名和证书)
	listen 4433 ssl;
	listen [::]:4433 ssl;
	server_name example.com;

	server_tokens off;

	ssl_certificate (path of example.com_bundle.pem);
	ssl_certificate_key (path of example.com.key);

	#服务端要支持 协议配置
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
	ssl_prefer_server_ciphers on;
	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout  5m;

	if ($scheme = http) {
		return 301 https://$host$request_uri;
	}

	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; #port默认5212
		client_max_body_size 60000m; #上传文件最大size
	}
}

Esc退出编辑,:wq保存退出,重启nginx,使用example.com访问cloudreve

systemctl restart nginx

修改静态文件

停掉cloudreve

systemctl stop cloudreve

在cloudreve目录下使用以下命令剥离静态文件

./cloudreve -eject

会在目录下生成"statics"静态资源文件夹,修改后使用启动命令启动cloudreve

systemctl start cloudreve

升级Cloudreve版本

在GitHub上找到最新版本,解压到对应文件夹,删除原来的statics文件夹,使用systemctl启动即可

修改的静态文件可以使用前面的方法再次剥离修改。

你可能感兴趣的:(linux,ubuntu,服务器)