使用Cloudreve搭建私有云盘

文章 此情可待成追忆
2021-5-18 09:48 108人浏览 0人回复
原作者: lingyunFX 收藏 邀请
前言

对于网盘来说现在最普及的就是百度云盘,不过很不喜欢百度盘的一点是:
分享一个文件给朋友,对方必须使用百度云客户端才可以下载(且如果对方不是会员下载速度你懂的)。
这个时候就希望一个网盘能实现:
1.发送给对方分享链接
2.对方点击链接,直接下载
(且下载速度不受限,文件内容不被监管)
这就需要搭建一个私有的个人网盘来满足上述的要求。于是Cloudreve诞生了。

私有网盘的优势是,所有文件都在自己的服务器上,更安全可靠,自由度更高。
那么搭建个人网盘的条件是什么?
一点linux基础
一台云主机
下面为大家介绍cloudreve,并讲解如何搭建cloudreve服务。
在此之前,点开这个分享链接感受一下直接下载的魅力:
https://cloud.lingyunfx.com/s/jRfM

Cloudreve介绍

Cloudreve是一个开源的网盘系统,它具有如下特性:
网页端直接上传/下载。
支持离线下载
支持WebDAV协议
多用户组,用户管理,支持用户注册
视频,图片,音频,文本,office文档在线预览
支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive作为存储端
等等等...
cloudreve的主页

后台配置页面

更多了解可以访问它的github主页:
https://github.com/cloudreve/Cloudreve
除了上传分享文件外,笔者最常用的就是将cloudreve网盘挂载成一个网络驱动器。
(=。=忽略容量大小的显示,这是个bug)

首先为朋友的电脑挂上这个网络驱动器(因为cloudreve支持WebDAV)。
每次要分享文件的时候,只需要将文件拷贝进去。

对方就可以在他的电脑上打开这个盘,拿走文件。
那么关于cloudreve的介绍就到这里,阅读文章不如亲手尝试。
这里分享一下刚刚搭建的这个网盘服务,
访问网址是: https://cloud.lingyunfx.com
登陆的账户和密码账户:admin@cloudreve.org
密码:lingyunfx123
这个网盘的服务大概7天后到期,所以是一个临时分享。
下面开始介绍如何搭建这样一个私人网盘。(无聊的代码部分)

搭建Cloudreve

搭建这样的一个网盘,肯定需要一台云服务器。
(其实就是一台配有公网ip的电脑主机)
笔者是在腾讯云租的lightroom轻量应用服务器。
其它的如阿里云,华为云,国外的一些云服务器厂商也都ok。

这里我选用的是香港地区,CentOS8.0系统。
一个最便宜的资费套餐。

进入控制台,找到公网ip,并重置一下密码。

我使用的是MobaXterm这款软件进行ssh连接(贼好用)。然后就开始命令行环节了。
准备cloudreve程序
从这里找到最新的版本:
https://github.com/cloudreve/Cloudreve/releases
我用的是CentOS,x86架构,所以这里选择amd64版本。

鼠标右键复制链接地址。

# 下载cloudreve主程序,wget后面是刚刚复制的地址
wget https://github.com/cloudreve/Cloudreve/releases/download/3.3.1/cloudreve_3.3.1_linux_amd64.tar.gz

# 解压
tar xvf cloudreve_3.3.1_linux_amd64.tar.gz

# 复制到指定位置
cp cloudreve /usr/bin/cloudreve

# 给予可执行权限
chmod 755 /usr/bin/cloudreve

安装配置mysql
默认情况下,Cloudreve会使用内置的SQLite数据库。笔者建议使用mysql。

# 安装mysql
yum install mysql-server

# 启动mysql
systemctl start mysqld.service

# 进入到mysql交互界面
mysql

# 设置root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';

# 创建用户
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';

# 开启root远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

# 刷新设置
FLUSH PRIVILEGES;

# 退出交互界面
exit

# 重启mysql服务
systemctl restart mysqld.service

mysql默认运行在3306端口,我们需要将它配置给cloudreve。
新建一个文件:

vim /etc/cloudreve.conf

写入下面的内容:

[Database]
; 数据库类型,目前支持 sqlite | mysql
Type = mysql

; MySQL 端口
Port = 3306

; 用户名,根据自己情况修改
User = root

; 密码,根据自己情况修改
Password = "mysql的root密码"

; 数据库地址,根据自己情况修改
Host = 127.0.0.1

; 数据库名称,根据自己情况修改
Name = mysql

; 数据表前缀
TablePrefix = cd

进行测试

这个时候cloudreve服务就已经配置好了。
输入下面的命令启动它:

# 用刚刚创建的配置文件启动
cloudreve -c /etc/cloudreve.conf

可以看到终端里输出的信息,初始的账户和密码。

它运行在5212端口,打开浏览器,输入你的服务器"公网ip:5212",回车。
输入刚刚显示的账户和密码就可以登陆了:

然后我们需要为它加上一个域名和https,还有aria2(用作离线下载)。

域名解析

我是在Namecheap购买的域名和解析,
添加一条A记录输入你的公网ip即可。

配置ssl

“网站没有一个小锁是不好看的
有了ssl证书,网站才会是https协议。
我使用的是acme来申请的证书。
首先从安装nginx开始:

# 安装nginx
yum install nginx

# 安装acme的依赖
yum install openssl
yum install socat
yum install netcat

# 下载acme
curl  https://get.acme.sh | sh

# 生成证书(在这一步前一定要完成域名解析)
cd .acme.sh/
./acme.sh --issue -d cloud.lingyunfx.com --standalone -k ec-256

这里可以看到终端输出的证书和密钥位置:
(记下来!)

配置nginx:

# 在此之前新建一个目录
mkdir -p /www/log/

# 新建一个配置文件
vim /etc/nginx/conf.d/default.conf

内容如下(有四个地方需要根据自己的情况进行替换)
server
{
 listen 80;
 listen 443 ssl http2;
 server_name cloud.lingyunfx.com;       # 这里替换自己的域名
 if ($host != 'cloud.lingyunfx.com'){   # 这里替换自己的域名
  return 403;
 }
 if ($server_port = 80 ) {
  return 301 https://$host$request_uri;
 }
index index.php index.html index.htm default.php default.htm default.html;
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 4000m;        # 这里限制了单个文件上传的大小
}
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
ssl_certificate /root/.acme.sh/cloud.lingyunfx.com_ecc/cloud.lingyunfx.com.cer;     # 这里是你的证书地址
ssl_certificate_key /root/.acme.sh/cloud.lingyunfx.com_ecc/cloud.lingyunfx.com.key; # 这里是你的密钥路径
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;


#SSL-END

#禁止访问的文件或目录
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
     return 404;
}

access_log  /www/log/access.log;
error_log  /www/log/error.log;
}

完成后启动nginx。

systemctl start nginx

再次启动cloudreve服务进行验证。

cloudreve -c /etc/cloudreve.conf

现在可以看到网站上有美丽的小锁了。

配置aria2

# 安装
yum install aria2

# 新建一个配置文件
mkdir /etc/aria2
vim /etc/aria2/aria2.conf

写入下面内容:

#是否启用RPC服务,请设置为true
enable-rpc=true

#RPC服务的端口,默认为6800
rpc-listen-port=6800

#设置PRC服务的密钥,在接下来的步骤中会用到
rpc-secret=my_password

里面rpc-secret后面是你对接aria2的密码,自己改一个。
然后建立并配置aria2服务。

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

写入

[Unit]
Description=aria2c

[Service]
User=root
ExecStart=/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf
Restart=on-abort

[Install]
WantedBy=multi-user.target

重载daemon,启动服务。

systemctl daemon-reload
systemctl enable aria2
systemctl start aria2

最后需要cloudreve网页端配置aria2。
首先启动cloudreve程序。

cloudreve -c /etc/cloudreve.conf

登录后在网站右上角进入管理面板

进行如下设置。
可以参考官方的wiki:https://docs.cloudreve.org/use/aria2

到了这里离线下载的功能就配置好了。

配置cloudreve开机启动

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

写入:

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

[Service]
ExecStart=/usr/bin/cloudreve -c /etc/cloudreve.conf

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

到这里就完成了!

挂载网络驱动器

最后说一下怎么把网盘挂载成一个网络驱动器。
我用的是一个叫Raidrive的软件进行辅助挂载。windows自身也可以直接进行挂载,
不过这个软件有本地缓存的帮助,访问会流畅很多。
下载地址:https://www.raidrive.com/download
下载后双击安装,这里进行配置即可

账户密码在这个页面获取

这篇文章差不多就到这里。

路过

雷人

握手

鲜花

鸡蛋

最新评论

相关分类
热门教程
返回顶部
客服