樹莓派(Raspberry Pi):完美的家用服務器

出處:http://linux.cn/thread/11884/1/1/php


樹莓派(Raspberry Pi):完美的家用服務器

自從樹莓派發布後,全部在互聯網上的網站爲此激動人心的設備提供了不少有趣和具備挑戰性的使用方法。雖然這些想法都很棒,但樹莓派( RPi )最明顯卻又是最不吸引人的用處是:建立你的完美家用服務器。html

若是你有幾個不一樣的電腦須要同步和自動化備份,RPi能夠作到。若是你想經過家中的任意屏幕來訪問你的音樂和視頻,RPi也能實現。也許你有一個或兩個打印機,你想要簡單與你們共享,樹莓派在硬件和時間上用最小投資就能知足你的這些需求。linux

樹莓派的好處

低成本:35美圓(約合242元RMB),B型的RPi接近一臺完整的電腦,512M內存,100Mb以太網,SD卡插槽,2個USB接口,音頻輸出和HDMI或RCA視頻輸出。我知道HDMI電纜就比樹莓派貴。git

能源效率:硬件成本只是服務器費用的一部分,由於你須要考慮能源成本去不斷運行設備。家用服務器所須要的服務不會佔用太多CPU,大部分時間它都處於空閒狀態,等待發揮功效。RPi's超低功率組件很是適合這個工做負載,這有助於下降你的電費消耗。個人一個B型的RPi加上外部硬盤消耗總共只有8瓦,然而用老式速龍代替的機器在閒置時消耗54瓦。假設10美分每千瓦一小時,這使得一個RPi每一年的電費在7美圓。一個基於速龍的機器是47美圓。在不到一年的時間裏,RPI基本上可以收回成本。github

低噪音:由於RPi沒有風扇和移動部件,在你最終配置中的惟一能生成噪音或明顯熱量的組件就是硬盤。若是你擔憂噪音,像Silent PC Review發燒友網站常常在他們的評論中涉及到噪聲基準。個人體會是現代驅動器足夠安靜,要比其餘的設備安靜的多(如媒體中心,遊戲機或其餘電腦)。若是你家裏沒有爲佈線提供更多的靈活性選擇,RPi的小尺寸、少許發熱和低噪音也許讓你走過它旁邊都很難發現。windows

圖1,一個簡潔高效的家用服務器瀏覽器

新機會:一個不怎麼實際的好處是-簡單快樂的嘗試新事物!對我來講,這是我第一次真正工做在基於Debian的發行版,極可能也是許多Linux愛好者們第一次有機會嘗試一個基於ARM的體系結構。安全

佈置硬件

對於一個家庭服務器來講,你將須要一箇中等容量的SD閃存卡做爲本地存儲。它可使用一個USB引導,但那會佔用兩個寶貴的USB插槽之一。閃存卡不須要很大容量,可是速度越快越好。我選擇了一個名牌SD卡,8GB容量和CLASS 10的速度等級。對於備份和存儲多媒體文件,一個有USB鏈接插槽的硬盤驅動器是必須的。我選擇一個1.5TB的硬盤和一個Calvary EN-CAHDD-D 2-bay USB 2.0硬盤鏈接基座。這個鏈接基座有個功能,在RAID-0模式中鏈接兩個硬盤,總有一天會有用的。最後,RPi不帶電源線,但能夠用大多數智能手機充電器所用的5v微型USB。看看RPi是否挑剔電源,我爲電源已換了三個不一樣的微型USB手機充電器。我在這周內嘗試了每個,在任何一個上都沒有問題。服務器

安裝操做系統

安裝RPi操做系統包括了許多方面的大量細節,但這裏有一些家用特定服務器的安裝提示,大體按須要的順序講述。網絡

1)直接經過http://www.raspberrypi.org/downloads獲取Raspbian "Wheezy"安裝鏡像,並複製到SD卡,用網站上已列出的步驟。

2)第一次引導RPi時,鏈接一個鍵盤、鼠標和顯示器。在引導RPi以前別忘打開顯示器,能夠檢測到正確的HDMI或混合輸出端口。

3)RPi有一個很好的"raspi-config"屏幕,在第一次啓動時你會看到。對於家庭服務器來講,如下選擇將會有用:

  • expand_rootfs:調整默認2GB OS鏡像的大小,來填滿閃存卡剩餘的內存。
  • change_pass:修改默認密碼"raspberry",可是,越安全的密碼越好。
  • 設置你的地點和時區。
  • memory_split:給GPIU服務分配最少的內存(16M)儘量爲其餘服務留下更多內存。
  • SSH:別忘開啓SSH服務。
  • boot_behaviour:關閉「啓動至桌面(boot to desktop)」(再次爲你的其餘服務節省內存)。

完成後,你將在出現 pi@raspberrypi 提示符下。安裝腳本能夠在任什麼時候間經過 sudo raspi-config 從新運行。

還有一些其餘配置,而後操做系統就能夠用了。

1)一個靜態IP讓一切變得更容易,切換eth0的網絡設置:

   >> sudo nano -w /etc/network/interfaces  

更改eth0的那行 iface eth0 inet dhcp ,以下所示(根據你的家庭網絡設置修改):

======/etc/network/interfaces======
...
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
...
======/etc/network/interfaces======

2)建立本地用戶並加入到users組和sudo組:

>> sudo adduser YOURUSERIDHERE
>> sudo usermod -a -G users YOURUSERIDHERE
>> sudo usermod -a -G sudo YOURUSERIDHERE

3)更新系統確保全部的庫是最新最好的:

>> sudo apt-get update; sudo apt-get upgrade

4)好了,準備從新啓動吧!先關閉PI:

>> sudo /sbin/shutdown -h now

一旦關閉(注意RPi電路板上的綠色LED狀態指示燈,能夠知道何時完成關閉了),拔下顯示器,鍵盤,鼠標和電源線。插入USB端口上的硬盤,而後插回電源重啓RPi。

5)一旦RPi開啓(這些綠色LED指示燈用來描述狀態),你能夠從遠程網絡上從任何其餘機器ssh到RPi並完成全部的配置(更改如下命令裏的IP爲你的靜態IP):

>> ssh YOURUSERIDHERE@192.168.1.10

祝賀你,有了一個能夠工做的樹莓派!

外設

第一件事是要鏈接外設。用dmesg來尋找你的存儲設備,會發現——幾乎能夠確定是/dev/sda。我喜歡使用自動掛載去掛載移動存儲設備,這樣更靈活,由於在啓動時這些設備也許沒有或者沒準備好:

>> sudo apt-get install autofs
>> sudo nano -w /etc/auto.master 
======/etc/auto.master======
...
/misc /etc/auto.misc
...
======/etc/auto.master======

>> sudo nano -w /etc/auto.misc

注意,個人外部存儲設備是ext4格式,若是須要話能夠在下面更改:

======/etc/auto.misc======
...
storage -fstype=ext4:/dev/sda1
...
======/etc/auto.misc======
>> sudo /etc/init.d/autofs restart 
>> ls -lat /misc/storage 

可選的,建立一個符號連接的短路徑:

>> ln -s /misc/storage /storage

備份倉庫

在任何家庭服務器功能列表裏面最重要的是提供堅如磐石的備份。對於RPi來講,這很簡單而優美,在Linux中有豐富的網絡共享選項:Samba/CIFS用於Windows機器,NFS用於基於UNIX的設備,而且甚至SFTP能夠用於更多新的備份客戶端,如deja-dup。因爲RPi只有100MB以太網接口和USB上的存儲設備,它沒有很是快的傳送速度。不過在另外一方面,好的備份客戶端是在後臺自動運行的,因此你不會注意略微緩慢的傳輸速度。

個人家庭網絡包括一臺Windows 7電腦。對於它,我經過Samba在RPi's外部USB存儲設備上導出一個備份目錄。由於備份程序在Windows7基礎版上不支持網絡設備做爲備份目標,我使用SyncBack Free去設置使其自動化,每日備份。

配置Samba是容易的。

1)安裝samba和common-bin庫(具備smbpasswd效用)

>> sudo apt-get install samba samba-common-bin

2)使用 smbpasswd 讓你的本地ID能訪問:

>> sudo smbpasswd -a YOURUSERIDHERE

3)編輯samba配置文件:

>> sudo nano -w /etc/samba/smb.conf

4)更改 workgroup = WORKGROUP 行以匹配你的Windows工做組名稱。

5)註釋掉或刪除[homes]和[printers]共享。(打印機共享稍後將經過直接CUPS訪問來完成。)

6)爲Windows備份路徑增長一個條目。這是個人示例,放置在該文件的底部:

======/etc/samba/smb.conf======
...
[win7pc] 
comment=Backup for windows PC
path=/storage/win7pc 
writeable=Yes 
create mask=0777 
directory mask=0777 
browsable=Yes 
public=Yes 
valid users=YOURUSERIDHERE
...
======/etc/samba/smb.conf======

7)重啓Samba使你的編輯生效:

>> sudo /etc/init.d/samba restart

8)從Windows機器文件資源管理器經過映射一個網絡設備測試連通。

對Linux設備來講,設置和使用deja-dup很是簡單。它被默認安裝在個人Fedora 18和Ubuntu 12.10上。包的名稱是「deja-dup」,程序名簡單的稱爲「Backup(備份)」。雖然RPi很容易支持NFS導出,我發現使用deja-dup的SSH選項更容易,更方便,在RPi上它不須要額外服務的支持。指定一個deja-dup加密密碼是一個好主意,除非你不在乎一旦丟失了存儲器,別人就能夠拿走所有數據:

>> sudo mkdir /storage/linuxlaptop
>> sudo chown -R YOURUSERIDHERE:YOURUSERIDHERE /storage/linuxlaptop

從linux客戶端啓動備份程序,選擇「SSH」做爲備份位置,輸入RPi的IP地址和你建立的存儲位置。首次備份會很慢,可是之後的運行將只發送增量變化,速度更快。

圖2,Deja-dup客戶端設置

多媒體服務器:DLNA

如今每一個人的文件都已安全備份。讓咱們繼續看些有趣的!一個DLNA服務器可讓你集中存儲你的電影、音樂和圖片。經過這個中心庫,家中每個屏幕的DLNA客戶端均可以輕鬆重放此內容。

至少,這是一個宣稱。事實是這樣的,DNLA規格並不太肯定一些重要的事情,如支持哪些格式或編碼。每一個客戶端一般對於支持什麼格式和服務器功能都有略微不一樣的想法。不少高功率的服務器也許能轉碼本地內容到移動設備支持的格式,可是在RPi上是不可能的,在即時轉碼上常常擾亂其餘功能,如暫停,快進和倒帶。通常狀況下,高功率設備如PS三、Xbox和WD TV設備支持大多數格式,而無需任何轉碼。低端設備如智能TVs或Blu-ray播放器只支持更有限的編碼列表。

對於RPi來講,最好的辦法是支持你的主要的DLNA設備的標準編碼,而後測試你的其餘DLNA客戶端。若是沒有完美播放,在下一節的提示也許有幫助。在個人狀況下,個人PlayStation 3充當DLNA客戶端,PS3可以流暢播放經Handbrake製做後的.m4v文件。

對於RPi的DLNA服務器來講,Minidlna是個很好的選擇。它已經在Raspbian發行版中,易於設置和使用最小服務資源運行:

>> sudo apt-get install minidlna
>> sudo nano  -w /etc/minidlna.conf

這是我/etc/minidlna.conf文件的相關部分:

...
# I found keeping video + audio in different paths helpful
media_dir=V,/storage/dlna/video 
media_dir=A,/storage/dlna/music 
...
presentation_url=http://192.168.1.10:8200/
... 
friendly_name=MyRPi
...
# Since I add new media infrequently, turning off 
# inotify keeps minidlna for polling for 
# content changes. It's simple enough to run 
# sudo /etc/init.d/minidlna force-reload
# when new content is added.
inotify=no

一旦完成編輯,重啓minidlna以加載新配置:

>> sudo /etc/init.d/minidlna force-reload

Minidlna可以爲你的設備支持的電影提供電影海報縮略圖(像PS3)。這讓我可以更方便地在幾十個電影文件中滾屏查找我想要的那個電影。我發現每一個電影一個目錄是最兼容的文件佈局,只包含影片文件和縮略圖,圖像命名爲「Cover.jpg」。使用像"MovieName.m4v"和"MovieName.jpg"的格式在PS3上工做的很好,但它不太適合VLC(除非你能讓VLC uPNP插件首先查找服務器的話)。

經過PS3,你能夠經過轉到在XMB欄上的"Video"測試連通性。當視頻列表向下翻頁時,你之前設置的"friendly_name"應該是可見的,測試確保Minidlna是經過瀏覽器轉到http://192.168.1.10:8200/。

非DLNA設備的多媒體

當你讓DNLA與你的一些設備一塊兒工做時,你可能會發現有些設備並不適合它,因此多媒體計劃B是個好主意。Nginx網站服務器有一個MP4插件嘗試在舊式的HTTP鏈接上改善流媒體傳輸,可是瀏覽器回放的性能差異很大,在一部電影裏快進也一直不工做。看起來多媒體共享或非 DLNA 設備的最低共同特性是使用傳統Samba共享的訪客只讀訪問。

這是/etc/samba/smb.conf的部分示例:

[dlna] 
path=/storage/dlna 
read only=yes 
browsable=yes 
public=yes 

定義了共享設置後重啓Samba( sudo /etc/init.d/samba restart ),你能夠開始測試你的客戶端。

我用一個混合的編碼m4v視頻文件測試瞭如下客戶端:

  • Android 4.0.4手機:"ES File Explorer"與"ES Media Player"(播放器附帶安裝)。

  • Android 4.1.2平板電腦:"ES File Explorer"與"ES Media Player"(播放器附帶安裝)。

  • Linux設備:自動掛載://192.168.1.10/dlna,而後使用VLC或MPlayer。

  • Windows:掛載//192.168.1.10:/dlna,而後使用VLC。

全部設備都能幾乎當即開始播放和快進沒有延遲的狀況。

打印服務器

RPi運行CUPS至關不錯,因此它容易共享一個較舊的沒有本地網絡接口的打印機。

安裝你的打印機所需的CUPS和任何軟件包。我須要hplip-cups,由於我有一個HP噴墨打印機:

>>  sudo apt-get install cups hplip-cups

更新「Listen」行和增長 Allow @LOCAL 到位置指令,以下所示(你可使用其餘機器在你的LAN上去管理CUPS):

======/etc/cups/cupsd.conf======
#Listen localhost:631  #Comment this out
Listen 192.168.1.10:631 #Add this line
...
<Location /> 
  Order allow,deny 
  Allow @LOCAL 
</Location> 

# Restrict access to the admin pages... 
<Location /admin> 
  Order allow,deny 
  Allow @LOCAL 
</Location> 

# Restrict access to configuration files... 
<Location /admin/conf>  
  AuthType Default 
  Require user @SYSTEM 
  Order allow,deny 
  Allow @LOCAL 
</Location> 
======/etc/cups/cupsd.conf======

添加你的本地ID到lpadmin組就能管理CUPS:

>> sudo usermod -a -G lpadmin  YOURUSERIDHERE

重啓CUPS:

>> sudo /etc/init.d/cups restart

而後轉到http://192.168.1.10:631/並點擊 "Adding Printers and Classes"去設置你的打印機。個人打印機是自動發現的USB設備,因此,我只需點擊「share」就能夠。一樣訪問https://192.168.1.10:631/admin,確保檢查「Shareprinters connected to this system(共享鏈接至這個系統的打印機)」。

完成後,你能夠用一般的方式設置你的客戶端。當我輸入主機名,個人Linux客戶端就可以自動發現打印機,並選擇正確的驅動程序。在個人Windows7的機器上,一旦我選擇「Network Printer(網絡打印機)」,我必須點擊「The printer that I want isn't listed(我想要的打印機未列出)」,選擇「Select a shared printer by name(經過名稱選擇共享的打印機)」,而後從CUPS網絡接口輸入URL:http://192.168.1.10:631/printers/HP_J4500。

結論

用最少的額外的硬件和配置,樹莓派是高效、簡潔的家用服務器。它可以花最小的硬件費用來爲你的家庭環境帶來由Linux提供的普遍企業服務。


via: http://www.linuxjournal.com/content/raspberry-pi-perfect-home-server

本文由 LCTT 原創翻譯,Linux中國 榮譽推出

譯者:Vito 校對:Caroline

本文地址:http://linux.cn/thread/11884/1/1/

歡迎轉載,敬請在正文中標註並保留原文/譯文連接和做者/譯者等信息。 ]
本文系「做者/譯者/校對」原創,轉載敬請註明。本文轉載遵循 CC協議規定
 該貼已經同步到 linux的微博
相關文章
相關標籤/搜索