Install Red5 on SUSE Linux

First know your system to know what to install.

Use uname -a to see if you need to download 32 or 64 bits versions.

Get SUSE release: cat /etc/SuSE-release

INSTALL JDK

Install latest JDK from http://java.sun.com/javase/downloads/index.jsp .

Use chmod a+x to make downloaded file executable and execute it.

Make sure latest version is used:

ln -s /usr/java/latest /usr/local/jdk
ln -s
/usr/java/latest/jre /usr/local/jre
rm /usr/bin/java

ln -s
/usr/java/latest/bin/java /usr/bin/java
export JAVA_HOME=/usr/java/latest/


INSTALL SVN

Get SVN from: http://software.opensuse.org/search?baseproject=ALL&p=1&q=subversion

Install RPMs with:  rpm -iv package.rpm

Install any dependencies as required. Search from http://software.opensuse.org/search .

INSTALL ANT

wget http://www.apache.org/dist/ant/binaries/apache-ant-1.8.0-bin.tar.gz
tar zxvf apache-ant-1.8.0-bin.tar.gz
mv apache-ant-1.8.0 /usr/local/ant

Configure
export ANT_HOME=/usr/local/ant
ln -s /usr/local/ant/bin/ant /usr/local/bin/ant

Replace old ant
rm /usr/bin/ant
ln -s /usr/local/ant/bin/ant /usr/bin/ant

Check ant version:
ant –version


INSTALL Red5

Get latest Red5 :
svn co http://red5.googlecode.com/svn/java/server/trunk red5

Build Red5 :
cd red5
ant prepare
ant dist

Move Red5:
cd ..
mv red5 /opt/red5

OPERATE RED5

Start Red5 (when need or on server reboot):
cd /opt/red5/dist
./red5.sh > start.log &

Install/update applications in the /opt/red5/dist/webapps folder .  For changes to take effect, Red5 must be restarted:

1. Check if red5 is running:
ps aux | grep red5

2. Go to its folder and shut red5 down:
cd /opt/red5/dist
./red5-shutdown.sh

3. See if it’s still running or not:
ps aux | grep red5

4. Restart it, and also make it output the logs into a file of your choice:
./red5.sh > start.log &

5. Make sure it’s back online:
ps aux | grep red5

Red5 Linux Server Optimizations and Tools

Some java optimizations to add in red5.sh :

export JAVA_OPTS=”-Xrs -Xms128M -Xmx256M -Dsun.rmi.dgc.client.gcInterval=300000 -Dsun.rmi.dgc.server.gcInterval=360000 -Djava.net.preferIPv4Stack=true -XX:+ExplicitGCInvokesConcurrent -XX:+UseConcMarkSweepGC -Xverify:none”

Assuming red5 was installed in /opt/red5/dist admin will often need to restart it or check if it’s running.

Make sure Red5 restarts: restart.sh

#!/bin/bash
#Restart the process
#First see if running
PID=`ps -eo ‘tty pid args’ | grep ‘red5’ | grep -v grep | grep -v restart | tr -s ‘ ‘ | cut -f2 -d ‘ ‘`
cd /opt/red5/dist
if [ -z “$PID” ]
then
#not running
echo “Red5 was not running at `date`” >> /opt/red5/dist/run-restart.log
else
echo “Red5: $PID”
#shutdown
/opt/red5/dist/red5-shutdown.sh
sleep 6
#make sure
kill $PID >> null
sleep 2
fi
#start
/opt/red5/dist/red5.sh >> /opt/red5/dist/red5.log &
echo “On request restarted Red5 at `date`” >> /opt/red5/dist/run-restart.log

Mare sure Red5 process is running, if not start it: running.sh

#!/bin/bash
#set environment
PID=`ps -eo ‘tty pid args’ | grep ‘red5’ | grep -v grep | grep -v running | tr -s ‘ ‘ | cut -f2 -d ‘ ‘`
if [ -z “$PID” ]
then
#Restart the process
cd /opt/red5/dist
/opt/red5/dist/red5.sh >> /opt/red5/dist/red5.log &
echo “Restarted Red5 at `date`” >> /opt/red5/dist/run-restart.log
else
#do nothing
echo “Red5 is already running with PID=$PID at `date`” >> /opt/red5/dist/run-checked.log
fi

Red5 Services
Red5 Hosting
Red5 installation on VPS & Dedicated Servers (Linux / Windows)