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

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容