从头开始在树莓派上搭建seafile私有云
摘要:安装系统、设置远程连接、安装软件包、设置防火墙、安装docker、安装seafile
准备工作
- 树莓派主板(装好散热片或散热外壳)
- SD卡
- 电源
- 电脑
安装系统
Raspberry Pi OS (previously called Raspbian) 树莓派官方系统下载地址:https://www.raspberrypi.org/downloads/
Raspberry Pi OS (64 bit) beta test version 下载地址:https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370
(目前官方还没有出64位系统的正式版本)
将SD卡通过读卡器连接到你的电脑上,使用官方的工具(Raspberry Pi Imager)往SD卡中烧录系统。
设置自动连接WiFi
在电脑上打开SD卡,在/boot
目录中创建文件wpa_supplicant.conf
,文件内容如下
1 | country=CN |
扩展配置
1 | # 如果你的 WiFi 没有密码 |
启用SSH
在电脑上打开SD卡,在/boot
目录中创建一个名为ssh
的空文件即可。
开机使用
将SD卡插到树莓派上,将树莓派连接到电源,它会自动开机。等两分钟左右,在电脑上访问路由器管理界面,查到树莓派的ip地址,通过ssh进行连接。
注: 初始用户:pi
, 初始密码: raspberry
1 | ➜ ~ ssh pi@192.168.0.108 |
启用root账号
1 | # 修改root密码 |
使用root账号进行ssh登录
修改ssh的配置文件
1 | vim /etc/ssh/sshd_config |
将配置项PermitRootLogin without-password
修改为
1 | PermitRootLogin yes |
重启sshd服务
1 | systemctl restart sshd |
修改pi账号密码
1 | root@raspberrypi:~# passwd pi |
VNC远程桌面
进入Pi的系统配置程序
1 | sudo raspi-config |
选择第5项:5 Interfacing Options
选择第3项:P3 VNC
出现如下提示时 Would you like the VNC Server to be enabled?
选择 Yes
然后在电脑上访问这个地址下载个远程桌面软件 - VNC viewer https://www.realvnc.com/en/connect/download/viewer/
打开VNC Viewer,输入树莓派的ip地址进行连接
注意:
如果启用VNC时系统提示需要安装一些依赖包,可先不进行安装,因为下载软件会比较慢,先参考下文切换镜像源,再重新开启VNC。
Raspberry Pi OS (64 bit) beta test version 暂不支持VNC
切换国内的软件镜像源
我安装的系统是**Raspberry Pi OS (32-bit)**,参考这个文档修改了以下两个文件
1 | vim /etc/apt/sources.list |
1 | deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ buster main non-free contrib rpi |
1 | vim /etc/apt/sources.list.d/raspi.list |
1 | deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ buster main ui |
然后执行命令更新软件包列表
1 | $ apt-get update |
配置防火墙(iptables)
只开放22、80、443三个端口
1 | iptables -A INPUT -p tcp --dport 22 -j ACCEPT |
关闭所有端口
1 | iptables -P INPUT DROP |
查看防火墙配置
1 | root@raspberrypi:~# iptables -nL --line-number |
配置防火墙(ufw)
安装ufw
1 | apt-get install ufw |
启用并关闭所有外部对本机的访问
1 | ufw enable |
常用命令
1 | # 关闭防火墙 |
安装docker
下载安装脚本
1 | $ curl -fsSL https://get.docker.com -o get-docker.sh |
编辑脚本,找到mirrors部分,增加清华大学的镜像源,修改后的文件如下:
1 | ... |
指定镜像进行安装
1 | $ sh get-docker.sh --mirror Tsinghua |
切换docker国内镜像地址
1 | $ vim /etc/docker/daemon.json |
1 | { |
1 | $ systemctl restart docker |
注:只重启docker可能会不生效,重启树莓派再试
安装seafile
docker-compose方式安装文档:https://cloud.seafile.com/published/seafile-manual-cn/docker/%E7%94%A8Docker%E9%83%A8%E7%BD%B2Seafile.md
安装docker-compose
1 | $ apt-get install -y docker-compose |
下载并修改docker-compose.yml
文件
启动
1 | $ docker-compose up -d |
最后
折腾了半天,seafile启动失败了。。。先睡觉,明天再看吧。
1 | root@raspberrypi:/opt/seafile# docker-compose up -d |
后续
上面安装seafile失败的原因是:seafile官方的docker镜像是基于amd64
架构的,而我的树莓派4b安装的系统是Raspberry Pi OS (64 bit) beta test version ,是aarch64
的,系统不兼容。
后来我又尝试安装seafile的树莓派专用版本,又遇到了一些问题,因为seafile的树莓派版本是32位的软件。
然后我又重新刷了树莓派系统,刷成了**Raspberry Pi OS (32 bit)**,再次安装seafile的树莓派版本才最终成功。
不过用32位的系统也有坑,就是好多软件已经慢慢不支持32位系统了,希望官方早点出64位系统正式版。
seafile软件展示
seafile是一个比较好的家庭私有云解决方案,一定程度上可以代替百度云。
在树莓派上搭建一套seafile,家人可以把照片、视频、文档传上去,走路由器内网,上传、下载速度甩百度云几条街。
打电信客服电话10000申请一个固定ip地址,再在天翼网关和无线路由器上做好端口转发,同时设置ip和mac地址绑定,即可将树莓派的端口映射到外网,这样不在家也可以访问seafile上的文件。
安装完成效果图:
手机端: