前言
对于网盘来说现在最普及的就是百度云盘,不过很不喜欢百度盘的一点是:
分享一个文件给朋友,对方必须使用百度云客户端才可以下载,而且百度云对于资源会进行审核。
这个时候就希望一个网盘能实现:
1.发送给对方分享链接
2.对方点击链接,直接下载
(且下载速度不受限,文件内容不被监管)
这就需要搭建一个私有的个人网盘,并满足上述的需求。
于是Cloudreve诞生了。
私有网盘的优势是,所有文件都在自己的服务器上,更安全可靠,自由度更高。
那么搭建个人网盘的条件是什么?
下面就为大家介绍cloudreve,并讲解如何搭建cloudreve服务。
Cloudreve介绍
Cloudreve是一个开源的网盘系统,它具有如下特性:
- 网页端直接上传/下载。
- 支持离线下载
- 支持WebDAV协议
- 多用户组,用户管理,支持用户注册
- 视频,图片,音频,文本,office文档在线预览
- 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive作为存储端
- 等等等…
cloudreve的主页
后台配置页面
更多了解可以访问它的github主页:
https://github.com/cloudreve/Cloudreve
支持WebDAV
除了上传分享文件外,笔者最常用的就是将cloudreve网盘挂载成一个网络驱动器。
首先为朋友的电脑挂上这个网络驱动器(因为cloudreve支持WebDAV)。
每次要分享文件的时候,只需要将文件拷贝进去。
对方就可以在他的电脑上打开这个盘,拿走文件。
搭建Cloudreve
搭建这样的一个网盘,肯定需要一台云服务器。
(其实就是一台配有公网ip的电脑主机)
笔者是在腾讯云租的lightroom轻量应用服务器。
其它的如阿里云,华为云,国外的一些云服务器厂商也都ok。
这里我选用的是香港地区,CentOS8.0系统。
一个最便宜的资费套餐。
进入控制台,找到公网ip,并重置一下密码。
我使用的是MobaXterm这款软件进行ssh连接(贼好用)。
然后就开始命令行环节了。
准备cloudreve程序
从这里找到最新的版本:
https://github.com/cloudreve/Cloudreve/releases
我用的是CentOS,x86架构,所以这里选择amd64版本。
鼠标右键复制链接地址。
1 2 3 4 5 6 7 8 9 10 11
| 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。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| yum install mysql-server
systemctl start mysqld.service
mysql
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
systemctl restart mysqld.service
|
mysql默认运行在3306端口,我们需要将它配置给cloudreve。
新建一个文件:
写入下面的内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| [Database] ; 数据库类型,目前支持 sqlite | mysql Type = mysql
; MySQL 端口 Port = 3306
; 用户名,根据自己情况修改 User = root
; 密码,根据自己情况修改 Password = "mysql的root密码"
; 数据库地址,根据自己情况修改 Host = 127.0.0.1
; 数据库名称,根据自己情况修改 Name = mysql
; 数据表前缀 TablePrefix = cd
|
进行测试
这个时候cloudreve服务就已经配置好了。
输入下面的命令启动它:
1 2
| cloudreve -c /etc/cloudreve.conf
|
可以看到终端里输出的信息,初始的账户和密码。
它运行在5212端口,打开浏览器,输入你的服务器”公网ip:5212”,回车。
输入刚刚显示的账户和密码就可以登陆了:
然后我们需要为它加上一个域名和https,还有aria2(用作离线下载)。
域名解析
我是在namecheap购买的域名和解析,
添加一条A记录输入你的公网ip即可。
配置ssl
网站没有一个小锁是不好看的
有了ssl证书,网站才会是https协议。
我使用的是acme来申请的证书。
首先从安装nginx开始:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| yum install nginx
yum install openssl yum install socat yum install netcat
curl https://get.acme.sh | sh
cd .acme.sh/ ./acme.sh --issue -d cloud.lingyunfx.com --standalone -k ec-256
|
这里可以看到终端输出的证书和密钥位置:
(记下来!)
配置nginx:
1 2 3 4 5
| mkdir -p /www/log/
vim /etc/nginx/conf.d/default.conf
|
内容如下(有四个地方需要根据自己的情况进行替换)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| 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: } 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: 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。
再次启动cloudreve服务进行验证。
1
| cloudreve -c /etc/cloudreve.conf
|
现在可以看到网站上有美丽的小锁了。
配置aria2
1 2 3 4 5 6
| # 安装 yum install aria2
# 新建一个配置文件 mkdir /etc/aria2 vim /etc/aria2/aria2.conf
|
写入下面内容:
1 2 3 4 5 6 7 8
| #是否启用RPC服务,请设置为true enable-rpc=true
#RPC服务的端口,默认为6800 rpc-listen-port=6800
#设置PRC服务的密钥,在接下来的步骤中会用到 rpc-secret=my_password
|
里面rpc-secret后面是你对接aria2的密码,自己改一个。
然后建立并配置aria2服务。
1
| vim /usr/lib/systemd/system/aria2.service
|
写入
1 2 3 4 5 6 7 8 9 10
| [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,启动服务。
1 2 3
| systemctl daemon-reload systemctl enable aria2 systemctl start aria2
|
最后需要cloudreve网页端配置aria2。
首先启动cloudreve程序。
1
| cloudreve -c /etc/cloudreve.conf
|
登录后在网站右上角进入管理面板
进行如下设置。
可以参考官方的wiki:https://docs.cloudreve.org/use/aria2
到了这里离线下载的功能就配置好了。
配置cloudreve开机启动
1
| vim /usr/lib/systemd/system/cloudreve.service
|
写入:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| [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
|
然后更新并启动服务
1 2 3 4 5 6 7 8
| # 更新配置 systemctl daemon-reload
# 启动服务 systemctl start cloudreve
# 设置开机启动 systemctl enable cloudreve
|
到这里就完成了!
挂载网络驱动器
最后说一下怎么把网盘挂载成一个网络驱动器。
我用的是一个叫raidrive的软件进行辅助挂载。windows自身也可以直接进行挂载,
不过这个软件有本地缓存的帮助,访问会流畅很多。
下载地址:
https://www.raidrive.com/download
下载后双击安装,这里进行配置即可
账户密码在这个页面获取
这篇文章差不多就到这里,觉得还不错可以关注下这个公众号,thx!