Linux:树莓派实现NAS家庭服务器(流媒体播放、文件共享及下载机)
June 15, 2015
Table of Contents
一、家庭服务器实现的主要功能
1、流媒体播放服务:利用DLNA实现电视、手机、电脑播放其上面的媒体文件。
2、文件共享:利用samba实现手机、电脑等终端与服务器的文件共享。
3、自动下载:利用aria2c实现自动下载。
先上几张效果图:
用orico的包装盒做了个机箱。
内部效果,线还是有些凌乱
放在桌上,感觉还不错,呵呵
二、准备工作
1、树莓派B+
2、安装raspbian系统,具体安装方法见:树莓派学习笔记(1):入手树莓派。
3、设置固定IP为192.168.1.120,设置方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。
4、安装vnc软件,安装方法见:树莓派学习笔记(3):利用VNC远程控制树莓派。
5、准备了一块旧移动硬盘(80G)
6、准备了可外接供电的usb hub一个,树莓派本身输出电流较小,很难保证移动硬盘的运行,所以加了一个可外接供电的usb hub。
三、安装samba实现文件共享
1、准备硬盘
硬盘进行分区和格式化,这里我直接就分了一个区,格式化为ext4格式,据网上介绍说如果是fat或者ntfs等格式可能会出现权限问题,于是干脆直接格式化为ext4格式。硬盘在树莓派上格式化会比较慢,我就在电脑上进行了格式化。电脑操作系统是windows7,利用软件MiniTool Partition Wizard Home Edition 8.0,下载地址:http://www.partitionwizard.com/download.html。具体使用方法是先将原分区删除,然后点击creat,在格式那里选ext4,类型我选的primary,label用的nas,然后点击apply就开始格式化硬盘了。(如果用容量较小的U盘,可以直接用树莓派格式化,命令为:mkfs -t ext4 /dev/sdb1)
2、将硬盘挂载到树莓派上
树莓派开机后,用putty连接(连接方法见树莓派学习笔记(1):入手树莓派)后,为方便操作直接进行root用户(具体方法见http://www.cnblogs.com/xiaowuyi/p/3980037.html一楼评论处),然后运行df –h,查看硬盘挂载情况。
root@raspberrypi:/home/pi# df -h Filesystem Size Used Avail Use% Mounted on rootfs 2.9G 2.4G 387M 87% / /dev/root 2.9G 2.4G 387M 87% / devtmpfs 183M 0 183M 0% /dev tmpfs 38M 792K 37M 3% /run tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 75M 0 75M 0% /run/shm /dev/mmcblk0p1 56M 9.7M 47M 18% /boot /dev/sda1 70G 24M 67G 1% /media/nas
最后一行/dev/sda1说明硬盘已经挂载。为下一步安装samba,将共享文件夹设为/samba。于是新建文件夹:
mkdir /samba
设置访问权限:
shmod 777 /samba
将硬盘挂载到/samba文件夹,具体步骤:
umount /dev/sda1 #取消挂载 mount /dev/sda1 /samba
这里再查看df -h,结果为:
这里表示已挂载成功。
3、解决硬盘的自动挂载
每次树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。这里要修改/etc/fstab文件。有人喜欢用vi进行编辑,我比较喜欢直接vnc连接上后,用编辑器进行编辑。
可以看到,fstab文件其实就是一个表格,表格各列的含意如下:
第一列:磁盘分区名/卷标,一般是/dev/sdaN(N表示正整数)
第二列:挂载点,我们在这里把/dev/sda1挂到/samba上。
第三列:缺省设置,一般用defautls。
第四列:是否备份:0——表示不做 dump 备份;1——表示要将整个
第五列:检测顺序:0——不进行检测;根分区(/),必须填写 1,其它的都不能填写 1。如果有分区填写大于 1 的话,则在检查完根分区后,从小到大依次检查下去。
具体填写方法在图中已注明。
4、安装samba
更新一下源:
sudo apt-get update
安装samba
sudo apt-get install samba samba-common-bin
安装完成后,配置/etc/samba/smb.conf文件
在其最后添加以下命令:
#================================================ [share] #共享文件的名称,将在网络上以此名称显示 path = /samba #共享文件的路径 valid users = root pi #允许访问的用户,这里我用的是root 和 pi 两个用户 browseable = yes #允许浏览 public = yes #共享开放 writable = yes #可写 #================================================
保存后,重启samba服务,输入
/etc/init.d/samba restart
最后添加共享用户:
smbpasswd –a pi #这里我用的pi。
设置开机自启动,编辑/etc/rc.loca,如下
5、测试samba安装效果
在windows计算机上,打开我的电脑,在左下角网络点右键,选映射网络驱动器
点击完成会提示输入用户名和密码,这里输入设置的共享用户名和密码。
最后在计算机下会出现共享的文件夹,点开文件夹,新建test.txt文件进行一下测试,如果能正常建立,就说明ok了,如果不行,应该是权限问 题,可再重新设置一下/samba文件夹权限。这里注意,如果在/samba文件夹下新建新的文件夹,也需要设置权限,可以用vnc连接后,用管理员浏 览,点右键设置文件夹权限为read and write,也可以用chmod命令设置。
0 Comments