我的收藏

树莓派:成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

2017-11-16  本文已影响641人  随心云

一、家庭服务器实现的主要功能

1、流媒体播放服务:利用 DLNA 实现电视、手机、电脑播放其上面的媒体文件。

2、文件共享:利用 samba 实现手机、电脑等终端与服务器的文件共享。

3、自动下载:利用 aria2c 实现自动下载。

二、准备工作

1、树莓派B+ (笔者是树莓派3B)

2、安装raspbian系统,具体安装方法见: 入手树莓派Mac下制作树莓派系统盘

3、设置固定IP为192.168.1.120,设置方法见: 利用VNC远程控制树莓派。

4、安装vnc软件,最新版系统自带vncserver无需安装。安装方法见: 利用VNC远程控制树莓派。

5、准备了一块旧移动硬盘(80G)

6、准备了可外接供电的usb hub一个,树莓派本身输出电流较小,很难保证移动硬盘的运行,所以加了一个可外接供电的usb hub。(笔者没用供电的USB hub ,只有树莓派3B5V 2A 电源,外接 320G 移动硬盘。没问题)

三、安装samba实现文件共享

1、准备硬盘

我直接就分了一个区,格式化为ext4格式,据说如果是fat或者ntfs等格式可能会出现权限问题,干脆直接格式化为ext4格式。

windows7 环境,利用软件 MiniTool Partition Wizard (下载地址)。

  1. 先将原分区删除
  2. 然后点击creat
  3. 在格式那里选ext4,类型我选的primarylabel用的nas
  4. 然后点击apply就开始格式化硬盘了。(如果用容量较小的U盘,可以直接用树莓派格式化,命令为:mkfs -t ext4 /dev/sdb1

1

2、将硬盘挂载到树莓派上

树莓派开机后,用putty连接(方法见 树莓派学习笔记 )后,为方便操作直接进行root用户(具体方法点击查看一楼评论处),然后运行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。于是新建文件夹:

sudo mkdir /samba         #新建文件夹
sudo chmod 777 /samba     #设置访问权限

将硬盘挂载到/samba文件夹,具体步骤:

umount /dev/sda1   #取消挂载

mount /dev/sda1 /samba  #将硬盘挂载到/samba文件夹

这里再查看df -h,结果为:

这里表示已挂载成功。

3、解决硬盘的自动挂载

树莓派重启或者硬盘插拔都需要对硬盘进行重新挂载,比较麻烦,因此需要自动挂载。这里要修改/etc/fstab文件。有人喜欢用vi进行编辑,我比较喜欢直接vnc连接上后,用编辑器进行编辑。

可以看到,fstab文件其实就是一个表格,表格各列的含意如下:

第一列:磁盘分区名/卷标,一般是/dev/sdaNN表示正整数)

第二列:挂载点,我们在这里把/dev/sda1挂到/samba上。

第三列:缺省设置,一般用defautls

第四列:是否备份:0——表示不做 dump 备份;1——表示要将整个 <fie sysytem> 里的内容备份;2 也表示要做 dump 备份,但该分区的重要性比1 小。

第五列:检测顺序:0——不进行检测;根分区/,必须填写1,其它的都不能填写1。如果有分区填写大于1 的话,则在检查完根分区后,从小到大依次检查下去。

具体填写方法在图中已注明。

挂载 NTFS 硬盘

sudo apt-get install ntfs-3g    #实现 ntfs 读写

sudo umount /dev/sda1     #取消挂载

sudo mount -t ntfs-3g /dev/sda1 /samba    #挂载硬盘到目录 /samba

sudo nano /etc/fstab    #编辑fstab让移动硬盘开机自动挂载

#在最后一行添加如下内容
/dev/sda1 /samba ntfs-3g defaults,noexec,umask=0000 0 0    #保存重启,即可生效

4、安装samba

sudo apt-get update    #更新一下源

sudo apt-get install samba samba-common-bin    #安装 samba

安装完成后,配置/etc/samba/smb.conf文件

在其最后添加以下命令:

[share]
        path = /samba
        valid users = root pi    #允许访问的用户,这里我用的是root 和pi 两个
        browseable = yes
        public = yes
        writable = yes

保存后,重启samba服务,输入

sudo /etc/init.d/samba restart

注意:如果遇到以下错误:
[ ok ] Starting nmbd (via systemctl): nmbd.service.
[....] Starting smbd (via systemctl): smbd.serviceJob for smbd.service failed. See 'systemctl status smbd.service' and 'journalctl -xn' for details.

  • 解决办法:将所有#号以后的注释去掉

最后添加共享用户:

sudo smbpasswd –a pi    #这里我用的pi。

5、测试 samba 安装效果

windows计算机上,打开我的电脑,在左下角网络点右键,选映射网络驱动器

点击完成会提示输入用户名和密码,这里输入设置的共享用户名和密码。

最后在计算机下会出现共享的文件夹,点开文件夹,新建test.txt文件进行一下测试,如果能正常建立,就说明ok了,如果不行,应该是权限问题,可再重新设置一下/samba文件夹权限。这里注意,如果在/samba文件夹下新建新的文件夹,也需要设置权限,可以用vnc连接后,用管理员浏览,点右键设置文件夹权限为read and write,也可以用chmod命令设置。

四、安装 DLNA 实现流媒体服务器

DLNA 主要面向媒体资源(比如视频、音乐)实现网内共享,具体步骤如下:

1、安装 minidlna

sudo apt-get update    #更新一下安装源

sudo apt-get install minidlna    #安装 minidlna

2、设置配置文件

设置/etc/minidlna.conf文件,在文件尾部添加如下内容:

media_dir=A,/samba/DLNA/Music
media_dir=P,/samba/DLNA/Picture  
media_dir=V,/samba/DLNA/Video  
db_dir=/samba/DLNA/db    
log_dir=/samba/DLNA/log   

3、建立文件夹

/samba文件夹下,建立以上文件夹,并设置好权限为read and write。

4、重启 minidlna

sudo /etc/init.d/minidlna restart

测试:

sudo /etc/init.d/minidlna status

返回如下结果为正常。

或者

5、在电脑上进行播放

先在树莓派以上对应的video等文件夹内存上一些文件(可利用samba直接从电脑上考入),然后返回到计算机进行操作。

点击我的电脑下面的网络,出现媒体设备

双击进入媒体播放器,在左边的列表栏下方其它媒体库中出现raspberrypi:root,点击后,可选择音乐,视频等。

这时双击就可以欣赏了。

6、手机上进行播放

手机上实现网络共享,可安装es file explorer软件,在其网络处进行设置,设置方法与电脑基本一样,这里不再详述。设置后,文件均可浏览,媒体文件双击可以在线播放。

也可以直接使用updp播放器,这里我安装的是moliplayer,可以在其附近设备里,直接找到raspberrypi:root,访问其媒体问题,注意,这里是访问的DLNA共享,所以不需要再输入密码。

7、智能电视进行播放

智能电视一般都是用的android系统,与手机基本一样。

五、安装 aria2 实现下载机功能

1、安装aria2

sudo apt-get update    #更新一下安装源

sudo apt-get install aria2     #安装aria2

2、创建配置文件

/etc目录下创建aria2目录用来存放配置文件:

sudo mkdir /etc/aria2    #创建 aria2 目录

sudo touch /etc/aria2/aria2.session    #创建空白的 aria2.session 文件

sudo nano /etc/aria2/aria2.conf    #创建配置文件

aria2.conf文件中输入以下内容:

#=========文件保存目录自行修改

dir=/samba

disable-ipv6=true

enable-rpc=true    #打开rpc的目的是为了给web管理端用

rpc-allow-origin-all=true

rpc-listen-all=true

#rpc-listen-port=6800

continue=true

input-file=/etc/aria2/aria2.session

save-session=/etc/aria2/aria2.session

max-concurrent-downloads=3

这里为了方便共享,我直接设置将文件下载到samba共享文件夹。

3、启动 aria2

sudo aria2c --conf-path=/etc/aria2/aria2.conf

如果没有提示任何错误信息,那就按ctrl+c停止上面的语句,转为后台运行:

sudo aria2c --conf-path=/etc/aria2/aria2.conf -D

同时其此句写到开机启动中,编辑/etc/rc.local,如下

4、安装appache

为了能web管理aria2进行下载,需要安装yaawapache环境。

sudo apt-get install apache2    #安装appach

chmod 777 /var/www/html    #修改/var/www的权限

5、安装yaaw

https://github.com/binux/yaaw下载yaaw,点击右下角的

,下载后将解压后的文件夹内内容拷贝到/var/www文件夹下。这时输入树莓派IP,如果出现以下页面,则表示已经正常工作了。

这里可以点add添加下载任务,具体方法不再详述。

到此,树莓派的NAS服务器搭建完成,试了一下效果,还是很满意的。

整理自:@小五义[http://www.cnblogs.com/xiaowuyi/p/4051238.html] QQ群:64770604

上一篇下一篇

猜你喜欢

热点阅读