緣起
今年樹莓派3剛發售的時候就下單了樹莓派3,,打算拿它來研究點東西。
最近買了一些學習的會員賬號,下載了一些視頻和音頻的會員服務,想在家里學習一下。問題是,家里有好幾個設備,PC、mac和手機,如果在每臺設備上都能看(聽)的話,要分別在設備插上移動硬盤,這樣當然是觀看最直接的方式,但是這樣勢必非常的麻煩,每次都要拔插硬盤,而且手機也不支持移動硬盤;當然也可以將文件分別保存到各個設備上面,但是這樣一份文件存到多個地方也會占用很大的空間。
所以我想,何不利用樹莓派打造成一個家庭級別的多媒體服務器,其他設備通過軟件直接觀看這臺樹莓派上面的視頻等文件呢?
說做就做,經過一系列的學習實踐,終于成功了,現在可以把樹莓派當做成為一個家庭的服務器,各種設備可以直接打開里面的文件了,非常方便。
下面分享一下配置過程。
配置
先說一下我的配置情況
- 樹莓派,你也可以用其他的Linux機器
- 移動硬盤
- 各種客戶端:Android、iPhone、PC、mac
我是把樹莓派做成了一個媒體服務器,如果你有其他閑置資源的筆記本的話,完全可以將它做成一臺媒體服務器。
操作
- 安裝Samba
選來選去,我找到了Samba這個Linux上評價非常好的軟件,下載命令:
sudo apt-get install samba samba-common-bin
Samba的配置文件一般就放在/etc/samba目錄中,主配置文件名為smb.conf,文件中記錄著大量的規則和共享信息,所以是samba服務非常重要的核心配置文件,完成samba服務器搭建的大部分主要配置都在該文件中進行。
Samba服務器的工作原理是:客戶端向Samba服務器發起請求,請求訪問共享目錄,Samba服務器接收請求,查詢smb.conf文件,查看共享目錄是否存在,以及來訪者的訪問權限,如果來訪者具有相應的權限,則允許客戶端訪問,最后將訪問過程中系統的信息以及采集的用戶訪問行為信息存放在日志文件中。
- 創建遠程登錄賬戶
按照介紹,Samba必須要有個登錄賬戶,否則客戶端設備不能匿名登錄。
所以我創建了shareuser這個賬戶。
sudo useradd shareuser
sudo passwd shareuser
創建用戶并修改密碼之后,下面就要配置Samba共享了。
- 配置Samba
打開/etc/samba/smb.conf這個文件(如必要請備份該文件),然后向文件寫入配置:
[global]
log file = /var/log/samba/log.%m
[tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
其中[global]是針對全局的配置,其中/tmp是我要共享的路徑,所以移動硬盤也將掛載到這個路徑下。
- 掛載移動硬盤
移動硬盤才接入USB插口時,系統會自動掛載移動硬盤,所以要先接掛硬盤,手動掛載硬盤到/tmp下。
接掛之前,首先要找到移動硬盤的位置,使用df可以找到對應硬盤的位置
sudo fdisk -l
找到自己要掛載的分區:
Device Boot Start End Sectors Size Id Type
/dev/sdb1 63 838866104 838866042 400G 7 HPFS/NTFS/exFAT
/dev/sdb2 838866105 1953455804 1114589700 531.5G f W95 Ext'd (LBA)
/dev/sdb5 838866168 1468019699 629153532 300G 7 HPFS/NTFS/exFAT
/dev/sdb6 1468019763 1887444719 419424957 200G 7 HPFS/NTFS/exFAT
/dev/sdb7 1887444783 1953455804 66011022 31.5G b W95 FAT32
因為我的移動硬盤被事先分割成了多個分區,而我只想掛載Entertianment這個分區,所以我這里顯示的是:“**”這個位置。
找到分區位置,下一步就是接掛這個分區了
umount /ext4/sdb/5
然后掛載到/tmp下
mount -t ntfs /dev/sdb5 /tmp
OK,經過這一系列配置之后,就可以啟動Samba了。
- 啟動
[root@localhost ~]# smbd
[root@localhost ~]# nmbd
或命令:
啟動Samba服務
/etc/rc.d/init.d/smb start
停止Samba服務
/etc/rc.d/init.d/smb stop
重新啟動Smaba服務
/etc/rc.d/init.d/smb restart
重新加載Smaba服務
/etc/rc.d/init.d/smb reload
編輯啟動加載項
ntsysv
chkconfig -level n smb on/off
如果沒有報錯,就證明啟動成功了。下面就是使用客戶端訪問樹莓派,看看能否聯通。
- 確定IP
使用命令ifconfig來確定服務器的IP地址是多少
sudo ifconfig
記下這個地址以備后期客戶端連接。
- 客戶端測試
- Android設備
如果是Android設備,可以下載ES文件瀏覽器這款軟件。打開軟件后,點擊“新建”,連接方式選“Samba連接”,連接命令如下:
smb://192.168.1.106
用戶名為剛才的shareuser
這樣不出問題就能登錄了。
iPhone
對于iPhone,需要安裝一個叫做 的軟件,使用方法跟ES一樣。mac
打開finder,按下cmd+k,彈出連接服務器窗口,配置好后即可連接了,非常cool!