對于服務器而言硬件只是基礎,而且家庭服務器的硬件要求并不高。軟件才是實現功能的核心,需要自己花更多精力去探索。
選擇操作系統
家用服務器系統我有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知識是必不可少的。這個內容很大這里就不展開講了,以后有機會我開個專題。
更多功能后續更新……