这次我们要在树莓派上搭建个私有云盘,在局域网内为家里的设备提供24小时不间断的磁盘服务。
准备材料:
- 树莓派 :我用了4B,需要刷个64位的linux系统,推荐 Debian- pi -Aarch64。
- 蓝眼云盘:开源的云盘系统很多,经过一番筛选后选择了蓝眼云盘。它是用golang写成,后台操作界面很完善,github上star数不少,维护人员也很活跃,代码地址:。
- 移动硬盘:树莓派内置的SD卡存储量有限,需要挂个外接硬盘。
- mariadb : mysql 是兼容的数据库,蓝眼云盘需要的。
开始搭建:
直接用root用户登录树莓派进行操作。
1、挂载移动硬盘
前面的一篇文章已经详细介绍过,请移步 ,我们假设已经成功挂载在在/home/pi/warehouse/disk目录下。
2、安装mariadb
apt-get install mariadb-server
安装好后配置下允许外部访问,命令行操作不太方便。
mysql -uroot -p
安装好后默认的密码是空,输密码的地方按enter就好,顺便修改下数据库的密码。
use mysql; set password=PASSWORD('you-password'); flush privileges;
开始配置允许 远程访问
首先在配置文件里注释掉绑定本地ip的配置项,配置文件如下。
vim /etc/mysql/mariadb.conf.d/50-server.cnf
配置允许root用户远程登录,这个要修改数据库,先用命令行连接上数据库。
mysql -uroot -p
查询下用户现在的配置,可以看到host是localhost.
select User, host from mysql.user;
把它修改成允许所有ip访问,IDENTIFIED BY后面跟的是远程访问的密码, 一定要注意这个访问密码!不然你可能找问题找到吐血!
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'new-password' WITH GRANT OPTION;
刷新一下
FLUSH PRIVILEGES;
再次查看用户host配置。
select User, host from mysql.user;
这样应该就可以远程访问了。
3、安装蓝眼云盘
准备工作都已经完成了,开始进入正题。
首先下载个蓝眼云盘,tank-3.0.5.linux-arm64.tar.gz是我们需要的版本。执行 wget 命令下载。
wget
解压。
tar -xzvf tank-3.0.5.linux-arm64.tar.gz
改下名字舒服点儿。
mv tank-3.0.5 tank
在我们的数据库中给云盘创建一个数据库,一定要选utf8mb4,不然很多中文和特殊字符都没法存储。
初次启动蓝眼云盘,到云盘目录的service目录执行下
./startup.sh
访问树莓派的ip,我的是 。按照引导步骤安装就好。
首先填写的是数据库。
然后开始创建表,点一键建表。
之后创建管理员账号
然后就搞定啦
我们配置下云盘文件的存储位置,让他存储到我们的移动硬盘上,配置文件是云盘目录下的./config/tank. json
红色箭头所指的就是文件存储目录,我们改成/home/pi/warehouse/disk。
后记
局域网里的其他设备都可以访问http://树莓派ip:6010来使用云盘。这样做其实不是很完美,如果我们在搞个dns服务器用域名访问就比较舒服了。还有一个缺陷是不能 外网 访问,还可以搞下内网穿透,让外网也能访问到。