在校园网的环境下用树莓派搭建私人云
前言:
课程设计下载链接(1条消息) 《基于校园网的树莓派云存储设计》课程设计-Linux文档类资源-CSDN文库
学了一个学期的树莓派,在期末的时候老师给我们布置了一个基于树莓派的课程设计。自己的程序基础比较薄弱,就想着用现有的程序做一个课程设计,自己也是偶尔看见了有人用树莓派挂载硬盘给自己做的NAS。刚开始以为这个挺简单的,找一个教程,跟着做就行。但是到了我真正开始做的时候并没有那么简单,教程上一个简单的步骤有时候就是和自己的树莓派显示的不一样,自己又要花费大量的时间去解决这一个问题,自己也想过放弃,去找一个现成的小游戏程序水一下,但是自己又不想轻言放弃,想试试硬着头皮去做,使劲去肝,会不会做出来。在用了总共差不多三十多个小时后,“轻松”实现了在校园网的环境下用树莓派搭建私人云。
最简单实现的文件共享就是用samba的方式来实现,在PC端直接访问树莓派的IP地址就可以,类似于PC间的局域网文件夹共享,自己在尝试这一种方法时教程里说要挂载移动硬盘(PS:小白千万不要尝试挂载移动硬盘,因为如果配置错误的话,会让你的树莓派下一次开机进不了桌面,直接进紧急模式),然后在我重启的时候树莓派的系统就坏了,在尝试了N多种方法之后,还是重新装了系统。不过最后还是实现了用samba来实现,但是总觉得用PC的资源管理器的用很low,就去寻求别的方法。
在尝试了使用owncloud、nextcloud的解决方案之后,最终还是用cloudreve解决了网盘搭建的问题。想要在公网上实现访问树莓派的网盘,必须要经过服务器的转接才可以,无论是使用内网穿透(frp、花生壳内网穿透)(内网穿透就是在公网上某个地方访问某个网关的内网,外网穿透涉及国家相关法律,就不讲了)还是异地组网(蒲公英异地组网),就免费的功能来说宽带速度慢,有流量限制。但是用花生壳内网穿透,再加上用学生用户的免费功能,读存取文档够用了。下面就是我做私人云时遇到的问题和解决办法。(本教程更多的是踩雷和避坑吧)
一、树莓派系统的安装与配置
1.系统下载与安装
系统镜像下载推荐官方的下载地址(Operating system images – Raspberry Pi )
新手推荐下载第二个,首先要确认自己SD卡足够大,因为树莓派操作系统与桌面和推荐的软件这个版本的镜像解压后有9个多G,推荐使用32GB以上的SD卡。下载好镜像后,下载官方的烧录工具(Raspberry Pi OS – Raspberry Pi),根据自己电脑的系统下载
虽然网站时国外的,但是下载起来速度还是挺快的。这里要提醒的时要把镜像解压后烧录工具才能识别。
先不着急烧录,右下角的小齿轮后,在里面先简单配置一下,推荐在这个里面配置好树莓派的WiFi,这样可以在系统装好后避免一些不必要的麻烦(比如说开机打不开WiFi开关)。
配置好WiFi后,点击烧录,树莓派开始烧录。可能需要二三十分钟(根据你选择的系统镜像有关),镜像会在SD卡烧录一遍,还要再校验一遍,可以先去吃个饭或者看一集《蜡笔小新》。
2、配置VNC
将树莓派连接显示器后,进入系统后,改一下系统语言为中文((16条消息) 树莓派(Raspberry Pi)如何修改成中文_meihualing的博客-CSDN博客_树莓派设置中文)。
返回桌面,如下图,依次打开 菜单(Menu) > 首选项(Preferences) > Raspberry Pi Configuration:
点击 Interfaces 栏,选择“enable” VNC服务。如下图:
在这个页面也可以打开别的功能,推荐一并打开ssh。
VNC的功能就是可以让树莓派上的桌面可以显示在你的电脑或者手机上,不仅有桌面的应用,也是有安卓版和ios版本的,可以很方便的在平板设备上使用。
Download VNC Viewer | VNC® Connect (realvnc.com)https://www.realvnc.com/en/connect/download/viewer/
在打开VNC后,在树莓派的右上角就会有VNC服务的标志,打开之后就可以看到自己树莓派的IP地址,记住自己树莓派的IP地址,之后的操作还要用到。
在电脑上操作树莓派,可以很方便的复制粘贴很多代码
如果你的树莓派连接的是手机热点,但是在手机上的已连接设备管理中又看不到树莓派的ip地址的话,可以在手机上下载android terminal(安卓命令行)。安装好之后输入
ip neigh
第一行 wlan0 是手机自身外网ip地址,后面的就是链接到手机的热点设备的ip地址。
建议如果使用手机热点连接树莓派的同学不要设置静态ip,在你的手机热点重新打开之后,手机热点的ip地址网段就会发生变化,会导致使用VNC连接不上。所以我上每节课都是使用android terminal来查看树莓派的ip地址,然后使用VNC连接,这样就可以不用借助显示器来查看IP地址。
3、更换国内软件源
因为系统默认的软件源是在国外的服务器,下载软件速度感人,实在不可恭维。国内有学校或者企业把国外的软件源服务器给镜像了一份,比如说清华大学(清华源)、阿里巴巴(阿里源)。在这里我们使用清华源。
换源之前要检查一下自己的系统版本
lsb_release -a #查看系统版本
我这里的系统版本是11 bullseye
deb http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib rpi
deb-src http://mirrors.aliyun.com/raspbian/raspbian/ bullseye main non-free contrib rpi
然后就搜索自己系统版本对应的软件源 (这里我用bullseye做例子)
编辑 /etc/apt/sources.list 文件,这里推荐就用系统自带的 nano 命令编辑,命令如下:
sudo nano /etc/apt/sources.list
进入编辑界面,注释原有的内容,再最下面一行粘贴如下内容:
deb [arch=armhf] http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ bullseye main non-free contrib rpi
更新/etc/apt/sources.list.d/raspi.list
sudo nano /etc/apt/sources.list.d/raspi.list
注释之前的,然后追加
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ bullseye main
更新软件索引清单和比较索引清单更新依赖关系(依次执行下面两天命令)
sudo apt-get update
sudo apt-get upgrade -y
执行这两条命令可能要花费二十多分钟,可以再看一集《蜡笔小新》。
(在每次换源之后必须得执行更新软件索引清单和依赖关系,树莓派才能正确读到你输入的安装软件的命令。如果在第一次更新出错不要着急,多试几次。)
这里再编辑list文件时候使用的是nano文本编辑器,在树莓派中同样还有vi和vim的文本编辑器。nano文本编辑器简单好用,比较贴近Windows的使用习惯,推荐新手使用。在nano文本编辑器中,复制是ctrl+shift+C,粘贴是ctrl+shift+V。
到这里,树莓派的系统算是部署成功了。
二、部署Cloudreve
1、安装cloudreve
用树莓派打开下载链接
https://github.com/cloudreve/Cloudreve/releases
打开后下载如图所示
下载后,在树莓派的/home/pi/Downloads 中找到下载好的文件,选中后右键,提取文件到此处。
在命令行中输入
#进入文件夹
cd /home/pi/Downloads
进入文件夹后打开程序
打开该程序
./cloudreve
然后就会出现下图情况
记录好上面出现的信息,里面有管理员账户和密码。以及端口地址5212。这个时候就说明程序已经开始运行了。运行后就不要再关闭这个窗口,如果关闭这个窗口,那么程序的服务也就停止了。
此时就可以使用连接在同一网关的设备在浏览器中输入树莓派的IP地址加端口号来访问网盘。
2、配置Cloudreve
在同一局域网下,在电脑浏览器输入树莓派的IP地址+端口号,就可以访问cloudreve的主界面了。
三、内网穿透
我们使用的内网穿透使用的是花生壳内网穿透,认证学生用户赠送青春版服务,满足小文件的存取。
1、安装花生壳
用电脑浏览器打开花生壳内网穿透的官网
花生壳客户端官方下载 - 贝锐花生壳官网 (oray.com)
找到树莓派的安装下载链接
在命令行打开
wget "https://dl-cdn.oray.com/hsk/linux/phddns_5.1.0_rapi_armhf.deb" -O phddns_5.1.0_rapi_armhf.deb
这里推荐下载32位版本的,因为大多数树莓派都是32位版本,为了不必要的麻烦就不要下载64位版本的。
此时会有下载进度,等待进度走完。
切换到root用户
sudo -s
使用dpkg命令安装花生壳
dpkg -i phddns_5.1.0_rapi_armhf.deb
安装好后会出现以下文件说明安装成功
此时需要保存好出现的这些信息,自此花生壳安装成功。
2、配置花生壳
用电脑浏览器打开
http://b.oray.com
打开后点击SN码登录
默认密码就是admin
进入网站绑定好你认证过的账户,点击内网穿透->新增映射
你可以修改你的应用名称,外网域名不能修改,点击一下使用默认的。内网主机中添加你树莓派的IP地址,内网端口使用默认的5212,然后点击确认就可以了。可以使用诊断来测试你的内网穿透服务有没有开启。
自此,整个Cloudrerv私人云盘搭建完成了,可以用在同班同校同学之间互相传输文件,分享大文件,保存一些教学资料。也可以用公网进行访问,进行一些小文档的存取操作,可以共享办公室电脑和家里电脑的word文档。
四、不足与改进
1.用户的隐私得不到保证
用树莓派的文件管理器可以直接读取到用户储存的文件,不适合存放比较私密的文件。改进的方法只有开发者加入加密算法,但是碍于树莓派的性能,基本实现不了。
2.树莓派重启后需要重新配置
在树莓派每次重启之后,都要连接显示器打开并且运行cloudreve主程序,并且用树莓派认证校园网页面。这种问题的解决办法只有让树莓派7*24小时运行。
在校园网的环境下用树莓派搭建私人云相关推荐
- 非域环境下搭建文件服务器,非域环境下SQL Server搭建Mirror(镜像)的详细步骤...
原标题:非域环境下SQL Server搭建Mirror(镜像)的详细步骤 1.测试验证环境 服务器角色 机器名 IP SQL Server Ver 主体服务器 WIN-TestDB4O 172.83. ...
- Ubuntu kylin环境下OpenGym + Roboschool搭建过程
Ubuntu kylin环境下OpenGym + Roboschool搭建过程 随着深度学习的不断发展,增强学习也焕发了第二春,以DQN,DDPG,A2C,A3C为代表的一系列深度增强学习算法应运而生 ...
- Windows环境下用Gitblit搭建git服务器
Windows环境下用Gitblit搭建git服务器 一,下载Gitblit.下载地址:http://gitblit.com/ 现在版本是1.8.0. 二,下载后解压该文件,找到data/目录下的de ...
- Ubuntu环境下vjudge系统搭建
Ubuntu环境下vjudge系统搭建 零. 前言 本文简单的介绍了vjudge 在 ubuntu环境下的安装,本文使用的vjudge源码来自浙江传媒大学张浩斌老师的 GitHub .教程大致思路来自 ...
- tf 设置多显卡_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置
原标题:用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:150点赞0收藏0评论 小编注:此篇文章来自#原创 ...
- 树莓派4b搭建个人云_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置
用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:15 17点赞 57收藏 16评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限 ...
- 树莓派64位系统_树莓派4b+Ubuntu server+Nextcloud搭建私人云盘(1):准备系统
最近剁手买了一个4G版本的树莓派4b,并配了64g tf卡.我打算用它来搭建一个自己的私人服务器. 需求:树莓派4b+一部本地电脑+网线+路由器+一部有公网ip的云主机 首先,我们先到官方下载Ubun ...
- wireshark linux远程,如何在SSH连接Linux的环境下使用wireshark抓包云边端架构?
原标题:如何在SSH连接Linux的环境下使用wireshark抓包云边端架构? TSINGSEE青犀视频云边端架构EasyNVR.EasyDSS.EasyGBS等都是有两种操作系统的版本,一种是li ...
- Cpolar实现虚拟机内网穿透,搭建私人云服务器
Cpolar实现虚拟机内网穿透,搭建私人云服务器 一.Cpolar功能介绍 Cpolar官网 Cpolar是一个安全的内网穿透的服务,可以将内网下的本地服务器通过安全隧道暴漏给公网.允许公网用户可 ...
- 使用 Nextcloud 搭建私人云盘,并利用内网穿透实现公网远程访问
文章目录 一.前言 二.环境搭建 三.测试局域网访问 四.执行内网穿透 4.1 ubuntu 本地安装 cpolar 4.2 创建隧道 4.3 测试公网访问 五.配置固定 http 公网地址 5.1 ...
最新文章
- 基于ESP32智能车竞赛比赛系统硬件初步调试-5-6
- 洛谷P1372 又是毕业季IP1414 又是毕业季II[最大公约数]
- Nagios 安装配置
- Linux下undefined reference to ‘pthread_create’问题解决
- zookeeper的设计猜想-Follower角色
- MySQL存储过程编程
- Java命令行界面(第17部分):jw-options
- AttributeError: module 'tensorflow' has no attribute 'placeholder'等一系列tensorflow版本导致的问题
- Simulink之三相半波可控整流电路
- mysql+添加乱码_rsyslog+loganalyzer+mysql的IP添加与中文乱码解决
- Window.location.href命令在JS中跳转无效或自动忽略
- SVM-支持向量机(code实现)
- codeforce 985C Liebig's Barrels
- C++:以空格分隔的字符串的输入输出
- 无线AP人员定位实现调研以及方案编写
- [996]如何申请高德地图用户Key
- 互联网如何再定义古老的眼镜行业?
- “咔咔咔”手机拍照过新年 是时候了解下背后的技术了
- 为什么Lisp语言如此先进?(译文)
- 操作Excel工具类:ExcelUtils.java