本教程介绍了如何安装Ubuntu 11.10(Oneiric Ocelot)和必需的所有程序,以便完美的媒体服务器下载你的所有媒体,并流式传送到PS3游戏机上。这套架构包括:Sabnzbd+(用Ypthon编写的开源二进制新闻阅读器)、Sickbeard(面向新闻组用户的个人录像机)、Couch Potato(NZB和torrent文件自动下载工具)、Headphones(面向SABnzbd的音乐自动下载工具)以及Serviio(免费的媒体服务器系统)。
一、系统要求
要安装这样一套系统,你需要下列部分:
•Ubuntu 11.10桌面版光盘,可从此处http://www.ubuntu.com/start-download?distro=desktop&bits=64&release=latest获得。
•快速互联网连接
•向Usenet提供商注册的帐户(作为服务的一部分,你的ISP可能会免费提供这个帐户)
•向newzbin.com注册的帐户(可选)
•向nzbmatrix.com注册的帐户(可选)
二、事先声明
在本教程上,我将使用主机名server1.example.com,IP地址为192.168.0.100,网关是192.168.0.1。你的这些设置可能有所不同,所以必要时要换成相应的设置。
三、基本系统
把Ubuntu安装光盘插入到系统,启动系统。选择你的语言:
然后选择Install Ubuntu(安装Ubuntu)。
勾选Download updates while installing(安装过程中下载更新版)和Install this third-party software(安装该第三方软件),点击Continue(继续)。
假设你安装在干净的硬盘上,确保Erase disk and install Ubuntu(擦除磁盘,安装Ubuntu)已选中,点击Continue(继续)。
点击Install Now(立即安装)。
点击你所在的时区,点击Continue(继续)。
选择你的键盘布局,点击Continue(继续)。
输入你的名称和计算机名,并挑选用户名和合适的密码,我喜欢选择Log in automatically(自动登录),但你可以选择其中任何一个选项,然后点击Continue(继续)。
你在等安装完成时,可以冲杯咖啡喝喝。
点击Restart Now(立即重启)。
你会看到一堆信息在屏幕上滚动,然后看到这个信息:
Please remove installation media and close the tray (if any) then press ENTER:
请取出安装介质,关闭托盘;然后按回车键:
取出光盘,按回车键。
登录进入到刚安装好的Ubuntu。
#p# 四、安装Sabnzbd+
点击Dash Home按钮(仪表板上的顶部图标),输入term,点击第一个图标Terminal,打开终端窗口。
想安装Sabnzbd+,就要添加jcfp库。为此,在终端中运行下列命令:
sudo add-apt-repository ppa:jcfp/ppa
输入密码后,你会看到下列告知:
You are about to add the following PPA to your system:
PPA for jcfp
This PPA contains packages for the latest and greatest version of the SABnzbd+ binary newsgrabber, allowing for easy installation, dependency tracking, and automatic upgrading of the program.
Everything works just like any other repository; nevertheless, for those who need them, newbie-proof instructions can be found at http://forums.sabnzbd.org/index.php?topic=387.0
More info: https://launchpad.net/~jcfp/+archive/ppa
Press [ENTER] to continue or ctrl-c to cancel adding it
按回车键即可继续。
安装Sabnzbd+:
sudo apt-get install -y sabnzbdplus sabnzbdplus-theme-smpl sabnzbdplus-theme-plush sabnzbdplus-theme-iphone
打开sabnzbdplus配置文件:
sudo gedit /etc/default/sabnzbdplus
将以何身份运行的用户改成你的用户帐户,把主机字段设成0.0.0.0,把端口设成8080。现在,你的配置文件应该是这个样子:
#
# 使用初始化脚本启动SABnzbd+时,
# 始终使用--daemon选项,该程序在$USER帐户下启动,如下所示。
#
# 每个设置被标为“必需”或“可选”;
# 对任何必需设置不加配置会导致该服务无法启动。
# [必需] 运行该程序的用户或帐户uid:
USER=user
# [必需] 你选择的配置文件的完整路径;
# 不然,就使用默认位置(在$USER的主目录中);
CONFIG=
# [可选] hostname/ip和侦听的端口号:
HOST=0.0.0.0
PORT=8080
# [可选]额外的命令行选项,如果有的话:
EXTRAOPS=
开启sabnzbdplus服务,对它进行配置:
sudo service sabnzbdplus start
* Starting SABnzbd+ binary newsgrabber [ OK ]
打开Firefox web浏览器,浏览到:http://localhost:8080。
#p# 选择你的语言,点击Start Wizard(启动向导)。
输入你usenet提供商的详细资料,应该能够从提供商处获得这些信息。点击Test Server(测试服务器),即可确认设置。一旦每一项设置都正确无误,点击Next(下一步)。
如果你希望能够从你网络上的其他计算机来访问SABnzbd界面,就要确保让该选项I want SABnzbd to be viewable by any PC on my network(我希望可以从网络上的任何PC来浏览SABnzbd)已启用,但我强烈建议你勾选Password protect access to SABnzbd (recommended),即密码保护对SABnzbd的访问(建议),然后输入合适的用户名和密码。点击Next(下一步)。
如果你有newzbin和nzbmatrix帐户,输入相应帐户的详细资料。
现在设置已完成,点击Go to SABnzbd(进入到SABnzbd),即可开启SABnzbd界面。
点击配置按钮,进入到配置面板,选择类别选项卡(左边倒数第二个)。为电影、音乐和电视创建类别,如下图所示;这有点不合常理,在default正下方的类别字段和同一行上的文件夹/路径字段里面输入相应内容,点击右边的add(添加)按钮。
这就是我们要做的所有配置工作,如果你喜欢,可以查看所有的配置选项。
在我们安装其他程序之前,不妨花点时间创建文件夹。打开终端,输入下列几个命令(把user换成你的用户名):
sudo mkdir -p /Media/TV\ Shows
sudo mkdir /Media/Movies
sudo mkdir /Media/Music
sudo chown user:user -R /Media
#p# 五、安装Sickbeard
打开终端窗口,执行下列几个命令:
wget https://github.com/midgetspy/Sick-Beard/tarball/master -O sickbeard.tar.gz
tar xf sickbeard.tar.gz
ls
ls命令执行后,你会看到这样的信息:
Desktop Downloads midgetspy-Sick-Beard-8d7484d Pictures Templates
Documents examples.desktop Music Public Videos
我们想把midgetspy-Sick-Beard-xxxxxx文件夹移到.sickbeard,可以用下列命令来实现(你需要改动命令,以适合文件夹名称):
mv midgetspy-Sick-Beard-8d7484d .sickbeard
sudo mv .sickbeard/init.ubuntu /etc/init.d/sickbeard
sudo gedit /etc/init.d/sickbeard
编辑APP_PATH,指向/home/user/.sickbeard,其中“user”是你的用户名,将RUN_AS设成你的用户名,之后你的文件应该像这个样子:
#! /bin/sh
### 开始初始化信息
# Provides: sickbeard
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# 简短描述:启动Sick Beard的实例
# 描述:使用start-stop-daemon,启动Sick Beard的实例
### 结束初始化信息
############### EDIT ME ##################
# 应用程序路径
APP_PATH=/home/user/.sickbeard
# python bin路径
DAEMON=/usr/bin/python
# 存储PID文件的路径
PID_FILE=/var/run/sickbeard/sickbeard.pid
PID_PATH=$(dirname $PID_FILE)
# 脚本名称
NAME=sickbeard
# 应用程序名称
DESC=SickBeard
# 用户
RUN_AS=user
# 数据目录
DATA_DIR=/home/${RUN_AS}/.sickbeard
# 启动参数
DAEMON_OPTS=" SickBeard.py -q --daemon --nolaunch --pidfile=${PID_FILE} --datadir=${DATA_DIR}"
############### 结束EDIT ME ##################
test -x $DAEMON || exit 0
set -e
if [ ! -d $DATA_DIR ]; then
mkdir -p $DATA_DIR
chown $RUN_AS $DATA_DIR
fi
case "$1" in
start)
echo "Starting $DESC"
rm -rf $PID_PATH || 返回1
install -d --mode=0755 -o $RUN_AS -g $RUN_AS $PID_PATH || 返回1
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
;;
stop)
echo "Stopping $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
;;
restart|force-reload)
echo "Restarting $DESC"
start-stop-daemon --stop --pidfile $PID_FILE --retry 15
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --pidfile $PID_FILE --exec $DAEMON -- $DAEMON_OPTS
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
保存变更内容,然后使用下列命令,将sickbeard设成启动时运行:
sudo update-rc.d sickbeard defaults
第一次启动sickbeard:
sudo service sickbeard start
打开Firefox,浏览到http://localhost:8081。
#p# 你会看到下面这个屏幕。
窗口顶部你会看到Unknown version: If you've never used the Sick Beard upgrade system then I don't know what version you have.--Update Now Click the Update Now 这个链接,意思是“未知版本:如果你之前从未用过Sick Beard升级系统,那么我不知道你有什么版本。——立即更新,请点击“立即更新”。
Sickbeard会重启,一旦页面重新装入,点击Config(配置)| General(常规)。
配置分为五个选项卡:General Search Settings(一般搜索设置)| Search Providers(搜索提供商)| Post Processing(后期处理)| Notifications(通知)。
先取消勾选General Configuration(常规配置)中的Launch Browser(启动浏览器),因为我们将在启动时运行sickbeard,点击Save Changes(保存变更)。
点击Search Settings(搜索设置)选项卡,将NZB Method:改成SABnzbd,并将SABnzbd URL设成http://localhost:8080/。
将SABnzbd用户名和密码设成你在SABnzbd配置中所用的设置。需要从SABnzbd界面获取API密钥,于是在另一个浏览器标签页中打开http://localhost:8080,进入到配置页面,在General(常规)选项卡下,你会看到API密钥,拷贝其中的文本,重新回到Sickbeard配置选项卡,将API密钥粘贴到SABnzbd API Key文本框里面。点击Test SABnzbd(测试SABnzbd),即可测试设置,然后点击Save Changes(保存变更)。
点击Search Providers选项卡,勾选你想要使用的哪些提供商。如果你向NZBs'R'US、NZBs.org、NZBMatrix或Newzbin注册了帐户,确保在这里勾选了它们。你还可以拖动提供商,选择想要搜索它们的优先级。
在提供商优先级下面,你会看到Configure Built-In Providers(配置内置的提供商),从下拉框中选择想要配置的提供商,然后输入该提供商的相应信息,输入完毕后,点击Save Changes(保存变更)。
点击Post Processing选项卡。你需要往TV Download Dir(电视下载目录)文本框里面输入/home/user/Downloads/complete/tv,把user换成你的用户名。Sabnzbd+将把下载完毕的电视放在这里。现在我们配置SickBeard,对这些文件进行后期处理。
取消勾选Keep Original Files(保留原始文件),我们将原始文件拷贝到媒体存储位置后,不想继续保留这些文件。配置想要创建的元数据,为此从Metadata Type(元数据类型)下拉框中选择你的目标,从Create(创建)列表框勾选合适的元数据项,完成后点击Save Changes(保存变更)。
不妨添加一个电视节目试一下。
在Home菜单上点击Home,然后点击Add Show(添加节目)按钮,点击Add New Show(添加新节目)按钮,输入节目名称,点击Search(搜索)。如果Sickbeard返回几个匹配的节目,选择正确的那个节目,然后点击Next(下一步)。点击New按钮,浏览到/Media/TV Shows文件夹,点击OK(确定)。
点击Next,选择漏掉几集节目的初始状态(如果你想下载全集节目,将Skipped更改成Want),勾选Season Folders(季文件夹)。选择你偏爱的下载质量。我还建议在点击Add Show(添加节目)之前,先点击Save Defaults(保存默认值)按钮。
然后,节目会添加到节目列表中;一段时间后,不断点击刷新,直至你看到屏幕变化,它应该会装入所有相关信息,并在Download栏下方显示集数;如果点击节目名称,它会深入分析该节目,显示全集和全季节目;从这个屏幕上,你可以将想要下载的任何一集节目的状态从Skipped改成Want,然后它们会自动为你下载。
#p# 六、安装Couch Potato
打开终端窗口,执行下列几个命令:
wget https://github.com/RuudBurger/CouchPotato/tarball/master -O couchpotato.tar.gz
tar xvf couchpotato.tar.gz
ls
ls命令执行完毕后,你会看到这样的信息:
couchpotato.tar.gz Downloads Pictures Templates
Desktop examples.desktop Public Videos
Documents Music RuudBurger-CouchPotato-2344e1a
我们想把RuudBurger-CouchPotato-xxxxxxx移到.couchpotato,为此你可以用下列命令来实现(你需要改动命令,适合文件夹名称):
mv RuudBurger-CouchPotato-2344e1a .couchpotato
sudo mv .couchpotato/initd.ubuntu /etc/init.d/couchpotato
sudo mv .couchpotato/default.ubuntu /etc/default/couchpotato
sudo gedit /etc/default/couchpotato
把APP_PATH改成/home/user/.couchpotato,其中user是你的用户名;并把ENABLE_DAEMON改成1,把RUN_AS改成你的用户名,此后你的文件应该看起来这样:
# 该文件由/etc/init.d/couchpotato提供
#
# 使用初始化脚本启动couchpotato时,在$USER帐户下启动,如下所示。
#
# 每个设置被标为“必需”或“可选”;
# 对任何必需设置不加配置会导致该服务无法启动。
# [必需] 设置安装couchpotato的路径:
APP_PATH=/home/user/.couchpotato
# [可选] 改成1,启用daemon
ENABLE_DAEMON=1
# [必需] 运行该程序的用户或帐户uid:
RUN_AS=user
# [可选] 改成1,能够从Web界面来进行更新
# 这将/opt/couchpotato的所有权归为用户@ RUN_AS
WEB_UPDATE=0
# [可选] 你选择的配置文件的完整路径;
# 不然,使用默认位置(~/.couchpotato);
CONFIG=
# [可选] 用来存储数据的文件夹(databases/thumbs)的完整路径;
# 不然,使用默认位置(~/.couchpotato);
DATADIR=
# [可选] 迫使端口号侦听,不然使用config.ini中设置的端口;
PORT=
# [可选] pidfile的完整路径
# 不然,使用默认位置/var/run/couchpotato/couchpotato.pid;
PID_FILE=
现在,我们可以将couchpotato设成启动时运行,让它运行:
sudo update-rc.d couchpotato defaults
sudo service couchpotato start
你应该会看到告知服务已启动的信息,这时回到Firefox,打开Couch Potato界面,默认端口是5000,于是浏览到http://localhost:5000,应该会看到样子很普通的屏幕,没有电影添加上去;点击此处,即可添加电影,但是我们先要配置Couchpotato,所以点击顶部的齿轮图标,进入到配置屏幕。
如果你看到这样的信息:Update (diff) available: update now,那么点击Update now链接,即可获得最新版本;稍后,couchpotato会重启,你回到了配置页面。
点击General,如果你喜欢,可以设置用户名和密码,取消勾选launch browser,点击Save(保存)。
点击Downloaders选项卡,输入你Sabnzbd的Host、Apikey、Username和Password。另外输入movies作为类别,然后点击Save(保存)。
接下来是Providers选项卡,启用你想要使用的所有提供商,输入相应的信息,点击Save(保存)。
如果你想修改任何内置的配置文件或创建自己的配置文件,可以顺便查看Quality(质量)选项卡;但是眼下,内置的配置文件足够了,所以接下来看看Renaming(更名)选项卡。
我们想要启用更名,于是勾选Enable(启用)复选框,输入/home/user/Downloads/complete/movies,作为你SABnzbd电影的Download folder(下载文件夹),把user换成你的用户名。输入/Media/Movies,作为你的Movie destination(电影目的地);如果你想更改命名选项,也可以更改;我更喜欢默认的命名,然后点击Save(保存)。
点击Extras选项卡,我使用Extras选项卡的唯一用途是勾选Save Metadata(保存元数据)复选框,但是你可以添加Blu-Ray.com、Kinepolis.com、Trailers、Subtitles、Trakt和IMDB Watchlists的详细资料,电影需求列表就会自动从其他这些来源填充。我更喜欢将电影手动添加到couchpotato。
好了,可以点击About选项卡,点击Restart(重启),即可让密码变更生效。
#p# 七、安装Headphones
打开终端窗口,执行下列几个命令。
wget https://github.com/rembo10/headphones/tarball/master -O headphones.tar.gz
tar xvf headphones.tar.gz
ls
ls命令执行完毕后,你会看到这样的信息:
Desktop examples.desktop Pictures Templates
Documents headphones.tar.gz Public Videos
Downloads Music rembo10-headphones-514844e
我们想把rembo10-headphones-xxxxxxx移到.headphones,为此可以使用下列命令来实现(你需要改动命令,适合文件夹名称):
mv rembo10-headphones-514844e .headphones
sudo mv .headphones/init.ubuntu /etc/init.d/headphones
sudo chmod +x /etc/init.d/headphones
sudo gedit /etc/init.d/headphones
把APP_PATH改成/home/user/.headphones,其中user是你的用户名,将RUN_AS更改成你的用户名,之后你的文件应该看起来这样:
#! /bin/sh
### 开始初始化信息
# Provides: Headphones application instance
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# 简短描述:启动Headphones的实例
# 描述:使用start-stop-daemon,启用Headphones的实例
### 结束初始化信息
############### EDIT ME ##################
# 应用程序路径
APP_PATH=/home/user/.headphones
# python bin路径
DAEMON=/usr/bin/python
# 启动参数
DAEMON_OPTS="Headphones.py -q"
# 脚本名称
NAME=headphones
# 应用程序名称
DESC=headphones
# 用户
RUN_AS=user
PID_FILE=/var/run/headphones.pid
############### 结束EDIT ME ##################
test -x $DAEMON || exit 0
set -e
case "$1" in
start)
echo "Starting $DESC"
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
;;
stop)
echo "Stopping $DESC"
start-stop-daemon --stop --pidfile $PID_FILE
;;
restart|force-reload)
echo "Restarting $DESC"
start-stop-daemon --stop --pidfile $PID_FILE
sleep 15
start-stop-daemon -d $APP_PATH -c $RUN_AS --start --background --pidfile $PID_FILE --make-pidfile --exec $DAEMON -- $DAEMON_OPTS
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
现在,我们可以将headphones设成启动时运行,开始让它运行。
sudo update-rc.d headphones defaults
sudo service headphones start
你会看到告知服务已启动的消息,这时可以回到Firefox,打开Headphones界面,默认端口是8181,于是浏览到http://localhost:8181,你应该会看到headphones界面。如果你看到You're running an unknown version of Headphones. Click here to update(你在运行Headphones的未知版本。点击此处,即可更新)链接,点击该链接即可更新。稍后,Headphones应该会更新并重启,你可能需要点击刷新。
如果headphones没有重新启动,请回到终端,重启它。
sudo service headphones start
点击设置,进入到设置页面;与SABnzbd+/SickBeard和Couchpotato不一样,Headphones的所有设置都在一个页面上。
为Web界面设置用户名和密码。
输入SABnzbd的详细资料:
SABnzbd Host name http://localhost:8080, SABnzbd username, SABnzbd password and SABnzbd API key.
至于SABnzbd Category,输入music。
至于Music download Directory,输入/home/user/Downloads/complete/music,将user换成你的用户名。
启用你想要使用的搜索提供商,输入相应信息,向下移到Quality(质量)和Post Processing(后期处理)部分。
质量设置不用管,但是要勾选后期处理的所有选项。
将你的目的地文件夹路径成/Media/Music,保存变更。现在大功告成,设置好了自动下载电视节目、电影和音乐,现在最后一步是如何从你的PlayStation 3观看这一切内容。
#p# 八、流式传送到PS3
将媒体流式传送到PS3有许多不同的办法,我过去常用MediaTomb,但是这个工具似乎停止了发展。于是我换成了PS3MediaServer,它很好,但有时显示节目时不按顺序,除非我重启,否则它不会更新文件夹,这很麻烦。最近我开始使用Serviio,它到目前为止似乎非常好。它甚至可以提取元数据,按演员或导演等类别来显示电影,如果你希望这样。
第一步是下载和安装serviio,打开终端,输入这些命令:
wget http://download.serviio.org/releases/serviio-0.6.2-linux.tar.gz
tar xvf serviio-0.6.2-linux.tar.gz
mv serviio-0.6.2 .serviio
sudo gedit /etc/init/serviio.conf
gedit会打开serviio.conf空白文档,把下列内容粘贴进来:
start on started networking
script
/home/user/.serviio/bin/serviio.sh
end script
保存变更。
现在我们可以开始让serviio运行,然后打开配置控制台。
sudo start serviio
.serviio/bin/serviio-console.sh
你在控制台中要做的主要是切换到Library选项卡,添加你的几个文件夹:/Media/TV Shows、/Media/Movies和 /Media/Music。确保你勾选了文件夹里面含有什么类型的内容,如果是Movies和TV Shows,就勾选Video;如果是Music文件夹,就勾选Music。如果你希望,还可以勾选Retrieve Metadata(检索元数据)复选框,确保保存了变更。
就这样,现在你可以享用电影、电视节目和音乐了。