mattraynor 2020-06-25
1.1、先来说说起源吧,楼主呢也是前段时间闲来无事,无聊就随便刷刷B站,结果,一个视频吸引了我的目光,先把视频链接放上把------>https://www.bilibili.com/video/BV15Z4y1j7e3,对就是这个,正好手上淘汰下来的手机没用处,就借此让它发挥发挥最后的余晖吧,另外一个重要的原因吧,楼主的工作呢,算属于半个码农,做单片机的,每次调试大型产品,都要到车间去调试,老是拿U盘拷贝来拷贝去,太麻烦,并且U盘里面的资料比较多,一个不小心掉了,公司就要和楼主说拜拜了(开玩笑的。。。),比较每次拔插来拔插去,头也是很大,正好看到这个启蒙视频,于是乎,就动手干吧,按照教程手机搭建的比较成功,但又想,资料存手机不太好吧,并且空间就那十几个GB,远远的不够用,于是乎,就搜了下,果真教程很多,给予自己的想法要求,1、要小巧;2、便携;3、功耗低;4、资料和教程多;5、不要太麻烦。综合以上几点,便找到了用树莓派来搭建私人云盘,恰巧,自己又有逛闲鱼的习惯于是乎闲鱼搜了搜,正好碰到因今年疫情,别人抵押货款的树莓派贱卖,综合网上考虑,就选取了树莓派3B,做网盘主机,功耗适中,3B+和4B功耗有点大,于是乎就又开始了折腾之旅,这一折腾,差点自己快猝死了(小小玩笑),真是那段时间搞的废寝忘食,说说为啥吧,网上虽然说有大把的教程,但。。。。。。,真。。。。太过时了,大部分都是2010-2015年的,之前就是因为教程多才用树莓派的,结果,把自己坑惨了,由于,鄙人从事的工作是开发单片机的,对于之前没有接触过,只是听过,没想到,网上教程的基本都是32位系统,加之年代久远,很多安装包都安装不上去,为了让后来人不继续踏坑,特此来更新下,最新树莓派3B、3B+、4B的系统安装以及搭建可道云私人云盘和内网透射FRP的教程,由于本人可能语言能力欠佳,所以有些地方会稍微啰嗦点,忘各位看官和大佬莫笑-----致辞敬礼。
2.1、如果你安装的是 raspbian-32位的话,不想再继续折腾的话,可以看看这个视频:https://b23.tv/UaFFyn,这位UP主讲解的很详细,这个视频是比较新的,里面的安装依赖包都是可以下载使用的,我试过可以搭建版本的可道云KodExplorer4.04版本的,由于系统是32位的每次传输文件大小有限制,貌似是4GB吧,大家若要安装这个,记住一定要安装这位UP主的步骤走,以及后面的可道云下载的链接也要一样,因为那个下载链接是KodExplorer4.04的版本,若下载去官网的话,下载链接是可道云另外的产品KodBox1.09版本的,不适用本系统!!!!!切记!!!!!切记!!!!,这是KodBox和KodExplorer的区别,大家可以戳进去瞅瞅哦:http://bbs.kodcloud.com/d/446
静静等待进度条君走完吧,在这个期间可以再下载另外一个写镜像软件Win32 Disk Imager,如下图,长这个样子,SD卡格式完毕后,再打开这个软件,按照截图顺序!!
然后再静静等待进度条君龟跑吧,这个写入时间取决于SD卡的写入速度,大概要等个10分钟左右,然后会弹出写入完成的弹窗,注意,在格式化和写入SD卡的过程中,切勿随便动SD卡!!!!!!!!!!!!!!!!,致辞,系统算是制作完成了;
2.3、若您有HDMI线以及屏幕的话,这时就可以把SD插入树莓派,接上屏幕和电源,若您和我一样没有屏幕,先别着急,进入我的电脑,文件资源管理器,可以看到有个目录为boot的盘符,(这个就是SD卡,DeBian系统根目录)点击打开,寻找 wpa_supplicant.conf 这个文件,右击使用记事本打开,首先把左侧 # 都删除一遍,按照我的截图填写,我使用的是手机热点,由于我有两个手机,wifi名字分别叫 ,iphone_hao,和Hao,优先等级的意思就是,如果WIFI1没有连接成功,自动连接wifi2的热点;注意,热点名称最好是英文,不要带有中文字符!!!!!,改完后保存,然后把SD卡插入树莓派,第一次装一系统,树莓派会重启3次,各位大佬就有点耐心等待,直到手机热点连接中出现一个名字叫:raspbian,就说明树莓派连接你的手机热点成功了;由于2020-06-09-OPENFANS-Debian-Buster-Aarch64-ext4-v2019-2.0-U3-Release镜像默认是开启了ssh,所以不需要再创建ssh文件夹了!!
由于我使用的是安卓手机,我使用的一个软件叫【终端模拟器】 ,进入后,输入 ip ngigh指令,手机会罗列出 连接这个手机热点的ip地址,其他的请另行百度,如何获取设备ip地址;总会有解决方法的;
2.4、正确获取树莓派ip地址后,电脑端再下载ssh连接工具,这里,我使用的是Final Shell 3.5.6版本,点击左上角文件夹样子的图标,点击左上角,选择SSH连接,如下图所示
连接过程,会提示是否保存密码之类,可以选择接受保存,连接成功,是这个样子的,看下图所示:
若想更改密码,可输入
sudo passwd pi #修改 Pi 密码
sudo passwd root #设置 root 密码
su root #切换到 root 用户
su pi #切换到 pi 用户
致辞,树莓派算是再无网线,无屏幕情况下,进入系统了!!!
3.1、由于我的初衷是想搭建自己的云盘,自然而然,空间越大越好,所以就需要先挂载,硬盘,这里我使用的是2.5寸的500GB硬盘,直接插入树莓派USB口就可以驱动,3.5的硬盘需要外接12V电源,显然不方便,这一步,我是踏坑最多的,之前都是可道云已经搭建好了,到最后,挂载硬盘,老是失败,树莓派死机,连不上wifi热点,不知道,重新刷了多少次镜像,才折腾好,首先,把要挂载的硬盘上重要资料先在电脑上备份,!!!!!,切记!!!血的教训!!!一定要备份!!,因为硬盘要先格式化成NTFS格式,首先,查看NTFS分区,执行 sudo fdisk -l |grep NTFS ,会筛选NTFS格式的硬盘,如图:我这里的分区是 /dev/sda1 ,硬盘为500GB
然后格式化,硬盘,执行 sudo mkfs.ntfs /dev/sda1 ,这个格式化时间会很长,我是用了一个晚上才格式化完的,大家的耐主性子!!!!等第二天格式化完了,如果,执行sudo mkfs.ntfs /dev/sda1这条命令报错,试试先安装 ntfs-3g这个软件,执行命令 sudo spt install ntfs-3g,再格式化硬盘!!,如图所示,我已经安装过了,会显示下图:
若格式化完后,也还是要安装ntfs-3g,这个安装包的(嘿嘿,躲不过去的),然后,建一个可道云的文件夹,我是在mnt目录下创建的Kod文件夹,使用sudo mkdir 命令,新建文件夹,例如,sudo mkdir kod ,这就新建了个叫kod的文件夹,注意这个文件夹,要有读写权限,使用 sudo chmod 7777 kod ,意思是kod的文件夹可读可写,为后面部署可道云做基础,假如我想把可道云的云盘文件放在硬盘里,需要先挂载硬盘到这个目录,我的挂载路路径是mnt/kod,所以执行sudo mount -t ntfs-3g /dev/sda1 /mnt/kod/命令,这位UP主视频后半部分就是教怎么挂载硬盘的,https://b23.tv/UaFFyn,不明白的可以多看看这个视频,以及多百度百度linux命令用法,如果上述一切顺利,此时你应该可以看到硬盘了,如下图所示,我的挂载硬盘截图:
这是单次挂载,我们还要让它开机自动挂载,就需要,编辑/etc/fstab这个文件,实现开机自动挂载,上述视频有详细讲解,这里我使用的工具是vim,如您是第一安装,请先安装vim,执行 sudo apt install vim ,编辑/etc/fstab,执行 sudo vim /etc/fstab 会出现这样的界面,大家使用vim 把 /dev/sda1 /mnt/kod/ ntfs-3g silent,umask=0,locale=zh_CN.utf8 0 0
复制到下面,再执行 :wq! 写入并退出 注意我的挂载路径为 mnt/kod 硬盘的分区为 /dev/sda1 大家可能略有不同,请要善于变通!!!!!!!!!!!!!!!
这里简短的介绍下vim如何使用,英文输入法小写,i或o为插入,也就是编辑的意思,这个模式下可以输入编辑,在编辑模式下,按ESC为退出编辑,即阅读模式,不可编辑;
阅读模式下,冒号:wq为写入退出,其他的大家自己百度吧,https://blog.csdn.net/zzzluyao/article/details/82962744
大家完成以上操作后,可以先实验下,自己的硬盘是不是开机自动挂载了,这里执行 sudo reboot 命令,重启树莓派来检测是不是挂载了,因为这一步最容易出错,为了减少大家的时间,所以先挂载硬盘,挂载失败后,大不了再重新刷系统,避免这一步再最后挂载失败了,之前的搭建可道云的事情都费了;
4.1、这一部分主要是想使用外网连接树莓派以及外网访问我们自己搭建的可道云私人网盘,如不要有使用外网访问和使用外网云盘的话,可以忽略这一部分!!!,如需要,请继续跟随我的步伐,向前迈进!!,首先需要一台外网服务器,我这里使用的是华为的云服务器,服务器和域名是华为618活动购买的,一年大概88元,服务器配置为最低配,如截图所示
域名这里大家如果仅仅是作为私人网盘的话,可以不用购买,只需要公网IP主机即可,我这里就不暴露自己的公网IP地址了,望大家谅解;
这里我们的树莓派是属于arm架构,我们的系统为64位,所以选择如下截图:
主要,公网服务器叫 服务端 frps ,树莓派为 客户端 frpc,首先部署服务端,老样子,先建立个文件夹 执行命令 sudo mkdir frp ,创建frp文件夹,给该文件读写权限 sudo chmod 777 frp,使用cd命令进入文件夹,执行命令 cd frp,进入该文件夹,再然后使用 wget命令 ,执行 sudo wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_386.tar.gz ,下载服务端文件,再执行 tar -zxvf frp_0.33.0_linux_386.tar.gz 解压该文件,再删除不需要的客户端文件,执行命令 sudo rm -rf frpc* ,删除客户端文件,
再使用vim命令,编辑 服务端配置文件 frps<span>.ini</span>
,执行命令 sudo vim frps<span>.ini</span>
,如下图所示:
这里 vhost_http_port为80,bind_port 是交互端口 我这里 是使用的 8765端口,端口可以自己定义,但一定要记住,要在服务器安全组中 开放该端口!开放该端口!!开放该端口!!!!,如下图,我开放的端口截图:
另外一定要关联到自己服务器的实例中! 一定要关联到自己服务器的实例中!! 一定要关联到自己服务器的实例中!!!!
上述若都更改完成,执行 :wq ,写入退出,然后执行 ./frps -c frps.ini 即可成功运行!!
4.3、服务器运行服务端 frp后台运行并开启自动运行frp
参考这位大佬的博客 https://blog.csdn.net/x7418520/article/details/81077652,这里我使用的是第二种方法
使用systemctl来控制启动,方便,具体请参考上述博文,这里只做简短 命令执行 ,执行命令 sudo vim /lib/systemd/system/frps.service ,创建frps服务,、写入如下代码:
[Unit] Description=fraps service After=network.target syslog.target Wants=network.target [Service] Type=simple #启动服务的命令(此处写你的frps的实际安装目录) ExecStart=/your/path/frps -c /your/path/frps.ini [Install] WantedBy=multi-user.target
我的frps路径为 mnt/frp ,所以 ExecStart = mnt/frp/frps -c /mnt/frp/frps.ini,主要这个路径为绝对路径!!!!!!
然后执行 :wq ,退出写入,再执行 启动 frps 命令,执行 sudo systemctl start frps ,然后再打开 自启 ,执行命令 sudo systemctl enable frps ,再执行 查看 日志,查看frps是否启动成功,执行命令 sudo systemctl status frps ,如我的截图如下:
如果要重启应用,可以这样,sudo systemctl restart frps
如果要停止应用,可以输入,sudo systemctl stop frps
如果要查看应用的日志,可以输入,sudo systemctl status frps
致辞,服务端内网映射部署完毕。
1、还是老规矩,先新建存放FRP文件的文件夹,使用mkdir命令,我的树莓派存放FRP客户端的文件路径为 /mnt/frp ,若你的树莓派没有mnt文件夹,可以一级一级建立文件夹,首先新建mnt文件夹,执行命令 sudo mkdir mnt ,这就新建了mnt文件夹,再使用cd命令进入mnt文件夹内,执行命令 cd /mnt ,就进入mnt问价夹了,再使用mkdir命令,执行 sudo mkdir frp ,新建frp文件夹,再给这个文件夹读写权限 sudo chmod 777 frp ,就给frp读写权限了,存放路径建立完毕后,我们再进入frp文件夹,依旧执行 cd frp 就进入了frp文件夹了,
2、新建存放frp的文件夹以及读写权限都执行完后,就开始下载客户端的文件,确定自己在frp文件夹内后,执行命令 sudo wget https://github.com/fatedier/frp/releases/download/v0.33.0/frp_0.33.0_linux_arm64.tar.gz 下载 之前上面截图的树莓派arm64位客户端文件,再解压下载的压缩文件,执行 tar -zxvf frp_0.33.0_linux_arm64.tar.gz ,
解压完毕后,删除服务端文件 执行 sudo rm -rf frps* ,执行 ls 命令 查看 该文件夹下有哪些文件 ,如下截图所示:
确定剩余的文件和我截图一样后,使用vim 编辑器修改 frpc.ini的配置文件,执行命令 : sudo vim frpc.ini ,添加如下图所示的内容:
[common] server_addr = ***.***.***.*** #frp服务端的IP地址 server_port = 8765 #frp服务端的服务端口 #ssh服务 [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 #修改合适的端口号 公网访问ssh 端口号 [web] type = http local_port = 80 custom_domains = ***.***.***.*** #填写你的二级域名或公网ip地址
如上所述,我这里在服务端开放的端口为 8765 ,这里我们的客户端 的server_port 就为 8765 ,ssh服务中,remote_port这个端口是我们使用外网连接我们本地树莓派的端口,
再web服务中,local_port端口我们就是使用网页默认的80端口,custom_domains 填写我们的二级域名或公网ip地址即可,然后,执行命令 :wq! ,写入退出,然后再开启客户端,执行命令 : ./frpc -c ./frpc.ini ,即可开启服务,如下图,成功开启服务截图:
怎样让我们的树莓派后台运行frp以及开机自动启动该服务呢?这时就还是得需要使用 systemctl来控制了,首先我们先停止frp服务,按住Ctrl+C即可停止服务,然后 创建一个开机自启动服务,执行命令 : sudo vim /lib/systemd/system/frpc.service
, 如下图所示 ,我的内容如下截图:
[Unit] Description=frpc service Documentation = https://github.com/fatedier/frp After=network.target network-online.target [Service] Type=simple ExecStart=/绝对路径path/frp/frpc -c /绝对路径/frp/frpc.ini Type = simple User = nobody Group = nogroup WorkingDirectory = /tmp Restart = on-failure RestartSec = 60s [Install] WantedBy=multi-user.target
以上只需要修改 ExecStart 中的·路径要使用绝对路径,这里由于我们一直使用的是pi用户,所以我的绝对路径为 /home/pi/mnt/frp ,大家可以自行变通更改自己的路径,
修改完毕后,执行命令 : :wq! ,写入退出即可 ,然后重装 服务,执行命令 <span>sudo systemctl daemon-reload </span> <span>,然后再</span><span>启动frp服务,执行命令 </span>:<span><code>sudo systemctl start frpc
,
再然后,打开 开机自动启动 ,执行命令 :sudo systemctl enable frpc
,这时基本配置就完毕了,我们查看下我们的服务是否启动成功了没有,执行命令 :sudo systemctl status frpc
,查看frpc服务的状态,我的截图如下图所示 :
如果你幸运的话,界面就和我的一样,是绿色的,以后只要你的树莓派插电后,自动连接wifi后,经过60秒,后会自动启动frp服务,如果你不够幸运,是红色的,那就复制错误信息,自行百度吧,这样至少自己的知识又多张了一点;
首先还是感谢这位大佬的教程,让我部署成功,https://www.hncldz.com/?p=566 ,在这位大佬的基础上,我修改了可道云的安装路径以及文件储存路径,可道云需要使用的环境 nginx、php7.3 php7.3-fpm php7.3-curl php7.3-gd php7.3-dom php7.3-iconv php7.3-sqlite php-redis php-mysql php7.3-zip php7.3-bz2 php7.3-intl php7.3-imagick php7.3-mbstring ,首先我们安装nginx,执行命令 sudo apt-get install nginx ,安装过程会有选择输入,都输入 y,然后静静等待安装完成,nginx安装完成后,再执行 sudo apt install php7.3 php7.3-fpm php7.3-curl php7.3-gd php7.3-dom php7.3-iconv php7.3-sqlite php-redis php-mysql php7.3-zip php7.3-bz2 php7.3-intl php7.3-imagick php7.3-mbstring 安装PHP服务和数据库,然后又是静静等待,过程5-10分钟左右吧。
使用vim打开/etc/php/7.3/fpm/php.ini文件,执行命令 sudo vim /etc/php/7.3/fpm/php.ini ,
使用vim查找功能 ,阅读模式下输入英文输入 / 后面加查找内容,例如我要查找 expose_php ,则 /expose_php ,如我截图所示
找到内容后单击Enter即可修改,这里我们要修改的内容如下:
做如下更改:
expose_php改成off
date.timezone 一行删掉前面的;号,值改成Asia/Shanghai
删掉opcache.enable=1,opcache.validate_timestamps=1,opcache.revalidate_freq=2这三行前面的;号,将opcache.revalidate_freq的值改成30;
配置fpm:打开/etc/php/7.3/fpm/pool.d/www.conf文件,移除clear_env=no,env[开头那几行前面的;号(即388,401-405这几行前面的分号);
还是使用vim修改,执行命令 sudo vim /etc/php/7.3/fpm/pool.d/www.conf ,修改以下内容:
移除clear_env=no 前面的 ; 号
移除env 开头那几行前面的;号,
看我截图所示
这里再补充一点vim知识,当使用查找功能后,往往有很多相同的名字的前缀,这时先点击Enter,后,点击n建即为下一个,这样我们一个一个筛选符合我们要求的;
3、配置nginx
在/etc/nginx/sites-enabled目录下,创建一个kodbox文件,执行命令 sudo vim /etc/nginx/sites-enabled/kodbox ,请注意根据实际情况修改server_name字段,复制以下内容:
server { listen 80; listen [::]:80; root /home/pi/mnt/kod/kodbox; #可道云路径 server_name xxxxxxxxxx location / { index index.html index.htm index.php default.html default.htm default.php; } location ~\.php$ { fastcgi_pass unix:/run/php/php7.3-fpm.sock; #fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
致辞修改完毕后,执行命令 : :wq!退出,然后再重启nginx、php服务,执行命令 : sudo systemctl restart nginx php7.3-fpm ,重启即可。
1、首先进入我们之前创建的kod文件夹内,我这里的路径为mnt/kod, 我目前的位置在根目录,则执行 命令 : cd /mnt/kod 就进入kod文件夹内了,然后进入可道云官网下载网页:https://kodcloud.com/download/ ,如下截图,复制 wget http://static.kodcloud.com/update/download/kodbox.1.09.zip 命令即可,然后再复制解压命令:unzip kodbox.1.09.zip && chmod -Rf 777 ./* 即可:
2、解压完毕后,先重启下树莓派,执行命令 sudo reboot ,待树莓派重启成功后,再我们的浏览器输入我们配置的ip地址,这里我的ip局域网地址为192.168.43.73,也可以使用配置的公网ip地址或二级域名都可以,就进入到可道云检测配置的界面,这里由于我已经配置好了,就使用大佬的截图来示范:
点击下一步,配置数据库,我们就选第一种SQlite这个类型的数据库,点击确定
然后就是配置管理员账号密码,
致辞可道云基础的我们就配置完成了。
1、如果使用默认的配置,很多时候,我们稍微传大一点的文件,就会失败,以及传输速度和下载速度都会有限制,这时候,就需要优化了,这也是我安装完成后,搜索可道云论坛几天的结果,可道云论坛链接:http://bbs.kodcloud.com/ ,
首先优化php配置:链接http://bbs.kodcloud.com/d/60,参考官方论坛,先执行命令 : sudo vim /etc/php/7.3/fpm/php.ini ,使用vim查找功能,快速修改,修改内容如下:
max_execution_time = 3600 max_input_time = 3600 post_max_size = 150M upload_max_filesize = 150M
优化nginx.conf,执行命令 sudo vim etc/nginx/nginx.conf ,在最下面的一个大括号内添加如下内容
client_max_body_size 500M; client_header_timeout 3600s; client_body_timeout 3600s; fastcgi_connect_timeout 3600s; fastcgi_send_timeout 3600s; fastcgi_read_timeout 3600s; client_body_in_file_only clean; client_body_temp_path /dev/shm 1 2; fastcgi_param REQUSET_BODY_FILE $request_body_file;
我的配置截图如下:
然后执行命令 : wq! ,写入退出,再重启nginx和php,执行命令 sudo systemctl restart nginx php7.3-fpm 即可,这样基本上配置优化完成了,然后登陆可道云,点击后台管理,系统设置--基础设置---上传/下载 按照我截图的数据调整参数
如果你在5.2、修改nginx和PHP配置的第三条配置nginx中按照我截图配置的,那你就可以开启可道云中的WebDAV挂载功能了,如果你是复制我下面的代码的话,就还需要修改成截图那样子,才能开启WebDAV挂载功能,具体怎样开启WebDAV网络挂载,在管理员模式下,点击后台管理----储存/文件---WebDAV挂载点击立即连接使用即可,
致辞可道云基本优化,下面给张内网下上传文件速度截图:
内网传输速度还可以接受,我使用的是手机热点,所以速度可能会慢点,如果使用公网ip访问的话,速度受限于公网服务器的带宽。