TOP

Installare Red5 su Linux centOS 5.5 con Configurazione del Firewall Iptables e creazione dello script di start/stop

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—

  1. Loggarsi sul server come utente root;
  2. Si scarica Java JDK dal sito Oracle
  3. Java Development Kit

  4. Si eseguono i seguenti comandi per installare java SDK:
  5. chmod +x jdk-6u23-linux-i586.bin
    ./ jdk-6u23-linux-i586.bin
    mv jdk-6u23-linux-i586 java
    mv java /usr/lib
  6. Si modifica il file /etc/profile e si aggiunge all’inizio del file:
  7. export JAVA_HOME=/usr/lib/java
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  8. Si modifica il file $HOME/.bashrc e si aggiunge all’inizio del file:
  9. export JAVA_HOME=/usr/lib/java
    export PATH=$PATH:$JAVA_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  10. Ricaricare l’ambiente bash utilizzando il comando
  11. source $HOME/.bashrc
  12. Verificare che le variabili siano settate:
  13. echo $JAVA_HOME
    echo $PATH
    echo $CLASSPATH
    java –version
  14. Prepariamo il sistema per accogliere il server red5
  15. yum install zip unzip wget
  16. Scarichiamo dal sito red5 la versione 1.0 beta r4150
  17. wget http://red5.googlecode.com/svn/snapshots/red5-1.0-beta-r4150.zip
    unzip red5-1.0-beta-r4150.zip –d /opt/red5
  18. Ora red5 è installato. Modifichiamo il firewall base di centOS per accettare connessioni in ingresso sulle porte 5080 e 1935.
  19. 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

    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
  20. Riavviamo il firewall iptables
  21. /etc/init.d/iptables restart
  22. Ora possiamo avviare il server red5 per la prima volta
  23. cd /opt/red5
    chmod +x red5.sh
    chmod +x red5-shutdown.sh
    ./red5.sh
  24. Dal computer client possiamo collegarci al server usando qualsiasi browser all’indirizzo http://ip_del_server:5080 La magia è fatta e il server funziona!
  25. Possiamo killare il processo nel server con il comando CTRL+C;
  26. Si scrive lo script di start/stop del server red5
  27. 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
  28. Diamo i permessi di esecuzione allo script
  29. chmod +x /etc/init.d/red5
  30. Impostiamo lo start/stop in automatico sul runlevel 3 (multiuser)
  31. 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

8 comments. Leave a Reply

  1. Pingback: Red5 – Come installarlo su Linux centOS e come configurare il firewall iptables | Il Blog di Daniela Remogna

  2. Massimo

    Grazie,

    semplice ed afficace. :)

  3. 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?

  4. DANI

    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?

  5. giuseppe

    chiaro e limpido … come solo una donna sa’ fare. Grazie.

  6. 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

Leave a Reply

Your email is never published nor shared.

You may use these HTML tags and attributes:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>