RealNetworks 官方网站上说 Helix Mobile Server for Linux 只能在 RHEL4 上安装,但经过今天试验,发现在 ubuntu 6.06 LTS server 上同样可以安装运行,而且运行效果很好!因为 ubuntu 6.06 LTS server 默认安装后没有任何服务,所以用 ubuntu 6.06 LTS server 作流媒体服务器效率应该会更高一些。Helix Mobile Server 安装之后没有自动启动和关闭脚本,所以要手工启动关闭的话还是比较麻烦的,本文将重点介绍如何创建 Helix Mobile Server 的启动和关闭脚本。
首先安装 ubuntu 6.06 LTS server,可以选择安装 LAMP,也可以不安装,这个不会影响后面安装 Helix Mobile Server。但如果安装了 LAMP 的话,后面安装 Helix Mobile Server 时需要注意不要让它的 http 端口跟 Apache 的 http 的端口冲突。
ubuntu 6.06 LTS server 安装完大概只有 200 M,比起 RHEL4 那个大家伙来,这个小巧多了。接下来该下载 Helix Mobile Server 了。
Helix Mobile Server 在搜新网上可以找到最新的版本,当前的搜新网提供的最新的 Linux 版本是 RealNetworks Helix Universal Mobile Server v10.0.9.2735,这个版本带有 9999999 个用户到 2015 年才过期的许可证。
下载以后解压缩,然后将 setup.bin 的权限设置为 755,然后用 root 帐号执行就可以了。安装过程很简单,首先指定许可证的位置,许可证跟这个 setup.bin 文件在一个目录下的,不用多说,填上就可以了。然后填写安装路径,推荐安装到 /opt/helix 目录下,因为自动启动和关闭的脚本默认认为安装目录是这个目录,如果安装到其它目录,需要在 /etc/helix.conf 文件中指定好你的安装路径,例如,如果你安装在了 /usr/local/helix 目录下的话,那么你应该创建下面这个 /etc/helix.conf 文件:
HELIX_HOME=/usr/local/helix
在然后是配置管理员的帐号密码,这个帐号密码是 Helix Mobile Server 自己的,跟系统帐号无关。但是这里填写的帐号密码一定要记住,不然后面安装好了,你没法管理。
再下面是配置端口号,http 服务以外的端口号默认就可以了,http 服务的端口号不要跟 Apache 的端口号冲突,如果你的 Apache 已经使用了 80 端口,你这里最好指定 8080 端口作为 Helix Mobile Server 的 http 服务端口号。
配置 Web 管理端口号时,安装程序提供的端口号是随机分配的,你可以自己指定一个,但是一定要记住,不然同样在安装好之后,你没法管理。
接下来,你确认所有信息都已经配置正确后,确认后按 F 键就开始安装了。安装很快,一会儿就安装完了。
先试试能不能手工启动,进入到你安装后的目录下,在命令行里键入:
Bin/rmserver rmserver.cfg
你可能会看到如下的错误:
/opt/helix/Bin/rmserver: relocation error: /opt/helix/Bin/rmserver: symbol errno, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
没关系,只要先执行一句:
export LD_ASSUME_KERNEL=2.4
再执行
Bin/rmserver rmserver.cfg
就可以看到服务器动起来了。这个服务是在前台运行的,要结束它,按 Ctrl + C 就可以了。
下面该配置启动脚本了,启动脚本我已经写好了:
下载: helix
#! /bin/sh
set -e
# /etc/init.d/helix: start and stop the Helix Mobile Server daemon
HELIX_HOME=/opt/helix
if test -f /etc/helix.conf; then
. /etc/helix.conf
fi
export LD_ASSUME_KERNEL=2.4
test -x $HELIX_HOME/Bin/rmserver || exit 0
( $HELIX_HOME/Bin/rmserver -h 2>&1 | grep -q Helix ) 2>/dev/null || exit 0
. /lib/lsb/init-functions
check_for_helix_stop() {
( ps -A | grep -q `cat $HELIX_HOME/Logs/rmserver.pid` ) 2>/dev/null || return 0
return 1
}
check_for_helix_start() {
( ps -A | grep -q `cat $HELIX_HOME/Logs/rmserver.pid` ) 2>/dev/null || return 1
return 0
}
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
case "$1" in
start)
log_begin_msg "Starting Helix Mobile Server..."
check_for_helix_start || start-stop-daemon --start --quiet --background --exec $HELIX_HOME/Bin/rmserver -- $HELIX_HOME/rmserver.cfg || log_end_msg 1
log_end_msg 0
;;
stop)
log_begin_msg "Stopping Helix Mobile Server..."
check_for_helix_stop || start-stop-daemon --stop --quiet --oknodo --pidfile $HELIX_HOME/Logs/rmserver.pid || log_end_msg 1
log_end_msg 0
;;
reload|force-reload)
log_begin_msg "Reloading Helix Mobile Server..."
check_for_helix_stop || start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile $HELIX_HOME/Logs/rmserver.pid --exec $HELIX_HOME/Bin/rmserver || log_end_msg 1
check_for_helix_start || start-stop-daemon --start --quiet --background --exec $HELIX_HOME/Bin/rmserver -- $HELIX_HOME/rmserver.cfg || log_end_msg 1
log_end_msg 0
;;
restart)
log_begin_msg "Restarting Helix Mobile Server..."
check_for_helix_stop || start-stop-daemon --stop --quiet --oknodo --pidfile $HELIX_HOME/Logs/rmserver.pid || log_end_msg 1
check_for_helix_start || start-stop-daemon --start --quiet --background --exec $HELIX_HOME/Bin/rmserver -- $HELIX_HOME/rmserver.cfg || log_end_msg 1
log_end_msg 0 log_success_msg "Usage: /etc/init.d/helix {start|stop|reload|force-reload|restart}"
exit 1
esac
exit 0
下载以后放到 /etc/init.d 目录下,将属性改为 755 就可以了。
然后在 /etc/rc0.d/ 至 /etc/rc6.d/ 目录下建立如下符号连接:
ln -s /etc/init.d/helix /etc/rc0.d/K05helix
ln -s /etc/init.d/helix /etc/rc1.d/K05helix
ln -s /etc/init.d/helix /etc/rc2.d/S95helix
ln -s /etc/init.d/helix /etc/rc3.d/S95helix
ln -s /etc/init.d/helix /etc/rc4.d/S95helix
ln -s /etc/init.d/helix /etc/rc5.d/S95helix
ln -s /etc/init.d/helix /etc/rc6.d/K05helix
重新启动计算机,你会发现 Helix Mobile Server 自动起来了,你还可以用 /etc/init.d/helix stop 关闭它,用 /etc/init.d/restart 重启它,很简单吧。