过完年了,但是绝对不能忘记为大家更新点东西,大国哥家里一直有台树莓派在吃土,还是2017年花300块钱购入的,另外还有好几台废旧电脑,鉴于我这个爱折腾患者已经处于晚期,神经极度敏感的我,马上利用手上现有的零件,立刻打起了私有网盘NAS系统的主意。
经过长达一段时间的踩坑,终于走向了成功,下面开始show出效果:
声明:本文章需要有一定的树莓派常识、熟悉linux命令、熟悉服务器配置、有颗爱折腾的心。
话已至此,下面我们来介绍一下整个系统所需要的硬件及软件:
1.一个树莓派3B+
2.一个TF卡 8GB以上 、读卡器一个
3.一块用不到的硬盘 及硬盘易驱线
4.镜像烧录软件:Win32DiskImager
5.raspios系统,lite版本
4.CloudReve3.4 linux_64版本 链接:https://github.com/cloudreve/Cloudreve/releases/tag/3.4.2
6.一台云服务器
第一部分:安装系统
1.将sd卡插入读卡器,再接到电脑usb接口
2.备份sd卡数据,打开Win32DiskImager软件,选择已下载好的镜像,选定要烧录的sd卡,点击写入。等待完成即可。
3.将sd卡取出,插入树莓派,上电等待开机即可,它会自动安装。
4.如果家里没有网线,需要此系统自动连接无线网,则退回第2步操作,在Boot盘中,创建一个wpa_supplicant.conf文件,里面编辑为:
country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="wifi名字"
psk="wifi密码"
key_mgmt=WPA-PSK
priority=1
}
创建一个无后缀名,且命名为SSH文件。至此再进行第3步操作,开机后安装后可自动连接无线wifi。
第二部分:系统部署
开机后成功进入命令行界面,这个时候我们需要更新一下索引和文件,命令如下:
sudo apt-get update (更新索引)
sudo apt-get upgrade (更新文件)
换源:
sudo nano /etc/apt/sources.list 命令打开配置文件
替换以下内容:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main contrib non-free rpi
sudo nano /etc/apt/sources.list.d/raspi.list
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui
按Ctrl+x退出,选择Y回车,即退出保存。
第三部分:安装cloudreve
很多人吐槽cloudreve,bug太多也不是多线程,用户体验不好,我用它的唯一可取之处那就是它有存储策略,可以供不同的用户的数据内容存在不同的硬盘挂载上,让我那多个500G的小硬盘也有用武之地,虽然别的产品也有存储策略,但是要么收费,要么就是需要修改源码,而cloudreve则是刚刚满足我的硬性需求。
sudo su 切换到root用户
sudo ufw allow 5212 放行5212端口
将cloudreve文件放到磁盘目录中,将命令行目录定位于cloudreve所在目录,运行安装命令:
chmod +x ./cloudreve
./cloudreve
编辑配置文件:
nano /usr/lib/systemd/system/cloudreve.service
修改为:注意格式一致
[Unit]
Description=Cloudreve
Documentation= https://docs.cloudreve.org
After=network.target
Wants=network.target
[Service]
WorkingDirectory=/home/pi/nas
ExecStart=/home/pi/nas/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
然后Ctrl+o保存Ctrl+x退出
systemctl daemon-reload 更新配置
systemctl start cloudreve 启动服务
systemctl enable cloudreve 设置开机启动
systemctl stop cloudreve 停止服务
systemctl restart cloudreve 重启服务
systemctl status cloudreve 查看状态
启动服务之后,浏览器输入你局域网内树莓派的ip例如:
192.168.1.108:5212
即可看到cloudreve的界面了,登录账户和密码都在安装启动之后,dos命令行给显示出来了。
第四部分:挂载硬盘
提供两种不同格式的挂载方式:
sudo mkdir /home/pi/disk 创建的目录
挂载NTFS格式
sudo mount /dev/sda1 /home/pi/disk 挂载
如果报错则执行
sudo fuser -m -u /dev/sda1
sudo kill 1308 杀掉1308
之后重新挂载
df -h 检查
sudo aptitude install ntfs-3g 安装NTFS格式可读写软件
modprobe fuse 加载内核模块
sudo nano /etc/fstab 让移动硬盘开机自动挂载
添加: /dev/sda1 /home/pi/toshiba ntfs-3g defaults,noexec,umask=0000 0 0
挂载exFAT格式
FAT 格式U盘 mount 本身就能支持,但如果你的U盘或移动硬盘使用的是 exFAT 格式,mount 会说不支持。没关系,安装 exfat-fuse 软件之后 mount 就支持了。
sudo apt-get install exfat-fuse
如果想开机自动挂载,而不是每次手工执行,可以编辑 /etc/fstab 文件。比如在末尾添加一行:
/dev/sda1 /mnt/usbdisk vfat rw,defaults 0 0
硬盘挂载完之后,在cloudreve后台管理面板,将修改存储策略到挂载的位置即可。
1.选择存储策略
2.添加存储策略
3.本地
然后按照向导输入路径就可以。
第五部分:FRP内网映射
客户端安装frp:
wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm.tar.gz
tar -zxvf frp_0.33.0_linux_arm.tar.gz
cd frp_0.33.0_linux_arm
nano frpc.ini
在frpc中修改以下信息:
[common]
server_addr = 103.76.xx.xx
server_port = 7000
token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2
pool_count = 5
#我这里是配置端口范围转发
[range:services]
#类型为tcp
type = tcp
#本地ip地址通常为127.0.0.1 或 localhost
local_ip = 127.0.0.1
#本地要映射的端口范围
local_port = 5211-5213,5212
#映射到服务端的端口范围
remote_port = 5211-5213,5212
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
客户端启动:./frpc -c ./frpc.ini
开机自启动 由于树莓派的掉电不可避免, 还是搞个开机自启动比较好.
编辑/etc/rc.local文件, 在其最后一行exit 0之前, 插入如下2行:
/bin/sleep 60
sudo /home/pi/frp/frpc -c /home/pi/frp/frpc.ini &
保存退出即可。
配置服务器端:
frps.ini文件内容如下:
[common]
bind_port = 7000
vhost_http_port = 8080
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = admin
token = 8d262f2b-6dba-4a8d-857e-8a53d1d439e2
服务端启动:./frps -c ./frps.ini
如两端都显示成功,则从你的公网ip或者域名连接映射的5212端口就可以了,如:
http://154.177.23.15:5212 。
至此,整个的NAS云配置算是全部完成。但是大国哥发现通过外网下载上传大文件,连续十几分钟左右,frp就会自动断开,查资料说的原因种种不一,说被墙的比较多,玩派的群里有大佬支招,写个脚本守护,断掉立马重连,但是考虑以后还会实际使用,就干脆买了个xx的内网穿透产品,10块钱一个月,装上后很稳定,很少断开,带宽也还不错,无奈自己家里的网线带宽感人,所以穿透的下载和上传速度也都很慢,不过这个后期只需要升级家里的带宽就可以了,总体上传下载带宽在3-5M左右是没问题的,预算还好的话可以升级更大的带宽和映射套餐,这样我们就可以摆脱掉某度云等一些云盘服务商,而且数据完整的保存在自己家里的硬盘里,不怕丢失,也安全。
个人瞎折腾写下的一点心得,不足之处,还望网友斧正。