树莓派作下载机+Web服务器(Aria2下载+yaaw作UI+nginx)

今天收到了小派,UK产的绿板子,还配了个透明盒子,装在里面闪亮亮的很好看,并且只有卡片大小,寻思着用它作什么好呢?想来想去,看到人家拿小派做家庭媒体中心,还有人拿它当下载机,因而就萌生了一个家庭媒体中心+下载机二合一的东东,白天看电影,晚上添加任务让它本身下载到SD卡里,次日就能看了,接上无线网卡,经过手机控制它,遥控器都省了。下面咱们就开始吧。html

你须要的东西:

  • Model B型树莓派(带壳)
  • 一张Class10的高速度SD卡
  • 5v2A的电源适配器(若是你的智能手机充电器,能达到5v1A及以上,就拿那个当电源好了)
  • 一根HDMI线
  • 一杯程序员饮料

也可能须要的东西:

  • 纯铜散热器套装
  • 一个小巧玲珑即插即忘的无线网卡(固然前提是你家要有无线网络)
  • HDMI转DVI线(链接没有HDMI的显示器用)
  • 容量超级大的移动硬盘
  • 4口USB集线器

高大上的奢侈品

  • 树莓派全家福套装

须要安装的软件以下:

PC端:

  • putty(一个SSH工具,用于远程连到你的树莓派上,这样你就不用把你的小派挪来挪去了)
  • FileZilla(一个开源的ftp客户端,这样你能够把你电脑上的文件直接拖到你的小派里了)
  • win32DiskImager-binary(把网上下载的镜像刷到SD卡里)

前两款软件的安装都很是简单,直接一路下一步,第三款直接解压缩,这里就不介绍了linux

树莓派端:

  • Raspbmc(Xbmc的树莓派版,Xbmc是一个流行的媒体中心系统,基于linux,能够方便的播放你各类设备上的音频视频图片拽过来在你的Xbmc上播放,也能播放广播和在线视频,这里要赞一下Raspbmc的做者,Sam Nazarko,他仍是一个19岁的学生,至关厉害)
  • aria2c(Linux下的命令行下载利器,nani?命令行???你是在逗我么,莫怕,接着往下看)
  • yaaw(基于web的aria2c的UI,能够添加任务,查看任务进度)
  • nginx(http服务器,用于承载yaaw)

咱们须要从Raspbmc网站下载镜像,这里你有两个选择,nginx

  1. 安装的时候比较痛苦:参照这篇教程,点击页面上的link连接或这里下载windows installer,按照页面上的指导向SD中刷入boot镜像(这个镜像只包含最基本的boot,在启动后会联网下载最新的镜像),完成后插入SD到你的树莓派中,开机,并为你的树莓派插上网线(此时无线网卡不可用),用前面提到的线缆链接上显示器(或电视机),看着蓝色的屏幕开始品尝你的程序员饮料吧,痛苦开始了,视你的网速,我是在等了2个小时以后忽然发现它只走了20%而后果断放弃了
  2. 更新的时候比较痛苦:访问Raspbmc下载页面,点击页面上的Standalone Image下载完整镜像,解压缩获得一个sd.img,而后使用win32DiskImager-binary.exe工具刷入SD卡中(选择解压出的sd.img,而后“设备”里选择你的SD卡,注意必定要是你的SD卡,别选错了,而后点“写”),等刷成功以后,把SD插入树莓派中,启动,你就可使用了,这个时候你也可使用你的无线网卡了,须要配置一下,一会说。win32DiskImager

到此,媒体中心安装完成,恭喜你得到了“事倍功半”成就(Why?看了这么久蓝屏,就完成了一半,不是事倍功半么),好的,继续往下看!git

咱们开始配置下载机。程序员

在PC上打开putty,进你的路由器看你的树莓派地址是多少,填进puttyHost Name(or IP address)栏里,点Open,
puttygithub

在弹出的窗口中输入用户名pi,回车,而后是密码raspberry(屏幕上不会有任何显示),回车,你就打开了一个树莓派的shell,能够远程操做啦!(nani?又是命令行,这回帮不了你了,只能用命令行了,不过顺带学习一下linux的精髓也是不错的嘛,对吧)。咱们开始安装软件。web

第一次链接ssh可能还要进行一些配置,根据提示点ok就好了。chrome

进入后先update一下软件源,使用命令shell

首先安装aria2c

在shell窗口使用下面的命令进行安装apache

接下来咱们作一些配置

在aria2.conf里面输入以下内容,能够直接复制后在窗口里按鼠标右键粘贴

按ctrl+o 保存,回车一下,而后按ctrl+x退出编辑,完了后运行:

测试有没有错误,若是没有错误的话按一下Ctrl + C终止当前程序,继续往下。

接下来咱们让aria2c成为系统服务而且开机自启动

粘贴以下内容到窗口,注意格式必定要保持一致

以后按ctrl+o保存,回车一下,再按ctrl+x退出编辑

使用命令进行权限更改

测试服务是否能够启动:

若是只显示Starting aria2c,没有其余错误提示的话就成功了

若是提示有错误,可重启系统,执行sudo reboot命令试试。
添加aria2c服务自动运行:

到此aria2c就能够开机自启动了。

检查aria2c是否启动:

1.先确认aria2是否已启动,命令:ps -ef | grep aria2c,应该能够两行内容,
其中 aria2c --conf-path=/opt/etc/dm2_aria2/aria2.conf -D  相似的一行内容,说明已经启动了。
2.配置若是不正确,重点修改/opt/etc/dm2_aria2/aria2.conf 中的配置

下来是安装nginx web服务器

在shell窗口使用命令进行安装

因为Raspbmc以及自带的远程管理占用了80端口,所以咱们须要更改nginx的端口号使他们不相互冲突,经过修改nginx.conf文件实现

使用下面的命令进入修改

进入vi后,输入

按回车 查找listen,找到

按方向键移动光标(nani?不能用鼠标?对不起,不能)到第一个listen的”#”,按del删除,再移动光标到80,按一下字母i,进入编辑模式,此时就能够自由编辑了,把80改成8080,改完后应该是这个样子:

按一下esc键,回到浏览模式,而后按一下冒号键(shift + ;键),输入wq,保存退出
edit-nginx-conf

使用以下命令启动nginx

进入http://树莓派的ip:8080/你能看到Welcome to nginx!说明安装成功(OY!)
nginx

再来是安装yaaw

从https://github.com/binux/yaaw这里 下载 yaaw,可使用git直接下载到树莓派上或者在PC端点击页面的右下角那个“Download Zip”下载最新版本,解压缩,再经过FileZilla上传到你的树莓派上的,我推荐第二种方式,这样你就不用命令行了:),你也可使用命令行如今yaaw。

在提供一个中文版的下载地址:http://github.com/wzhy90/yaaw

第一种方法:

cd /var/www
git clone http://github.com/wzhy90/yaaw

第二种方法:

在PC端解压缩yaaw的压缩包,解压出的文件夹叫yaaw-master,咱们把它重命名名为yaaw

咱们还须要更改一下nginx的www目录访问权限,才能使用ftp把yaaw扔进去

以后打开FileZilla,在”主机”处输入你的树莓派的ip,用户名输入pi,密码输入raspberry,点击“快速链接”,而后在下面“本地站点里”选择yaaw所在的本地路径,在“远程站点”里定位到/usr/share/nginx/www,把刚才的yaaw拖进去就好了。
FileZilla
而后在你的shell上使用命令

让yaaw文件夹能够被浏览器访问。

而后在pc的Chrome的地址栏里输入http://树莓派IP:8080/yaaw,就能看到任务管理界面了,它看起来大概像这个样子
yaaw
到此大功告成,OY!!

备注:在其余浏览器中使用的时候,在点击“+ Add”或者“扳手”按钮的时候,可能会出现灰色的遮罩层,看不到弹出的界面。

别着急,咱们还须要一些额外的工做使你之后的使用更方便。有点耐心,就要完了。

一些额外的工做:

  • 首先要把系统语言改为中文,在System-Settings-Appearance-International里把Language改为Chinese(Simple),光标移开就自动换了,而后把字符集改为Chinese Simplified (GBK)
    language setting
  • 无线网的配置,这个须要在树莓派的UI界面进行,进入程序-Raspbmc Settings-Network Configuratioin
    netword setting
  • 请为你的小派在路由器里分配一个固定的IP地址,这样能够省去不少麻烦。

远程控制:

你如今有两种方式来远程控制你的树莓派了,

  • 经过浏览器访问http://你的树莓派IP 来访问,他看起来像这样
    browser remote
  • 经过智能手机,参考这里 Android, IOS

知识加油站:

什么是树莓派?
树莓派是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有两个USB接口和一个网口,可链接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口,以上部件所有整合在一张仅比信用卡稍大的主板上,具有全部PC的基本功能只需接通电视机和键盘,就能执行如电子表格、文字处理、玩游戏、播放高清视频等诸多功能。 Raspberry Pi B款只提供电脑板,无内存、电源、键盘、机箱或连线。

最后让咱们的主角亮个像吧:

IMG_20131214_234139[1]

 

出处:http://www.boydwang.com/2013/12/build-your-raspberrypi-as-a-media-center/

=================================================================================================

最近看了不少用树莓派或者openwrt路由器作下载机的。
可是看那些教程,小白确定是不会弄了,因此我就作这个教程,应该接近小白了,一步一步。
首先树莓派的系统要装好。

首先安装aria2,apache2

1
sudo apt-get install aria2 apache2

装好以后设置好apache2的权限:

1
sudo visudo

底部添加这行:

1
www-data ALL=(ALL) NOPASSWD: ALL

Ctrl + O保存,Ctrl + X退出

而后在搞aria2的

1
2
3
mkdir ~/.aria2
touch ~/.aria2 /aria2 .session
nano ~/.aria2 /aria2 .conf

aria2.conf里面写这些:

1
2
3
4
5
6
7
8
9
10
dir=/home/xbian/Download #下载默认的目录
disable-ipv6=true
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
#rpc-listen-port=6800
continue=true
input-file=/home/xbian/.aria2/aria2.session #刚才touch命令的那个文件,路径要绝对路径
save-session=/home/xbian/.aria2/aria2.session #同上,这个文件的做用是保存你的下载列表,不保存的话重启后全部下载都木有了
max-concurrent-downloads=3

完了后运行:aria2c –conf-path=/home/xbian/.aria2/aria2.conf
测试有没有错误,若是没有错误的话Ctrl + C终止程序继续下一步,有错误会提示你conf文件哪里错误。
把aria2作成系统的服务:

1
sudo nano /etc/init .d /aria2c

内容以下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#!/bin/sh
### BEGIN INIT INFO
# Provides:          aria2
# Required-Start:    $remote_fs $network
# Required-Stop:     $remote_fs $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Aria2 Downloader
### END INIT INFO
 
case "$1" in
start)
 
echo -n "Starting aria2c"
sudo -u xbian aria2c --conf-path=/home/xbian/.aria2/aria2.conf -D
#sudo -u后面的是你正在使用的用户名,由于我用的XBian,用debian的是pi(没改用户的话)
;;
stop)
 
echo -n "Shutting down aria2c "
killall aria2c
;;
restart)
 
killall aria2c
sudo -u xbian aria2c --conf-path=/home/xbian/.aria2/aria2.conf -D
#同上面的同样,根据本身的用户名改xbian。
;;
esac
exit

Ctrl + O 保存后退出
而后设置这个文件的权限。

1
sudo chmod 755 /etc/init .d /aria2c

测试服务是否能够启动:

1
sudo service aria2c start

若是只显示Starting aria2c,没有其余错误提示的话就成功了。
添加aria2c服务自动运行:

1
sudo update-rc.d aria2c defaults

Aria2相关的好了,下面开始网页控制aria2下载。

1
2
cd /var/www
git clone http: //github .com /wzhy90/yaaw

管理器用的是yaaw,网上的是英文的,我已经翻译好中文了。

用浏览器打开yaaw:http://192.168.1.14/yaaw
若是没提示错误就能够了

用迅雷离线须要另外的软件。
firefox的到这里安装这个扩展:https://addons.mozilla.org/en-US/firefox/addon/greasemonkey/?src=search
安装完后打开这个链接安装迅雷离线插件:ThunderLixianExporter.user.js
chrome到这里安装扩展:https://chrome.google.com/webstore/detail/thunderlixianassistant/eehlmkfpnagoieibahhcghphdbjcdmen

而后打开迅雷离线,点右上角的设置。

Aria2 JSON-RPC Path写你本身的ip地址,YAAW网页里面的设置有,能够复制。
保存后离线下载完的文件,选中后点批量导出,选YAAW。而后你的派就开始下载文件了。

出处:http://shumeipai.nxez.com/2014/07/01/raspberry-pi-do-download-machine-aria2.html

==========================================================================================

常见故障

在参考了网上众多文章以后,本身动手的过程当中,仍是不可避免的遇到了一些问题,如今把我遇到的问题及解决方法简单的罗列一下:

检查aria2c是否启动

1.先确认aria2是否已启动,命令:ps -ef | grep aria2c,应该能够两行内容,
其中 /opt/bin/aria2c --conf-path=/opt/etc/dm2_aria2/aria2.conf -D
2.配置若是不正确,重点修改/opt/etc/dm2_aria2/aria2.conf 中的配置
3.保证种子有流量

修改aria2下载路径

1:根据aria2的配置文件。
2:打开进入aria2.conf.
3:修改aria2文件,例如默认路径是dir=/shares/Public,若是你想将路径修改到public文件夹下的“A”文件夹。修改以下:dir=/shares/Public/A
4:重启aria2服务:先执行:/etc/init.d/S90aria2 stop,而后执行:/etc/init.d/S90aria2 start。
5:打开yaaw的web控制界面,查看设置是否已修改完成。

我根据上面的步骤,在web界面查看,一直提示服务器错误,但我重启系统reboot以后,则问题就正常了,或许哪里有缓存的问题吧。

相关文章
相关标签/搜索