Ubuntu 10.10 + cccam + scripts

Discussão em 'Informações, Dicas e tutoriais [Geral]' iniciado por agfsilva, Novembro 14, 2010.

  1. agfsilva

    agfsilva Membro Li-ion

    Vamos hoje ver como se instala a ultima versão do Ubuntu, a V 10.10, e um server de CCcam.
    vamos começar por fazer o download gratuito do Ubuntu daqui:
    Uma vez no vosso PC queimem o ISO num CD com qualquer programa, pode ser o Nero ou outro qualquer.
    Para instalarem convem um PC qualquer com pelo menos uns 512MB de memória e um disco de 20GB, o Processador pode ser qualquer, mas um P4 é mais do que suficiente.
    Coloquem o CD no PC onde iremos instalar o nosso servidor e vamos deixar que ele termine de fazer boot, podem agora testar o Ubuntu sem instalar ou procedemos à sua instalação. Como queremos instalar assim faremos, seguimos o "wiseguide" respondendo às várias perguntas que vão aparecendo e aguardamos que termine a instalação.
    Agora vamos fazer com que o nosso Server tenha um endereço fixo, isto é particularmente importante no caso de um servidor, pois como sabem vamos ter que redireccionar as chamadas ao porto que atribuirmos à nossa CCcam para o nosso server.
    Fazemos login ao nosso server como "root + password"
    Agora sigam os comandos abaixo na sequência que vos apresento:
    #vim /etc/network/interfaces

    (Vamos editar este ficheiro podem usar este ou outro editor de linux)
    Caso exista esta linha abaixo substituam pelo código que se segue, caso não exista acrescente apenas o código:
    iface eth0 inet dhcp
    Substituir por:
    auto eth0
    iface eth0 inet static
    address 192.168.1.25
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1
     
    Os endereços podem ser diferentes e devem ser adaptadas a cada caso, agora salvamos com o comando.
    <esc>:wq
    Agora vamos fazer restart ao network e verificar se não fizemos asneira.
    #/etc/init.d/networking restart
    #ifconfig
    O ifconfig é o equivalente do Windows ipconfig. Deve sair uma listagem do network e seus endereços, verifiquem se a coisa resultou, caso não façam reboot ao server e voltem a verificar.
    Vamos agora instalar o
    SSH o que nos vai permitir ligar ao server sem termos um teclado, rato e monitor ligados ao mesmo.
    #apt-get install openssh-server
    Vamos agora fazer o update da lista de software.
    #apt-get update
    Instalamos agora o FTP server;
    # apt-get install proftpd (standalone&undefined)

    Vamos criar directorias;

    # mkdir /var/etc
    # mkdir /var/keys
    # mkdir /var/script
    # mkdir /var/config
    # mkdir /var/backup
    # mkdir /var/cccamlog

    Vamos nos tornar donos das directorias que acabamos de criar;

    # chown usernaam /var/etc
    # chown username /var/keys
    # chown username /var/script
    # chown username /var/config
    # chown username /var/backup
    # chown username /var/cccamlog
    # chown de username /usr/local/bin (onde metemos o binário CCcam.x86)

    Colocamos CCcam.x86 em; /usr/local/bin
    CCcam.cfg, CCcam.channelinfo, CCcam.providers em: /var/etc
    Fazemos CCcam.x86 bootable com chmod;

    # chmod 755 /usr/local/bin/CCcam.x86
    Fazemos com que CCcam arranque sempre que fizermos start/restart do Pc

    # nano /etc/rc.local
    Escrevemos em rc.local;
    /usr/local/bin/CCcam.x86
    Isto fará com que CCcam.x86 arranque quando arranca o PC
    Vamos agora criar os scripts de controlo da CCcam
    colocamos os Scripts em /var/script
    Mudamos os atributos para que sejam bootaveis;

    # chmod 755 /var/script/CCcamCheck.sh
    fazemos isto a todos os scriptsscripts!
    todas as manhãs eu faço com que a CCcam pare e arranque para que possa instalar nova configuração, ou seja um novo CCcam.cfg, fazendo o seu arranque de seguida.
    A razão para isto é que por vezes o leitor de cartões não arranca.

    Colocamos agora no crontab os comandos de arranque e paragem dos scripts que vão actualizar o sistema, convem que terminem antes dos 5 minutos que temos para verificar se a CCcam está a funcionar senão ela arranca antes de terminar os outros scripts;
    # crontab -e
    56 03 * * * killall CCcam.x86
    57 03 * * * /var/script/configupdate.sh >>/var/cccamlog/configupdate.log 2>&1
    58 03 * * * /var/script/keyupdater.sh >>/var/cccamlog/keyupdater.log 2>&1
    59 03 * * * /usr/local/bin/CCcam.x86
    */5 * * * * /var/script/CCcamCheck.sh
    01 04 * * 1 /var/script/LogCleanup.sh >>/var/cccamlog/LogCleanup.txt 2>&1
    Salvar com = ctrl X yes enter
    Instalamos agora Apache2
    # apt-get install apache2
    Instalamos PHP5;
    # apt-get install php5
    E o nosso server está pronto para arrancar.

    Nota: se quiserem arrancar a cccam sem estarem na directoria de /var/script basta fazerem um link simbolico à directoria /bin assim:

    #ln /var/script/cccam.sh /bin/cccam

    para arrancar basta fazer: #cccam start e para parar #cccam stop

    ______________________________________________________________________
    Agora vamos aos scripts e ao CCcam.cfg:
    CCcam.cfg de referencia, alterem ao vosso gosto, lembrem-se que é case sensitive...
    SERVER LISTEN PORT : 15835 -------->nunca usem a porta 12000 todos a conhecem
    ALLOW TELNETINFO: yes
    ALLOW WEBINFO: yes
    WEBINFO USERNAME : user ?
    WEBINFO PASSWORD : pass ?
    TELNETINFO USERNAME : user ?
    TELNETINFO PASSWORD : pass ?
    TELNETINFO LISTEN PORT : 16000
    WEBINFO LISTEN PORT : 16001
    ZAP OSD TIME : 0
    #OSD USERNAME :
    #OSD PASSWORD :
    OSD PORT : 80
    SHOW TIMING : yes
    DEBUG : no
    NEWCAMD CONF : no
    DISABLE EMM : yes
    EXTRA EMM LEVEL : no
    MINI OSD : yes
    SOFTKEY FILE : /var/keys/SoftCam.Key
    AUTOROLL FILE : /var/keys/AutoRoll.Key
    STATIC CW FILE : /var/keys/constant.cw
    CAID PRIO FILE : /var/etc/CCcam.prio
    PROVIDERINFO FILE : /var/etc/CCcam.providers
    CHANNELINFO FILE : /var/etc/CCcam.channelinfo
    SERIAL READER : /dev/ttyS0 --------------> this is very case sensitive
    SMARTCARD CLOCK FREQUENCY: /dev/ttyS0 3580000
    B: /dev/ttyS0 00
    BOXKEY: /dev/ttyS0 00 11 22 33
    EMM THREADS : 1
    # SECA HANDLER: 1 --------> for the dutch new seca3 cards.
    #MINIMUM DOWNHOPS: 1 ---------> this is a good option for Pc servers to block cards with no reshare
    LOG WARNINGS : /tmp/warnings.txt
    ________________________________________________________________________
    Script para arrancar e parar a CCcam: cccam.sh
    #!/bin/sh
    #Scriptfile for starting and stopping CCcam
    #Script has been modified to enable both x86 and x86_64 versions
    #Scriptwriting done by CC_Share
    #Setting variables
    CAMNAME="CCcam_2.1.3 Server By me"
    CAMDIR="/usr/local/bin"
    LOGDIR="/tmp/"
    # end
    # Checking what CCcam version is used on this computer.
    if [ ! -f $CAMDIR/CCcam.x86 ]
    then
    CAM="CCcam.x86"
    else
    CAM="CCcam.x86"
    fi
    # Checking for pid file existance
    if [ ! -f $CAMDIR/cccam.pid ]
    then
    echo "No pidfile exists, Creating PID for CCcam"
    else
    rm $CAMDIR/cccam.pid
    echo "Pidfile allready found, Removing old pidfile"
    fi
    pidof $CAM > $CAMDIR/cccam.pid
    PID=$(exec cat $CAMDIR/cccam.pid)
    # This method starts CCcam
    start_cam ()
    {
    $CAMDIR/$CAM -dv >> /$LOGDIR/debug.txt &
    sleep 5
    }
    # This method stops CCcam
    stop_cam ()
    {
    kill -9 $PID
    sleep 5
    }
    case "$1" in
    start)
    echo "[SCRIPT] $1: $CAMNAME"
    start_cam
    ;;
    stop)
    echo "[SCRIPT] $1: $CAMNAME"
    stop_cam
    ;;
    restart)
    echo "Restarting $CAMNAME"
    stop_cam
    start_cam
    ;;
    *)
    "$0" stop
    exit 1
    ;;
    esac
    exit 0
    ____________________________________________________________________________
    Script para verificar se a CCcam está vivinha da costa: CCcamCheck.sh

    #!/bin/sh
    process=`ps auxwww | grep CCcam.x86 | grep -v grep | awk '{print $1}'`
    if [ -z "$process" ]; then
    echo "Couldn't find CCcam.x86 running. Restarting server-binary" >> /var/cccamlog/cccam.check
    nohup /usr/local/bin/CCcam.x86 -d >> /var/cccamlog/CCcam.log &
    else echo "CCcam.x86 is still OK!" >> /var/cccamlog/cccam.check
    fi
    _______________________________________________________________________
    Este script é para actualisar a CCcam.cfg todas as noites: configupdate.sh
    #!/bin/bash
    #Script to process new config and backup old one
    #Script designed and written by CC_Share
    SOURCE=/var/config
    TARGET=/var/etc
    FILE=CCcam.cfg
    BACKUPDIR=/var/backup
    CONFIGOLD=CCcam.old
    if test -f $SOURCE/$FILE ; then
    echo "New Config Present"
    if test -d $BACKUPDIR ; then
    if test -f $BACKUPDIR/$CONFIGOLD ; then
    echo "Removing OLD config file from backup directory"
    rm $BACKUPDIR/$CONFIGOLD
    else
    echo "No OLD config to remove."
    fi
    if test -f $BACKUPDIR/$FILE ; then
    echo "Renaming Backup to old config"
    cp $BACKUPDIR/$FILE $BACKUPDIR/$CONFIGOLD
    rm $BACKUPDIR/$FILE
    else
    echo "No Backupfile present yet"
    fi
    if test -f $TARGET/$FILE ; then
    echo "Copying Original config to Backup directory"
    cp $TARGET/$FILE $BACKUPDIR
    rm $TARGET/$FILE
    else
    echo "No Original Config File Present!?!?"
    fi
    else
    echo "Backup directory does not exist."
    echo "making new directory"
    mkdir $BACKUPDIR
    if test -f $TARGET/$FILE ; then
    echo "Copying Original config to Backup directory"
    cp $TARGET/$FILE $BACKUPDIR
    else
    echo "No Original Config File Present!?!?"
    fi
    fi
    echo "Moving New config file to "$TARGET
    cp $SOURCE/$FILE $TARGET
    rm $SOURCE/$FILE
    else
    echo "No New Config present, Nothing to process"
    fi
    exit
     
    _____________________________________________________________
    Este scrip, se o quiserem utilizar, actualiza as chaves. keyupdater.sh
    #!/bin/bash
    wget -qO /var/keys/SoftCam.Key

    wget -qO /var/keys/AutoRoll.Key
    _______________________________________________________________
    Por ultimo um script para apagar os logs ao fim de cada semana: LogCleanUp.sh
    #!/bin/sh
    # Script to cleanup log files
    # Script written by Youknowhoo.
    ## set crontab -e to>> 01 04 * * 1 this means will remove all the log files ones a week on monday mornig at 4:01.##
    OWNER=silva
    TARGETDIR_1=/tmp
    TARGETDIR_2=/var/cccamlog
    FILE_1=warnings.txt
    FILE_2=cccam.check
    FILE_3=CCcam.log
    FILE_4=configupdate.log
    echo && date
    if test -f $TARGETDIR_1/$FILE_1 ; then
    echo "warning text present!"
    chown $OWNER $TARGETDIR_1/$FILE_1
    rm $TARGETDIR_1/$FILE_1
    else
    echo "No warning text present?!?!Nothing to remove"
    fi
    if test -f $TARGETDIR_2/$FILE_2 ; then
    echo "Check File present!"
    chown $OWNER $TARGETDIR_2/$FILE_2
    rm $TARGETDIR_2/$FILE_2
    else
    echo "No Check File present?!?! Nothing to remove"
    fi

    if test -f $TARGETDIR_2/$FILE_3 ; then
    echo "CCcam Debug Log precent!"
    chown $OWNER $TARGETDIR_2/$FILE_3
    rm $TARGETDIR_2/$FILE_3
    else
    echo "No! CCcam Debug file present, CCcam did run perfectly !!"
    fi
    if test -f $TARGETDIR_2/$FILE_4 ; then
    echo "Check File present!"
    chown $OWNER $TARGETDIR_2/$FILE_4
    rm $TARGETDIR_2/$FILE_4
    else
    echo "No Configupdate File present?!?! Nothing to remove"

    fi
    exit
    _____________________________________________________________
    Abraço e espero que seja util.
    agfsilva
     
    casaca, Joregas, JPinga e 11 outras gostaram disto.
  2. eramus

    eramus Membro Digital

    Fiz este processo com os scripts, meti os ficheiros e os scripts tal e qual como esta aqui escrito, nos mesmos directorios com os mesmos nomes como esta aqui descrito e tudo, com as permissoes de 755 para todos os scripts e nenhum me arranca em ubuntu 10.10, alguém me sabe dizer, porquê?
     
  3. vulkcanox

    vulkcanox Membro Digital

    fiz um server tal como está aqui mas verifico que todos os dias a CCam deixa de trabalhar e necessito de um restart que poderá ser?? que fazer??
     
  4. jbaiao

    jbaiao Staff Moderador Membro Gold

    E isso acontece após algum reboot?
     
  5. vulkcanox

    vulkcanox Membro Digital

    sim acontece.
     
  6. jbaiao

    jbaiao Staff Moderador Membro Gold

    Então o mal está que não deves de ter inserido no rc.local o seguinte:

    /usr/local/bin/CCcam.x86 &

    antes de "exit 0"

    Isto fará com que a CCcam arranque no boot da máquina.
    Nota: o ficheiro rc.local está em "etc"
     
    Última edição: Novembro 19, 2014
  7. vulkcanox

    vulkcanox Membro Digital

    Não me fiz perceber, peço desculpa.
    Se fizer reboot á maquina o CCCam fica a trabalhar não necessito de o iniciar (logo penso que em rc.local deve estar ok) o problema que que no dia seguinte quando dou por mim o CCCam deixa de funcionar, ou seja não aguenta mais do que ± 1 dia a rolar, que pode ser??
     
  8. vulkcanox

    vulkcanox Membro Digital

    alguem tem uma ideia do que se passa??
     
  9. jbaiao

    jbaiao Staff Moderador Membro Gold

    Tens o script CCcamCheck.sh a correr?
    Tem de ter atributos 755.
     
  10. max-men

    max-men Membro Digital

    Já testas te mudar a versão cccam? Só pá tirar dúvidas? Também já li que há pessoas que por vezes tem problemas idênticos e é uma troca, e a linha da problemas
     
Engisat