家庭服务器解决方案——软件篇

略懂的大龙猫 07-20 22:45 关注

对于服务器而言硬件只是基础,而且家庭服务器的硬件要求并不高。软件才是实现功能的核心,需要自己花更多精力去探索。

选择操作系统

家用服务器系统我有3个推荐选项:Linux发行版、FreeBSD、和Windows企业版。

优先级最高的是Linux发行版,比如:Ubuntu、Manjaro、Linux mint等。习惯Windows的朋友我建议选择Windows企业版(Lts)可以省去Windows经常升级的烦恼。我对FreeBSD也不是很熟悉,所以给不了太多建议。

家庭服务器解决方案——软件篇

Linux发行版

Linux发行版我推荐3个:1.Ubuntu / 2.Manjaro / 3.Linux mint

国产的麒麟深度也可以去尝试一下,学习Linux是一个挺不错的体验,你可以感受开源软件世界完全不一样的氛围。Linux发行版我建议选择桌面版而不是服务器版,因为你并不是真正在搭建一个商用服务器。很多软件需要GUI环境运行,桌面版会更加方便。

Windows企业版

Windows推荐企业版,理由是功能精简、没有Windows自动升级的烦恼。Windows镜像下载推荐使用这个网站MSDN ITellYou

FreeBSD一样是一个非常优秀的开源系统,不过我接触很少,没有太多有价值的参考建议,但网上的资料还是很全的;除此之外还有群晖系统等一些解决方案,但这里我不会讲到。

操作系统的安装就不详细讲解了,安装系统这个是基础能力。但是我推荐一个安装系统的神器Ventoy,只需要1个U盘放入你所有的系统镜像,想安装哪个就选哪个非常方便。

安装系统后,接下来就根据具体需求部署软件解决方案(接下来的所有解决方案均以Ubuntu系统为案例):

1.安装Zerotier,搭建虚拟局域网,实现远程访问;

如果只能在局域网内访问家庭服务器,那么使用场景太受限制。我们可以通过Zerotier搭建一个虚拟局域网,这样在广域网里也能访问家庭服务器。

首先在Zerotier官网注册一个账户,创建一个局域网,你会获得该局域网的标识字符串。

然后在每个设备上安装Zerotier,你都会获得一个该设备的字符串。

首先介绍家庭服务器上安装Zerotier:

#安装Zerotier
curl -s https://install.zerotier.com | sudo bash
#加入虚拟局域网
sudo zerotier-cli join 局域网字符串
#离开虚拟局域网
sudo zerotier-cli leave 局域网字符串
#查看Zerotier服务的命令,总共有 {start|stop|status|restart|reload|force-reload}这几个命令可选
sudo service zerotier-one

如果想提升访问速度可以自己搭建moon节点,网上可以查找相关教程。

服务器安装好后,其它设备安装Zerotier就比较简单了,Windows、Android都有对应的安装包下载加入对应局域网即可。

登陆Zerotier官网,进入局域网管理,启动对应的设备即可完成虚拟局域网搭建。通过这个虚拟局域网你可以远程访问你的家庭服务器的服务。还能实现远程控制其它设备开机。接下来我就介绍一下具体操作:

2.设置Wake on Lan,实现局域网开机;

通过家庭服务器让其它局域网设备开机很简单。首先在服务器上安装Wake on Lan,这样就可以通过SSH开启其它局域网设备了:

#安装wake on Lan
sudo apt install wakeonlan

然后在其它设备上启用局域网唤醒,这包括了2个步骤:

1.在BIOS中开启Wake On Lan设置,把该选项调整为Enable。一般这种情况下关机后电脑网口依然是亮的。

2.系统开启网卡的Wake On Lan权限。

Windows系统设置

进入设备管理器,在网卡属性的“高级”标签里设置“关机网络唤醒”开启和“魔术封包唤醒”开启。在“电源管理”标签里勾选“允许计算机关闭此设备以节省电源”和“允许此设备唤醒计算机”。

家庭服务器解决方案——软件篇

这里要吐槽一句,Windows采用局域网唤醒必须把登陆密码取消不然意义不大。

Linux系统设置

#查看mac地址和网卡名
ifconfig
#查看是否开启了WakeOnLan,如果有Supports Wake-on: g和Wake-on: g这两项则支持且开启了局域网唤醒
sudo ethtool 网卡名
#如果支持局域网唤醒但是没有开启输入以下命令
sudo ethtool -s 网卡名 wol g

设置完成后服务器只需要通过SSH输入命令就可以控制局域网其它电脑开机:

wakeonlan mac地址

mac地址不好记,你可以通过软件或者脚本的方式执行SSH命令。另外采用局域网唤醒的开机时间比较久,开机会卡在start pxe over ipv4比较久,并不是电脑出故障了。

不过我发现其实wakeonlan对运维很有用,但在家用中使用场景不多。

3.Calibre搭建个人的电子书库;

如果你有Kindle,那么Calibre可以提升Kindle的阅读体验。

Windows系统可以使用安装包安装,Linux则可以用命令行安装:

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

在家庭服务器上安装Calibre后,开启内容服务。局域网内所有设备都可以通过浏览器访问书库。如果你有Kindle你会发现这种方式比推送爽太多。而且不仅是Kindle,手机平板都可以直接浏览书库非常方便。

4.通过Samba,搭建文件服务器;

目前最流行的个人文件服务器解决方案还是Samba。linux安装Samba也非常简单:

#安装samba
sudo apt install samba

安装完毕后,只需要把指定文件夹设置成共享,其它主机只需要通过访问局域网主机IP地址,即可访问服务器共享的内容。搭建Nas服务器千兆局域网(不是指的宽度)是基本网络环境,不然体验就一般了。

5.下载服务器

作为下载服务器主要场景肯定是BT/PT下载和百度云下载。BT下载可以用transmission或者qbittorrent,然后开启Web服务,这样就可以在局域网里添加下载任务。如果通过zerotier搭建虚拟局域网,就可以实现远程下载。

#安装transmission
sudo apt install transmission
#安装qbittorrent
sudo apt install qbittorrent

transmission和qbittorrent还有一个挺不错第三方安卓客户端Transdroid,这样手机就可以随时随地为服务器添加下载任务了。

6.搭建Web服务器

Web服务器对于新手而言没什么用处。但是Web服务器才是家庭服务器真正的精髓,很多服务都可以通过Web服务器实现。比如私人云盘、相册、网站等等。

我个人是因为在学习网站维护,搭建的LAMP环境(Linux+Apache+Mysql+PHP);大家如果对于服务器维护想做深入学习,学习Docker知识是必不可少的。这个内容很大这里就不展开讲了,以后有机会我开个专题。

更多功能后续更新……

全部评论(9)
秀才123
1
07-21 14:57
秀才123 现在还流行用宝塔么?之前出问题了,全不用宝塔了 1
啊你吓到我啦 能说下宝塔出什么问题吗? 2

2020年8月的事,王炸级别的事件
版本:宝塔 Linux面板7.4.2/Windows面板6.8
访问地址:http://ip:888/pma 即可直接登录数据库改东西
数据库直接改管理员账户,改成自己知道的账户信息

RyanX35
1
07-21 00:16

啊?我这Windows有密码,也能wake on lan啊,会不会是你哪里没设置好?

JaydenYi
0
07-24 16:26
RyanX35 啊?我这Windows有密码,也能wake on lan啊,会不会是你哪里没设置好? 1
略懂的大龙猫 当然可以唤醒,只是开机后不登陆,向日葵这些远程软件应该没法用吧,或者说你用的是mstsc?这我倒没有验证过。 2

设置自动登陆,然后bat脚本延时10秒锁定屏幕

略懂的大龙猫
0
07-22 17:45
RyanX35 啊?我这Windows有密码,也能wake on lan啊,会不会是你哪里没设置好? 1

当然可以唤醒,只是开机后不登陆,向日葵这些远程软件应该没法用吧,或者说你用的是mstsc?这我倒没有验证过。

略懂的大龙猫
0
07-22 17:39
秀才123 现在还流行用宝塔么?之前出问题了,全不用宝塔了 1

商用场景没出问题前都建议自己搭建。个人入门学习使用问题不大。

啊你吓到我啦
0
07-21 12:10
秀才123 现在还流行用宝塔么?之前出问题了,全不用宝塔了 1

能说下宝塔出什么问题吗?

晚明
0
07-21 08:52
秀才123 现在还流行用宝塔么?之前出问题了,全不用宝塔了 1

有什么可替代的吗?还是说自己手动搭建lnmp环境?

秀才123
0
07-21 00:38

现在还流行用宝塔么?之前出问题了,全不用宝塔了

省钱昊昊
0
07-20 23:38

看不懂,先点赞