Questo tutorial, scritto da Keres Contorni e Matteo Penasa, riguarda l’installazione del server di streaming multimediale Red5 su Linux CentOS 5.5 e spiega anche come configurare correttamente il firewall IPTABLES e come creare uno script shell di avvio/stop del server.
——Copyright statement——
- Copyright Keres Contorni, Matteo Penasa
This work is licensed under the Creative Commons Attribution 3.0 Unported License.
To view a copy of this license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
—End of copyright statement—
- Loggarsi sul server come utente root;
- Si scarica Java JDK dal sito Oracle
- Si eseguono i seguenti comandi per installare java SDK:
- Si modifica il file /etc/profile e si aggiunge all’inizio del file:
- Si modifica il file $HOME/.bashrc e si aggiunge all’inizio del file:
- Ricaricare l’ambiente bash utilizzando il comando
- Verificare che le variabili siano settate:
- Prepariamo il sistema per accogliere il server red5
- Scarichiamo dal sito red5 la versione 1.0 beta r4150
- Ora red5 è installato. Modifichiamo il firewall base di centOS per accettare connessioni in ingresso sulle porte 5080 e 1935.
- Riavviamo il firewall iptables
- Ora possiamo avviare il server red5 per la prima volta
- Dal computer client possiamo collegarci al server usando qualsiasi browser all’indirizzo http://ip_del_server:5080 La magia è fatta e il server funziona!
- Possiamo killare il processo nel server con il comando CTRL+C;
- Si scrive lo script di start/stop del server red5
- Diamo i permessi di esecuzione allo script
- Impostiamo lo start/stop in automatico sul runlevel 3 (multiuser)
chmod +x jdk-6u23-linux-i586.bin
./ jdk-6u23-linux-i586.bin
mv jdk-6u23-linux-i586 java
mv java /usr/lib
./ jdk-6u23-linux-i586.bin
mv jdk-6u23-linux-i586 java
mv java /usr/lib
export JAVA_HOME=/usr/lib/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME=/usr/lib/java
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source $HOME/.bashrc
echo $JAVA_HOME
echo $PATH
echo $CLASSPATH
java –version
echo $PATH
echo $CLASSPATH
java –version
yum install zip unzip wget
wget http://red5.googlecode.com/svn/snapshots/red5-1.0-beta-r4150.zip
unzip red5-1.0-beta-r4150.zip –d /opt/red5
unzip red5-1.0-beta-r4150.zip –d /opt/red5
cat /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5080 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5080 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Aggiungiamo le due regole di iptables (in evidenza)
vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5080 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 5080 -j ACCEPT
# -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1935 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
/etc/init.d/iptables restart
cd /opt/red5
chmod +x red5.sh
chmod +x red5-shutdown.sh
./red5.sh
chmod +x red5.sh
chmod +x red5-shutdown.sh
./red5.sh
vi /etc/init.d/red5
#!/bin/bash
#
# red5 Start/Stop red5 Server
#
#
# Source function library.
. /etc/init.d/functions
start() {
echo -n $"starting red5 server: "
cd /opt/red5
nohup ./red5.sh & >> /var/log/red5.log 2>&1
return 0
}
stop() {
echo -n $"Shutting down red5 server: "
RED5_ID=`ps -A | grep java | awk '{ print $1; }'`
kill $RED5_ID
return 0
}
restart() {
stop
sleep 5
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
exit 0
#!/bin/bash
#
# red5 Start/Stop red5 Server
#
#
# Source function library.
. /etc/init.d/functions
start() {
echo -n $"starting red5 server: "
cd /opt/red5
nohup ./red5.sh & >> /var/log/red5.log 2>&1
return 0
}
stop() {
echo -n $"Shutting down red5 server: "
RED5_ID=`ps -A | grep java | awk '{ print $1; }'`
kill $RED5_ID
return 0
}
restart() {
stop
sleep 5
start
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 2
esac
exit 0
chmod +x /etc/init.d/red5
ln -s /etc/init.d/red5 /etc/rc.d/rc3.d/S98red5
ln -s /etc/init.d/red5 /etc/rc.d/rc0.d/K98red5
ln -s /etc/init.d/red5 /etc/rc.d/rc6.d/K98red5
ln -s /etc/init.d/red5 /etc/rc.d/rc0.d/K98red5
ln -s /etc/init.d/red5 /etc/rc.d/rc6.d/K98red5
Pingback: Red5 – Come installarlo su Linux centOS e come configurare il firewall iptables | Il Blog di Daniela Remogna
Grazie,
semplice ed afficace.
Questa guida presenta errori nel codice ed è parzialmente corretta. Consiglio di correggerla o cancellarla, da informazioni errate.
Ciao, grazie. Tu sapresti indicare quali sono le informazioni errate così le correggo?
Salve Ho un problema…Red 5 instalato ..tutto ma non parte…..instalato su Server Dedicato etc etc…problema e, come faccio partire ii video flv sul mio sito..devo integrare lo scrip ?cosa devo fare
Se non parte il server bisogna capire il motivo….. ti segnala degli errori?
E’ aperta la porta 1935?
chiaro e limpido … come solo una donna sa’ fare. Grazie.
adesso ii video partono..ma non poso andare avanti con loro..se uso la freccia 2 volte di seguito va ma se vado col mouse niente..po essere un problema del player?Uso flowplayer Grazie