美文网首页我的收藏
树莓派:成功实现NAS家庭服务器(流媒体播放、文件共享及下载机)

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

作者: 随心云 | 来源:发表于2017-11-16 16:03 被阅读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

    相关文章

      网友评论

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

      本文链接:https://www.haomeiwen.com/subject/tlgtvxtx.html