对于服务器而言硬件只是基础,而且家庭服务器的硬件要求并不高。软件才是实现功能的核心,需要自己花更多精力去探索。
家用服务器系统我有3个推荐选项:linux发行版、FreeBSD、和windows企业版。
优先级最高的是Linux发行版,比如:Ubuntu、Manjaro、Linux mint等。习惯Windows的朋友我建议选择Windows企业版(Lts)可以省去Windows经常升级的烦恼。我对FreeBSD也不是很熟悉,所以给不了太多建议。
Linux发行版我推荐3个:1.Ubuntu / 2.Manjaro / 3.Linux mint;
国产的麒麟 、深度也可以去尝试一下,学习Linux是一个挺不错的体验,你可以感受开源软件世界完全不一样的氛围。Linux发行版我建议选择桌面版而不是服务器版,因为你并不是真正在搭建一个商用服务器。很多软件需要GUI环境运行,桌面版会更加方便。
Windows推荐企业版,理由是功能精简、没有Windows自动升级的烦恼。Windows镜像下载推荐使用这个网站MSDN ITellYou;
FreeBSD一样是一个非常优秀的开源系统,不过我接触很少,没有太多有价值的参考建议,但网上的资料还是很全的;
操作系统的安装就不详细讲解了,安装系统这个是基础能力。但是我推荐一个安装系统的神器Ventoy,只需要1个U盘放入你所有的系统镜像,想安装哪个就选哪个非常方便。
安装系统后,接下来就根据具体需求部署软件解决方案(接下来的所有解决方案均以Ubuntu系统为案例):
如果只能在局域网内访问家庭服务器,那么使用场景太受限制。我们可以通过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官网,进入局域网管理,启动对应的设备即可完成虚拟局域网搭建。通过这个虚拟局域网你可以远程访问你的家庭服务器的服务。还能实现远程控制其它设备开机。接下来我就介绍一下具体操作:
通过家庭服务器让其它局域网设备开机很简单。首先在服务器上安装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对运维很有用,但在家用中使用场景不多。
如果你有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,手机平板都可以直接浏览书库非常方便。
目前最流行的个人文件服务器解决方案还是Samba。linux安装Samba也非常简单:
#安装samba
sudo apt install samba
安装完毕后,只需要把指定文件夹设置成共享,其它主机只需要通过访问局域网主机IP地址,即可访问服务器共享的内容。搭建Nas服务器千兆局域网(不是指的宽度)是基本网络环境,不然体验就一般了。
作为下载服务器主要场景肯定是BT/PT下载和百度云下载。BT下载可以用transmission或者qbittorrent,然后开启Web服务,这样就可以在局域网里添加下载任务。如果通过zerotier搭建虚拟局域网,就可以实现远程下载。
#安装transmission
sudo apt install transmission
#安装qbittorrent
sudo apt install qbittorrent
transmission和qbittorrent还有一个挺不错第三方安卓客户端Transdroid,这样手机就可以随时随地为服务器添加下载任务了。
Web服务器对于新手而言没什么用处。但是Web服务器才是家庭服务器真正的精髓,很多服务都可以通过Web服务器实现。比如私人云盘、相册、网站等等。
我个人是因为在学习网站维护,搭建的LAMP环境(Linux+Apache+MySQL+php);大家如果对于服务器维护想做深入学习,学习Docker知识是必不可少的。这个内容很大这里就不展开讲了,以后有机会我开个专题。
更多功能后续更新……