缘起
今年树莓派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!