搭建完美的媒体服务器:Ubuntu 11.10

译文
运维 服务器运维
本教程介绍了如何安装Ubuntu 11.10(Oneiric Ocelot)和必需的所有程序,以便完美的媒体服务器下载你的所有媒体,并流式传送到PS3游戏机上。这套架构包括:Sabnzbd+(用Ypthon编写的开源二进制新闻阅读器)、Sickbeard(面向新闻组用户的个人录像机)、Couch Potato(NZB和torrent文件自动下载工具)、Headphones(面向SABnzbd的音乐自动下载工具)以及Serviio(免费的媒体服务器系统)。

本教程介绍了如何安装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(立即安装)。

[[58985]]

点击你所在的时区,点击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命令执行后,你会看到这样的信息:

user@media-server:~$ 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命令执行完毕后,你会看到这样的信息:

user@media-server:~$ ls

couchpotato.tar.gz  Downloads         Pictures                        Templates

Desktop          examples.desktop    Public                          Videos

Documents       Music             RuudBurger-CouchPotato-2344e1a

user@media-server:~$

我们想把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命令执行完毕后,你会看到这样的信息:

user@media-server:~$ ls

Desktop    examples.desktop   Pictures                    Templates

Documents  headphones.tar.gz  Public                      Videos

Downloads  Music           rembo10-headphones-514844e

user@media-server:~$

我们想把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(检索元数据)复选框,确保保存了变更。

就这样,现在你可以享用电影、电视节目和音乐了。 

原文链接:http://www.howtoforge.com/the-perfect-media-server-ubuntu-11.10-sabnzbd-sickbeard-couch-potato-headphones-serviio

责任编辑:张玉 来源: 51CTO
相关推荐

2010-06-30 14:12:48

2023-10-12 19:46:26

Nginx服务器

2022-01-08 19:18:57

OBSLinux实时流媒体服务器

2014-09-18 10:15:54

2011-02-25 15:38:58

2011-09-09 10:03:39

Ubuntu 11.0FTP服务器

2012-05-09 14:23:04

Ubuntu 11.1服务器

2010-05-24 10:12:41

Ubuntu流媒体服务器

2010-10-19 09:35:08

Ubuntu 10.1云环境

2017-01-09 08:59:17

Ubuntu邮件服务器

2013-07-16 14:44:43

Ubuntutftp服务器

2016-12-29 10:52:09

LinuxUbuntu邮件服务器

2011-08-29 15:23:11

Ubuntuapache

2017-01-05 13:34:42

LinuxUbuntu邮件服务器

2010-03-04 09:34:35

Ubuntu Oper

2011-09-27 10:40:48

Ubuntu 11.1

2015-12-03 09:03:24

Ubuntu GNOM发行版Linux

2010-01-04 13:26:51

Ubuntu安装

2009-03-04 11:54:28

LinuxUbuntuL2MP

2009-09-11 09:36:53

李开复
点赞
收藏

51CTO技术栈公众号