Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenloses um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereiche, welche für Gäste verwehrt bleiben

How-To [PAPPA PRONTA] Server Ubuntu con CCcam 2.2.1

Status
Für weitere Antworten geschlossen.
Registriert
26. Oktober 2008
Beiträge
794
Reaktionspunkte
570
Punkte
153
Ort
Weil am Rhein
Una guida da seguire passo passo per usufruire di un funzionale sistema Ubuntu come Server CCcam con configurazione basilare su lettore Smartmouse seriale.
Il sistema potra essere integrato e/o ampliato in seguito mediante poche modifiche.


Requisiti necessari:
- Personal Computer AbandonWare (rottame) oppure thin client (IGEL 5128 è quello che consiglio)
- Lettore smartcard seriale (di default) o USB (tipo smargo)
- Sistema operativo UBUNTU 10.04 Server Edition che potete scaricare
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
.
- Conoscenza BASE del sistema Linux e di alcuni programmini essenziali tra cui l'editor di testi nano.
- Un po di pazienza e buona volonta (veramente poca)

FASE 1 - Installazione del Sistema Operativo sul PC/THIN CLIENT

Su questa fase non mi dilungo volutamente in quanto, se non siete in grado di installarvi Ubuntu su un PC è meglio che lasciate stare.
Comunque pochi semplici consigli. Masterizzate l'immagine ISO su un CD con il vostro programma preferito e procedete ad un'installazione pulita sulla macchina.
Configurate parametri di rete e partizionate il disco in modo da assegnare anche una partizione di swap pari almeno alla stessa quantità di RAM installata.
Visto che la versione utilizzata è la Server Edition, NON ESISTE INTERFACCIA GRAFICA...quindi tutto a manina IMG Removed da terminale.
Per comodità di spiegazione, al momento di inserire il nome utente e la password per lo user di sistema, utilizzerete il nome "cccamserver" (password a vostra discrezione)
Unico pacchetto opzionale che vivamente consiglio è il server SSH che vi verrà proposto verso la fine della procedura di installazione.

Oppure potete installarlo semplicemente con il comando:
Quote:

sudo apt-get install openssh-server

FASE 2 - Installazione dell'eseguibile e del file di configurazione.

In questa fase copieremo il file CCcam.x86 e il file CCcam.cfg nelle corrette posizioni.
Scomprimete l'archivio sul vostro PC di tutti i giorni e controllate che ci siano all'interno i 2 files che ci servono (CCcam.x86 e CCcam.cfg)
Per trasferire i files potete utilizzare WinSCP (da Windows) oppure, se utilizzate un sistema Linux, potete accedere al sistema direttamente tramite SSH e trasferire i files tramite il comando SCP.
Nel 90 % dei casi, conoscendovi, userete Windows IMG Removed...quindi tramite WinSCP (tramite il protocollo SSH), trasferite i files CCcam.x86 e CCcam.cfg nella home del vostro serverino (/home/cccamserver)

Una volta che i files sono nella home/cccamserver provvederemo a copiare l'eseguibile in /usr/bin con il comando:

Quote:
sudo cp /home/cccamserver/CCcam.x86 /usr/bin

e poi date permessi di esecuzione al file col comando:
Quote:

sudo chmod 755 /usr/bin/CCcam.x86

Bene...ora il file di configurazione (usate per ora quello di esempio nel file compresso della CCcam).

Copiatele in /var/etc con il comando:
Quote:

sudo cp /home/cccamserver/CCcam.cfg /var/etc

Se in questa fase il sistema vi risponde che la cartella /var/etc non esiste, allora dovrete crearla con il comando:
Quote:

sudo mkdir /var/etc

e a seguito riprovate con la copia.

Per scrupolo date i permessi di lettura al file di configurazione con il comando:
Quote:

sudo chmod 644 /var/etc/CCcam.cfg

Bene, ora il sistema è quasi pronto per funzionare...ancora qualche passaggio.

FASE 3 - Configurazione del file CCcam.cfg

In questa fase vedremo una semplice configurazione del file CCcam.cfg per poter leggere una qualsiasi card dal lettore smartmouse seriale.
Quindi eseguite:

Quote:

sudo nano /var/etc/CCcam.cfg

e configurate il file nel seguente modo:

Quote:

#F:....................... # qui le vostre Fline

#C:....................... #qui le Vostre Cline
SERVER LISTEN PORT : 12000
ALLOW WEBINFO: yes
WEBINFO USERNAME : cccamserver
WEBINFO PASSWORD : cccampassword
WEBINFO LISTEN PORT : 8080
SERIAL READER : /dev/ttyS0
EXTRA EMM LEVEL : yes
EMM THREADS : 1
Questa è una configurazione di base in cui il server è in ascolto sulla porta 12000, configurato con un lettore seriale su /dev/ttyS0 (COM1) con la WebIf abilitata sulla porta 8080.
Ovviamente questo file può essere personalizzato a piacere con altre opzioni (tipo /dev/ttyUSB0 anzichè /dev/ttyS0 se usate un lettore esterno USB)

FASE 4 - Automatismi e scripts di avvio

Il sistema è pronto all'uso. Infatti se impartite al sistema il comando:
sudo CCcam.x86 -dv
tutto partirà senza grossi problemi.
Considerato però che questo server deve avviarsi in automatico e che in caso di crash dell'emu è buona cosa che questo venga riavviato, vi illustrerò alcuni script basilari da integrare.
Script di avvio/arresto/riavvio dell'emulatore:

da terminale create il file cardserver.sh in /etc/init.d con il comando:
Quote:

sudo nano /etc/init.d/cardserver.sh

e copiateci dentro queste righe:

Quote:
###################################
#!/bin/sh -e
#
#

case "$1" in
start)
echo "Avvio CCcam Server"
/usr/bin/CCcam.x86 -v &
;;
stop)
echo "Arresto CCcam Server"
killall -w CCcam.x86 >&2
;;
restart)
echo "Riavvio CCcam Server"
killall -w CCcam.x86 >&2
sleep 30
/usr/bin/CCcam.x86 -v &
;;
*)
echo "Usage: $0 {start|stop|restart}" >&2
exit 1
;;
esac

#######################################
Salvate il file e dategli adeguati permessi con il comando:
Quote:

sudo chmod 755 /etc/init.d/cardserver.sh

L'uso è semplice:

sudo cardserver.sh start per avviare l'emu
sudo cardserver.sh stop per arrestare l'emu
sudo cardserver.sh restart per riavviare l'emu

Interveniamo ora per rendere eseguibile questo script ad ogni boot del sistema con un semplice comando:
Quote:
sudo update-rc.d cardserver.sh defaults
Ora, ad ogni riavvio di sistema l'emulatore CCcam partirà in automatico.
Utilissima, a mio giudizio il controllo eseguito ogni 5 minuti dell'emulatore, ovvero...se CCcam inspiegabilmente crasha...chi lo riavvia?
Risposta...nessuno, si riavvia in automatico

Quindi...altro scriptino che chiameremo checkcccam:
Quote:

sudo nano /usr/bin/checkcccam.sh

e ci copiate dentro queste poche righe:

Quote:
#####################################
#!/bin/bash
CCCAM_CONFIG_FILE_PATH="/var/etc"
CCCAM_EXECUTABLE_PATH="/usr/bin"
NAME_OFF_CCCAM_EXECUTABLE="CCcam.x86"
#
function Check_CCcam {
ps -eo comm,pid,etime > tmpcat
PID=$(grep -i $NAME_OFF_CCCAM_EXECUTABLE tmpcat | awk -F" " '{ print $2}')
TIME=$(grep -i $NAME_OFF_CCCAM_EXECUTABLE tmpcat | awk -F" " '{ print $3}')
}
#
Check_CCcam
if [ "$PID" = "" ]; then
cd $CCCAM_EXECUTABLE_PATH
./$NAME_OFF_CCCAM_EXECUTABLE -C $CCCAM_CONFIG_FILE_PATH/CCcam.cfg

fi
exit 0

###################################
Ricordiamoci adeguati permessi con il comando:
Quote:

sudo chmod 755 /usr/bin/checkcccam.sh

L'uso è semplice. quando eseguito questo script controlla che l'emulatore CCcam.x86 sia in esecuzione...in caso contrario lo riavvia.
E' chiaro che tale script per poter svolgere egregiamente la propria funzione deve essere eseguito a intervalli regolari di pochi minuti per mantenere sempre sotto controllo l'emulatore.
A tal proposito useremo crontab adeguatamente configurato in modo da eseguire questo script di controllo ogni 5 minuti.
Quindi procediamo a configurare crontab con il comando:

Quote:

sudo crontab -e

(se vi chiede che editor di testo usare, chiaramente date opzione 2 ovvero "nano)

e vi si aprirà un file con il seguente contenuto:

Quote:

# m h dom mon dow command
quidi vuoto...voi dovrete impostare una sola riga in modo che il file sia così:
Quote:

# m h dom mon dow command

*/05 * * * * /usr/bin/checkcccam.sh

Questo setup impone al sistema di eseguire ogni 5 minuti lo script checkcccam.sh

Il sistema è praticamente pronto.
Opterei per un riavvio totale di tutto il server ogni 24 ore in modo da ripulire cache e files temporanei...
Per fare ciò basta aggiungere un altra riga in crontab.
date ancora il comando:

sudo crontab -e

e strutturate il contenuto così:

Quote:

# m h dom mon dow command
*/05 * * * * /usr/bin/checkcccam.sh
00 05 * * * /sbin/reboot

Alle 5 del mattino il sistema si riavvierà in automatico.

FASE 5 (opzionale) - Firewall

Anche se non strattamente necessario è buona prassi implementare un minimo di firewall al sistema per evitare accessi indesiderati.
Sarà mia cura prossimamente spiegarvi anche l'uso di FAIL2BAN...un programmino carino carino che eliminerà in automatico gli utenti di CCcam indesiderati.
Comunque una configurazione di un firewall base con l'utilizzo di iptables lo strutturerei così.

Create uno script chiamandolo firewall.sh in /usr/bin col comando:
Quote:

sudo nano /usr/bin/firewall.sh

all'interno del file copiate questo:
Quote:
########################################
#!/bin/bash

# imposta le regole di base
iptables -P INPUT DROP # chiude tutte le connessioni in ingresso
iptables -P FORWARD DROP # chiude tutte le connessioni in forward
iptables -P INPUT -i lo -j ACCEPT #apre tutto sull'interfaccia di loopback
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# imposta regole per l'ingresso
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #apre la porta 22 SSH
iptables -A INPUT -p tcp --dport 12000 -j ACCEPT #apre la porta 12000 in TCP necessaria al traffico cardserver
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT #apre la porta 8080 per accesso alla webif

###############################################

Salvate e chiudete e date al file i soliti permessi con il comando:

Quote:

sudo chmod 755 /usr/bin/firewall.sh

e fate in modo che il firewall venga eseguito all'avvio con il comando:
Quote:

sudo update-rc.d firewall.sh defaults

Ora avete un server funzionante con controllo dell'emu ogni 5 minuti che si riavvia tutte le mattine alle 5:00 AM con un piccolo firewall di protezione.
Buon smanettamento

RELEATED TOPICS:

WinSCP:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!

Putty:
Du musst dich Anmelden oder Registrieren um diesen link zusehen!



FASE 6 [FONT=&quot]FASE INSTALLAZIONE OSCAM compilata[/FONT]

[FONT=&quot]USCIRE DA UTENTE ROOT E LOGGARSI UTENTE NORMALE[/FONT]

sudo mkdir /home/cccamserver/libusb
cd /home/cccamserver/libusb
sudo wget
Du musst dich Anmelden oder Registrieren um diesen link zusehen!


sudo tar jxvf libusb-1.0.6.tar.bz2
cd /home/
cccamserver/libusb/libusb-1.0.6
sudo ./configure --prefix=/usr &&make
[FONT=&quot] sudo make install

[/FONT]



DOWNLOAD OSCAM SOURCES AND COMPILE
************************************
cd /home/cccamserver/sources
sudo svn co
Du musst dich Anmelden oder Registrieren um diesen link zusehen!
oscam-svn
cd oscam-svn
sudo mkdir build_dir
cd build_dir
sudo cmake .. # se volete la WebIf = sudo cmake -DWEBIF=1 ..
sudo make


[FONT=&quot]sudo cp oscam /usr/local/bin


[/FONT]
[FONT=&quot]USCIRE DA UTENTE NORMALE E LOGGARSI UTENTE ROOT[/FONT]
[FONT=&quot]

[/FONT]
Sempre da terminale dare il comando


nano /etc/rc.local


una volta aperto il file, inserire le seguenti linee PRIMA di exit



/usr/local/bin/oscam
sleep 10

/usr/local/bin/CCcam.x86


Ora le emu si avviano in automatico quando avviate il pc, da notare che la cccam parte 10 secondi dopo la oscam.




[FONT=&quot]apt-get install libpcsclite-dev [/FONT]
[FONT=&quot]apt-get install libssl-dev[/FONT]
[FONT=&quot]cd /usr/lib[/FONT]
[FONT=&quot]ln -s libcrypto.so.0.9.8 libcrypto.so.6[/FONT]
[FONT=&quot]ln -s libssl.so.0.9.8 libssl.so.6[/FONT]





 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben