树莓派重新开始|搭建博客、网盘、流媒体与离线下载服务

在折腾了一段时间的树莓派后,逐渐确定了自己对树莓派的使用有以下需求:

  • 博客服务器
  • 文件同步
  • 流媒体服务器
  • 离线下载

话不多说,重新开始。

准备工作

树莓派系统安装

经过比较后,还是决定使用Ubuntu 18.04作为树莓派4b的操作系统。

安装过程十分简单,下载官方镜像后,使用Raspberry Pi Imager软件将镜像烧录到SD卡。

烧录完成后,重新插拔SD卡,进入boot目录。

为了使树莓派的新系统第一次启动时能自动连接WIFI,需要在boot目录下打开network-config文件,按以下内容取消注释,并修改wifi名称和密码。

# This file contains a netplan-compatible configuration which cloud-init
# will apply on first-boot. Please refer to the cloud-init documentation and
# the netplan reference for full details:
#
# https://cloudinit.readthedocs.io/
# https://netplan.io/reference
#
# Some additional examples are commented out belowversion: 2
ethernets:eth0:dhcp4: trueoptional: true
wifis:wlan0:dhcp4: trueoptional: trueaccess-points:homessid(这里填写wifi名称):password: "S3kr1t"(引号内填写wifi密码)
#      myotherlan:
#        password: "correct battery horse staple"
#      workssid:
#        auth:
#          key-management: eap
#          method: peap
#          identity: "me@example.com"
#          password: "passw0rd"
#          ca-certificate: /etc/my_ca.pem

其次,ubuntu系统默认开启ssh,因此这里不需要像Raspberry Pi OS 一样新建ssh文件。

完成以上操作后,将SD卡插入到树莓派,即可上电开机。

首次连接

上电2分钟后,将树莓派断电重启。若操作无误,树莓派第二次启动时会自动连接之前设置的wifi。

为了能够ssh连接树莓派,需要知道{$树莓派的IP}地址。

进入Windows PowerShell,输入arp -a,查看{$树莓派的IP}地址

上述方法无法看到设备名称,在网络连接设备较多时,不容易找到 {$树莓派的IP}地址。因此,对于局域网下设备较多的情况,可以使用Advanced IP Scanner这款软件,对局域网设备进行扫描,扫描结果可以看到设备名称。

得到ip地址为后,使用ssh连接,用户名ubuntu,密码ubuntu。首次登录会提示修改密码,按要求操作即可。修改密码后会断开连接,而后重新连接。

根据清华镜像站的教程,使用sudo vim /etc/apt/sources.list命令更换树莓派的软件源。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-security main restricted universe multiverse# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/  bionic-proposed main restricted universe multiverse

编辑镜像站后,使用sudo apt-get update命令,更新软件源列表,同时检查编辑是否正确。

随后使用sudo apt-get upgrade将系统升级至最新。

设置静态ip

使用ip addr命令确认你要修改的网卡号,这里得到我自己的树莓派配置如下:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope hostvalid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000link/ether dc:a6:32:63:81:54 brd ff:ff:ff:ff:ff:ff
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether dc:a6:32:63:81:55 brd ff:ff:ff:ff:ff:ffinet 192.168.43.126/24 brd 192.168.43.255 scope global dynamic wlan0valid_lft 3423sec preferred_lft 3423secinet6 fe80::dea6:32ff:fe63:8155/64 scope linkvalid_lft forever preferred_lft forever

查看网卡配置文件

cat /etc/netplan/50-cloud-init.yaml

设置ip地址设置为静态

sudo vim /etc/netplan/50-cloud-init.yaml

直接重启设备后,再次扫描会发现ip地址已经变化为刚刚指定的静态ip,而后就需要根据新的ip来登录树莓派。

安装宝塔面板

进入宝塔Linux面板,找到Ubuntu/Deepin安装脚本

登录树莓派后,使用sudo su命令切换到root用户,执行宝塔面板安装命令。

wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh

等待一段时间后,安装完成。

随后根据内网地址访问宝塔面板,输入用户名和密码进行登录。

首次登录会提示安装LNMP环境,各部件版本如图。然后就是漫长的安装过程。

安装耗费时间参考如图。如果出现安装失败的,在软件商店中搜索失败的项目,重新安装即可。

备份与还原树莓派

到这里已经花费了大量的时间来配置环境,因此有必要在下一步操作前对树莓派的整个系统进行备份。这里参考树莓派学习笔记 篇四:树莓派4B 的系统备份方法大全(全卡+压缩备份)的备份方法,首先使用gparted拆分内容空间和空白空间,随后使用Win32DiskImager制作镜像。

gparted拆分空间

进入Ubuntu系统,运行gparted。

sudo gparted

右键/dev/sda2,选择unmount。然后继续右键/dev/sda2,选择resize,将分区压缩至比占用空间稍大即可。随后点击选项卡中的绿色对勾以应用修改。

等待一段时间后,空间拆分完成

Win32DiskImager制作镜像

回到Windows系统,运行Win32DiskImager。在D盘新建一个名为raspberry-bak.img的空文件,然后在Win32DiskImager中,将映像文件选择为刚刚新建的空文件,设备选择为安装有树莓派系统的TF卡。

勾选”仅读取已分配分区“,点击读取,等待完成。

最后得到一个7.57G的文件,就是树莓派的备份系统映像了。

gparted恢复之前拆分的空间

备份结束之后,记得要回到Ubuntu系统,使用gparted恢复之前拆分的空间。

还原树莓派

有了之前备份得到的映像后,可以通过Win32DiskImager的“写入”来将备份映像写入到TF卡来还原树莓派的系统

正式开始

以上准备工作完成后,开始搭建服务。

Typecho博客服务器

登录宝塔面板,在选项栏中点击网站,随后点击添加站点。

进入到网站根目录

点击远程下载

访问Typecho官网下载页,右键点击下载按钮,复制链接,并将链接输入到宝塔面板的远程对话框。

下载完成后,点击解压,并将解压得到的build文件夹重命名为typecho。

在左侧选项栏中点击数据库,随后点击添加数据库按钮,输入数据库名,点击提交添加数据库。

浏览器访问地址http://{$树莓派的IP}/typecho/,随后逐项填写即可。

随后访问http://{$树莓派的IP}/typecho/,可以看到博客网站已经搭建完毕。

Nextcloud文件同步

参照上面的方式,将Nextcloud的压缩包下载到网站根目录。

下载太慢的话,也可以在电脑上下载完成后,再点击宝塔面板根目录界面的上传按钮,将压缩包上传到网站根目录。

同样点击解压,得到nextcloud文件夹。随后再到数据库选项中建立一个给nextcloud用的数据库。

随后访问http://{$树莓派的IP}/nextcloud/,建立管理员账号。

minidlna媒体服务器

安装minidlna。

sudo apt-get install minidlna

修改配置文件/etc/minidlna.conf,修改users为root,修改media_dir为你的媒体文件的路径。

sudo vim /etc/minidlna.conf

修改配置文件/etc/default/minidlna,将USER改为root。

sudo vim /etc/default/minidlna

宝塔面板开放1900和8200端口

重启树莓派后,就可以在Windows的资源管理器和VLC中看到minidlna服务了。

Aria2离线下载

参考Aria2 Pro - 更好用的 Aria2 Docker 容器镜像,使用其制作的Aria2 一键安装管理脚本 增强版 先切换到root用户

sudo su

安装基础组件

apt install wget curl ca-certificates

下载并运行脚本

wget -N git.io/aria2.sh && chmod +x aria2.sh
./aria2.sh

选择要执行的选项

Aria2 一键安装管理脚本 增强版 [v2.6.2] by P3TERX.COM0. 升级脚本———————————————————————1. 安装 Aria22. 更新 Aria23. 卸载 Aria2———————————————————————4. 启动 Aria25. 停止 Aria26. 重启 Aria2———————————————————————7. 修改 配置8. 查看 配置9. 查看 日志10. 清空 日志———————————————————————11. 手动更新 BT-Tracker12. 自动更新 BT-Tracker———————————————————————Aria2 状态: 已安装 | 已启动自动更新 BT-Tracker: 已开启请输入数字 [0-12]:

因为我的网络环境原因,导致执行脚本时安装Aria2失败,但脚本却没有报错,只在4. 启动 Aria2时提示

[信息] Aria2 启动中...
/etc/init.d/aria2: line 78:  8483 Segmentation fault      nohup aria2c --conf-path="${CONFIG}" >> "${LOG}" 2>&1
[错误] Aria2 启动失败 !

解决方法是继续执行脚本,重复选择2. 更新 Aria2,等待Aria2安装成功,然后再启动就不会报错了。

其他

ssh密钥登录

其实这是一个非常简单的东西,但是网上很多教程都是稀里糊涂的,所以在这里重新整理一下。

首先要知道密钥登录,就是在服务端(树莓派)有一把锁(公钥),然后你在登录端(电脑、手机等)拿着匹配的钥匙(私钥)去打开这把锁。锁和要是都是可以复制的,锁(公钥)可以复制到多台服务端,比如你的树莓派、VPS等;钥匙(私钥)也能复制到多台登录端,比如手机、电脑。只要锁和钥匙,也就是公钥和私钥匹配,就可以不输入密码进行登录。下面讲解如何操作。

密码登录到树莓派后,切换到root身份吗,进入/root文件夹,执行下列命令,然后一直回车,会在.ssh/目录下生成两个文件id_rsaid_rsa.pub,分别就是私钥和公钥。

ssh-keygen

将公钥安装到树莓派,并修改.ssh/authorized_keys文件的权限。

cat id_rsa.pub >> .ssh/authorized_keys
chmod 600 .ssh/authorized_keys

修改树莓派的ssh配置。

sudo vim /etc/ssh/sshd_config

找到以下几个条目,均修改为yes。

PubkeyAuthentication yes
PermitRootLogin yes
RSAAuthentication yes

最后回到你的电脑(可以是ubuntu、WSL或者安卓端的软件),这里以WSL为例。想办法将树莓派.ssh/文件夹下的id_rsa文件复制到WSL的.ssh/文件夹下。比如使用scp指令、ftp甚至直接用vim打开文件后复制粘贴内容。

之后,登录树莓派。就会发现可以直接登录,而不需要再输入密码了。

ssh root@{树莓派的IP}

Aria2的使用

PC端,我使用的是Edge浏览器,可以扩展商店中搜索Aria2 for Edge,随后在AriaNg设置中填写相应的配置即可使用。该扩展也有Chrome和Firefox版本。

安卓端使用Aria2App,非常好用,强烈推荐。

frp端口转发

需要有公网ip的VPS,最好还有一个域名。可以到网络上搜搜,暂略。等哪天被网上的教程气到了再补上。

▇▇▇▇上网

下载▇▇▇▇安装脚本。(误)

wget https://install.direct/go.sh

2020年8月31日发现go.sh脚本已经失效了,执行后得到以下提示。

root@ubuntu:~# sudo bash go.sh --local ▇▇▇▇-linux-arm.zip
ERROR: This script has been DISCARDED, please switch to fhs-install-▇▇▇▇ project.
HOW TO USE: https://github.com/v2fly/fhs-install-▇▇▇▇
TO MIGRATE: https://github.com/v2fly/fhs-install-▇▇▇▇/wiki/Migrate-from-the-old-script-to-this

按照提示访问网站,得知需要下载新的脚本install-release.sh。下载速度很慢,需要耐心等待。

wget https://raw.githubusercontent.com/v2fly/fhs-install-▇▇▇▇/master/install-release.sh

在▇▇▇▇-core/releases上下载最新版本的▇▇▇▇-core到树莓派。

sudo bash install-release.sh --local ▇▇▇▇-linux-arm.zip(对应版本的▇▇▇▇包,这里是树莓派版本的)

安装结果如下。

root@ubuntu:~# bash install-release.sh --local ▇▇▇▇-linux-arm.zip
warn: Install ▇▇▇▇ from a local file, but still need to make sure the network is available.
warn: Please make sure the file is valid because we cannot confirm it. (Press any key) ...
info: Extract the ▇▇▇▇ package to /tmp/tmp.54v6UviMSm/ and prepare it for installation.
installed: /usr/local/bin/▇▇▇▇
installed: /usr/local/bin/v2ctl
installed: /usr/local/share/▇▇▇▇/geoip.dat
installed: /usr/local/share/▇▇▇▇/geosite.dat
installed: /usr/local/etc/▇▇▇▇/config.json
installed: /var/log/▇▇▇▇/
installed: /var/log/▇▇▇▇/access.log
installed: /var/log/▇▇▇▇/error.log
installed: /etc/systemd/system/▇▇▇▇.service
installed: /etc/systemd/system/▇▇▇▇@.service
removed: /tmp/tmp.54v6UviMSm/
info: ▇▇▇▇ v4.25.1 is installed.
You may need to execute a command to remove dependent software: apt remove curl unzip
Please execute the command: systemctl enable ▇▇▇▇; systemctl start ▇▇▇▇

按照提示设置▇▇▇▇随系统启动

systemctl enable ▇▇▇▇
systemctl start ▇▇▇▇

使用install-release.sh安装的▇▇▇▇-core会使得执行文件和配置文件路径发生变化。查看/etc/systemd/system/▇▇▇▇.service文件后可知,配置文件config.json位于/usr/local/etc/▇▇▇▇/目录下。

知道配置文件的路径后,就可以将使用▇▇▇▇N软件生成可用的客户端版本的config.json文件,拷贝到/usr/local/etc/▇▇▇▇/目录下,随后使用service ▇▇▇▇ restart命令重启▇▇▇▇服务。

终端代理

安装好▇▇▇▇后,终端仍然是不能够▇▇▇▇上网的,需要通过安装polipo设置终端代理。

apt install polipo

如果显示找不到包的话,可以到网络上搜索对应系统版本的polipo的deb包,使用dpkg命令安装。比如树莓派的polipo包可以通过关键字polipo ubuntu arm64找到。

配置polipo。

vim /etc/polipo/config

在文档末尾加入以下内容后保存退出。其中,socksParentProxy中的port与▇▇▇▇配置文件中inbounds标签下的port一致;socksProxyType是 socks 类型,如果是 ss 就填上 socks5。proxyPort是你想在 linux 子系统上使用的代理端口地址。

socksParentProxy = "localhost:port"
socksProxyType = socks5
proxyPort = 8123

重启polipo服务。

service polipo restart

这里由于安装了宝塔面板,还需要在面板的安全选项中放行▇▇▇▇和polipo的端口。

放行后,重启树莓派,执行命令。

export http_proxy=http://localhost:8123

随后验证搭建终端代理是否设置成功。

curl www.google.com

如果得到的是一大长串的HTML语言,就说明终端代理已经成功了。

这里export命令是临时的,如果需要一直有用,可以在.bashrc文件末端加入export http_proxy=http://localhost:8123

树莓派wifi探针_树莓派重新开始|搭建博客、网盘、流媒体与离线下载服务相关推荐

  1. python 网盘上传_【Python3】基于文叔叔网盘上传与下载的Python脚本

    [Python] 纯文本查看 复制代码import requests import os import hashlib from threading import Thread import sys ...

  2. python 按键精灵 离线_(番外篇)Python操纵网盘客户端批量离线下载电影

    上回(Python实现电影排行榜自动网盘下载(4)Cookies免登录+抓包下载)说到,一段时间内能进行多少次离线下载还是受限于验证码的输入. 在此有两个解决方案, 见招拆招 通过GUI优化验证码输入 ...

  3. 搭建私人网盘(可离线下载、在线播放)

    云服务器搭建网盘 支持离线下载.在线播放 安装 Docker curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 安装 ...

  4. XAMPP+WordPress+花生壳搭建博客

    XAMPP+WordPress+花生壳搭建博客 写在前面 XAMPP WordPress 下载及安装 配置 花生壳 建立映射 设置外网访问 撤回修改 写在后面 写在前面 这是一篇记录,没有深入的探究, ...

  5. tf 设置多显卡_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置

    原标题:用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:150点赞0收藏0评论 小编注:此篇文章来自#原创 ...

  6. 树莓派4b搭建个人云_用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置

    用树莓派搭建私人简易网盘 2/5 树莓派4B初始设置 2020-10-22 23:10:15 17点赞 57收藏 16评论 小编注:此篇文章来自即可瓜分10万金币,周边好礼达标就有,邀新任务奖励无上限 ...

  7. 树莓派 小屏幕_树莓派打造复古游戏主机Retropie

    前言 疫情在家无聊在B站刷到一些up主用树莓派diy折腾一些好玩的项目,如下. 其中小电视和树莓派掌机瞬间燃起了我的强烈兴趣,小电视可以当是一台超小mini pc主机,主机支持运行Linxu系统和wi ...

  8. 码云怎么创建公开的仓库_使用码云或GitHub搭建简单的个人网站(补充hexo搭建博客)...

    使用码云或GitHub搭建个人网站 码云: 1.新建一个仓库 路径名会影响你的个人网站的网址(自行修改),开源(公开),其他默认 我们点击创建 2.进入仓库后,我们新建一个文件 3.文件名为index ...

  9. 使用Cloudreve搭建个人私有网盘

    使用Cloudreve搭建个人私有网盘 Cloudreve是一个可以快速创建网盘的工具,搭配一个树莓派或者云服务器就可以实现个人网盘的应用,本次教程在树莓派4B上进行,另外还需要一个大内存的硬盘用来储 ...

最新文章

  1. Hashtable类
  2. 矩阵快速幂 - 湘潭大学
  3. 云原生已来,只是分布不均
  4. OPPM 一页纸项目管理 One-Page Project Management
  5. Introduction-to-React-JS
  6. 技术动态 | 藏经阁计划发布一年,阿里知识引擎有哪些技术突破?
  7. oracle数据分布不均,oracle性能优化操作七:索引提高数据分布不均匀时查询效率...
  8. 紫光同创 FPGA 开发跳坑指南(五)—— DDR3 控制器 IP 的仿真
  9. Glide 源码解析之监听生命周期
  10. Md5扩展攻击的原理和应用
  11. 主界面边框流动效果长时间挂机后会卡顿
  12. Markdown的常用语法(个人总结)
  13. 词袋模型基本原理——DBoW3
  14. 三博脑科医院:癫痫的治疗像是一场“对抗赛”
  15. 微信点开分享文章所带的关键字
  16. java unicode转ascii码_Java用native2ascii命令做unicode编码转换
  17. 冬登高峰山,问禅铁瓦寺
  18. 如何获取所有股票代码
  19. 非常另类的数据库插入和删除时阻塞的问题(控制台不报错,表象像是阻塞)
  20. 【HTML】HTML网页设计----动漫网站设计

热门文章

  1. 160cracked-4
  2. unity接入百度人体识别
  3. D35 Spark源代码(待补充)
  4. python库——未完待续,紫薯布丁
  5. arduino声音传感器与二极管_怎样使用Arduino构建基于声音传感器的警报
  6. php.ini中文翻译-转载
  7. php 5 php.ini中文注释
  8. C程序设计谭浩强第五版课后答案 第三章习题答案
  9. 【Unity】U3D TD游戏制作实例(三)相机管理器、生成敌人优化、敌人血槽小组件
  10. 我的物联网项目(二十六) 商家微信充值流程优化