Install Red5 on Debian

Latest versions installed with this tutorial:
Red5 1.0.0 RC2
Java 1.6.0_26
Ant 1.8.4

At least Debian 5 (Lenny) required:
cat /etc/debian_version

Checkout release:
cat /proc/version
uname -a
cat /etc/issue
cat /etc/debian_version

Make sure system can find all require dependencies from /etc/apt/sources.list:
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main
deb http://ftp.us.debian.org/debian stable main non-free contrib
deb http://ftp.debian.org/debian/ squeeze-updates main
deb-src http://ftp.debian.org/debian/ squeeze-updates main
Comment any cd references with # if distribution cd is not inserted.

If system is not in English, enable that:
dpkg-reconfigure locales
export LANG=en_US.UTF-8

Update /etc/enviroment

You may need to reboot.

 

Update:
apt-get update

Install Subversion:
apt-get -y install subversion

Install tools to build your own Debian packages:
apt-get -y install dpkg-dev debhelper dh-make devscripts fakeroot

Install Java (accept sun license if applies):
apt-get -y install java-package
apt-get -y install sun-java6-jre
apt-get -y install sun-java6-jdk
java -version

Install Apache Ant:
wget http://www.apache.org/dist/ant/binaries/apache-ant-1.8.4-bin.tar.gz
tar zxvf apache-ant-1.8.4-bin.tar.gz
mv apache-ant-1.8.4 /usr/local/ant
export ANT_HOME=/usr/local/ant
/usr/local/ant/bin/ant -version

Download the latest development version of Red5:
svn co http://red5.googlecode.com/svn/java/server/trunk red5-trunk

Run ant to build red5:
cd red5-trunk
/usr/local/ant/bin/ant

Deploy red5:
mkdir /usr/local/red5
cp -R dist/* /usr/local/red5/
cd /usr/local/red5
chmod 755 red5.sh

Deploy your custom apps in/usr/local/red5/webapps .
In example VideoWhisper Red5 RTMP application needed to run VideoWhisper solutions.

Start Red5 in background:
cd /usr/local/red5
./red5.sh >> red5.log &

Verify the correct ports are being bound to:
netstat -ant

 

You need to restart red5 each time you add webapps to /usr/local/red5/webapps or change configuration or restart server.

Close Red5:
cd /usr/local/red5
./red5-shutdown.sh

Or kill Red5 processes:
ps aux | grep red5
kill $process_id

Then start it again:
cd /usr/local/red5
./red5.sh >> red5.log &

 

Can also deploy it as service to start automatically on server boot:

vi /etc/init.d/red5

#! /bin/sh
# put these contents at: /etc/init.d/red5
# change red5 directory path below as necessary
RED5_DIR=/usr/local/red5

start()
{
echo “Starting Red5 Service”
sudo su root -c “cd $RED5_DIR; ./red5.sh > /var/log/red5.log &”
return
}

stop()
{
echo “Shutting down red5”
sudo su root -c ‘killall red5 java’
return
}

case “$1” in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo “Usage: {start|stop|restart}”
exit 1
;;
esac
exit $?

chmod +x /etc/init.d/red5

Install YUM Centos 5.5 i386

In case yum is unavailable due to various reasons (broken, uninstalled) here is a shell script that can install it.

Paste this in a yumi.sh file:

for file in \
gmp-4.1.4-10.el5.i386.rpm \
readline-5.1-3.el5.i386.rpm \
python-libs-2.4.3-43.el5.i386.rpm \
python-2.4.3-43.el5.i386.rpm \
libxml2-2.6.26-2.1.2.8.el5_5.1.i386.rpm \
libxml2-python-2.6.26-2.1.2.8.el5_5.1.i386.rpm \
expat-1.95.8-8.3.el5_5.3.i386.rpm \
python-elementtree-1.2.6-5.i386.rpm \
sqlite-3.3.6-5.i386.rpm \
python-sqlite-1.1.7-1.2.1.i386.rpm \
elfutils-libelf-0.137-3.el5.i386.rpm \
elfutils-0.137-3.el5.i386.rpm \
popt-1.10.2.3-22.el5.i386.rpm \
rpm-libs-4.4.2.3-22.el5.i386.rpm \
rpm-4.4.2.3-22.el5.i386.rpm \
rpm-python-4.4.2.3-22.el5.i386.rpm \
m2crypto-0.16-6.el5.8.i386.rpm \
python-urlgrabber-3.1.0-6.el5.noarch.rpm \
python-iniparse-0.2.3-4.el5.noarch.rpm \
yum-fastestmirror-1.1.16-14.el5.centos.1.noarch.rpm \
yum-metadata-parser-1.1.2-3.el5.centos.i386.rpm \
yum-3.2.22-33.el5.centos.noarch.rpm
do rpm -Uvh –nodeps http://mirror.centos.org/centos-5/5/os/i386/CentOS/$file;
done

chmod a+x yumi.sh
./yumi.sh
yum update
Some files may have been updated, so if you get errors update these file names to latest versions from http://mirror.centos.org/centos-5/5/os/i386/CentOS/ or other mirror you may be using.