Quantcast
Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, 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 Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, 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 Bereichen, welche für Gäste verwehrt bleiben

OSCam auf Debian inkl. "auto"-Updater

djsuck

Newbie
Registriert
6. Juli 2009
Beiträge
1
Reaktionspunkte
37
Punkte
13
Hallo DEB-Community.
Da ich hier im Board schon so unglaublich viele Informationen sammeln konnte, möchte ich gern mit meinem ersten Post versuchen auch etwas zurückzugeben.
Ich habe/hatte mittlerweile ein paar interessante Kombinationen im Einsatz und will hiermit eine kleine Hilfestellung zur Einrichtung unter Debian geben.

Folgende Konfiguration habe/hatte ich erfolgreich mit folgender Hardware im Einsatz:
- Igel ThinClient (stromsparend)
- Normale x86 Server-Hardware (Stromfresser und Oversized)
- Alte Sophos/Astaro UTM 220 Firewall (Aktuelles Proof of Conzept, mittlerer Stromverbrauch)
- Prinzipiell ist alles möglich, wo Ihr n Debian draufkriegt oder ne x86/amd64-Hardware drinsteckt (Laptop, PC, Proxies, Webfilter, E-Mail Gateways, etc.)

Als Cardreader stes diesen hier:
USB-Cardreader CR 2.1 (von OB Elektronik)
Bestückung: 3,68 - 10 - 6 MHz
Ausführung: normal

Die Ressourcenauslastung lag bei allen Systemen bei ~ 1-3%, alles läuft auch bei ähhmm... intensiverer Beanspruchung der Karte... ruckelfrei (wenn man beachtet, dass für einen ruckelfreien Betrieb
die Internetleitung auch frei sein muss). Clients sind ausschließlich Dreamboxen (90% DM 500 HD)

Bitte versteht, dass ich nicht auf jeden einzelnen Punkt bis ins letzte Detail erkläre (z.B. Debian Installation), da das ansonsten den Rahmen hier sprengen würde.
Des Weiteren ist es sinnvoll, dieses How-To erstmal bis zum Ende zu lesen und Fragen zu stellen / mit der Installation anzufangen.

Also - here we go...

1. Einleitung
Folgende Rahmenbedingungen werden gesetzt oder sind Bestandteil der folgenden Config.
Ich schreibs nur vorab, damit jedem Leser klar ist, dass evtl. Files in diesem How-To in anderen Verzeichnissen liegen, als man es bisher evtl gewohnt war.

- Startskript: /etc/init.d/oscam
- OSCAM Config files liegen unter: /usr/local/etc
- Updateskript ligt im root-Verzeichnis
- OSCAM Binary liegt im /usr/local/bin
- OSCAM läuft als root :(

2. Benötigte Tools/Hardware
- Debian 7.7 (NetInstall CD oder DVD1)
- WinSCP (kostenlos bei winscp.net)
- Putty (kostenlos bei putty.org)
- USB-CDRom Laufwerk

3. Download Debian 7.7
- Die für eure Plattform nötigen Installationdateien von debian.org herunterladen und auf CD/DVD brennen
- Wenn die NetInstall nicht funktioniert, Installiert das System von der DVD1 und kommentiert "cdrom" aus der sources.lst raus
- Bei der NetInstall-Variante müsst Ihr darauf achten, dass Eure Hardware auch schon während der Installation Internet ankommt

4. Installation Debian
- Installation inkl. WebServer & SSH-Server (mehr wird nicht benötigt)
- Die Installationsroutine lotst Euch recht easy durch den Installationsprozess

5. Debian updaten + OSCAM & Dependencies installieren
- Per Putty auf Eure frische/jungfräuliche Debian-Installation verbinden
- Folgende Befehle via Putty auf Eurem Debian absetzen:
apt-get update && apt-get upgrade
apt-get -y install build-essential cmake make subversion
apt-get -y install pcscd // Nur f. IGEL 3200 LX Kartenleser
apt-get install -y nano less dialog console-tools console-data console-common lm-sensors libpcsclite1 portmap libusb-1.0-0-dev
svn co oscam-trunk
cd oscam-trunk
cmake . -DHAVE_LIBUSB=1 -DHAVE_PCSC=1
make
make install

6. Startskript erstellen
- Folgenden Inhalt in eine Textdatei schreiben, sie in "oscam" umbenennen und via WinSCP nach /etc/init.d/ kopieren
#!/bin/sh
### BEGIN INIT INFO
# Provides: oscam
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: open source cam
### END INIT INFO
# /etc/init.d/oscam
#
set -e
DAEMON=/usr/local/bin/oscam
NAME=oscam
OPTIONS=-b
PIDFILE=/var/run/oscam/oscam.pid
PATH=/sbin:/bin:/usr/sbin:/usr/bin

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting oscam" "oscam"
[ -d /var/run/oscam ] || mkdir -p /var/run/oscam
start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- $OPTIONS
log_end_msg $?
;;
stop)
log_daemon_msg "Stopping oscam" "oscam"
start-stop-daemon --stop --quiet --pidfile $PIDFILE
log_end_msg $?
rm -f $PIDFILE
;;
restart)
$0 stop && sleep 2 && $0 start
;;
reload|force-reload)
echo "Reloading $NAME configuration files"
start-stop-daemon --stop --pidfile $PIDFILE --signal 1 --exec $DAEMON
echo "."
;;
status)
pidofproc -p $PIDFILE $DAEMON >/dev/null
status=$?
if [ $status -eq 0 ]; then
log_success_msg "oscam is running."
else
log_failure_msg "oscam is not running."
fi
exit $status
;;
*)
echo "Usage: /etc/init.d/$NAME {start|stop|restart|reload}"
exit 1
;;
esac

exit 0
- Eure OSCAM-Files (oscam.server, oscam.user, etc) werden via WinSCP nach /usr/local/etc/kopiert
- Folgende Befehle via Putty absetzen:
chmod a+rx /etc/init.d/oscam
update-rc.d oscam defaults

7. Berechtigungen setzen
- /etc/init.d/oscam via WinSCP auf 755 setzen

8. Reboot und erster Connect via Webbrowser *
- Startet Euren Debian-Server einmal durch ("reboot" in Puty eingeben)
- Nach dem Reboot könnt Ihr Euch mit Eurem Browser auf die IP des Servers auf Port 16002 connecten (z.B. )

9. Interner Igel Kartenleser (untested)
- Sofern Ihr den internen Kartenlesers eines Igel Thinclients benutzen möchtet, müssen noch ein paar Pakete nachinstalliert werden
- Also müssen noch folgende Befehle via Putty auf dem Debian-Server abgesetzt werden
- Da ich den internen Cardreader aber nie benutzt habe, folgende Config ohne Gewähr ;)
apt-get install libusb-1.0-0-dev
cd oscam-trunk
make clean
cmake -DHAVE_LIBUSB -DHAVE_PCSC .
make
killall -9 oscam
make install
/etc/init.d/oscam start

10. Updateskript OSCAM
- Mit folgendem Skript werden alle Aufgaben, die für ein Update von OSCAM durchzuführen sind (OSCAM stoppen, Pakete herunterladen, kompilieren, OSCAM wieder starten, etc.) automatisiert, was ich sehr sexy finde.
- Untenstehende Befehle in eine Textdatei unter dem Namen "update_oscam" im Root des Servers speichern und Berechtigung auf 755 setzen
- Gestartet wird das Skript nachdem Ihr Euch via Putty verbunden habt und Euch im Root befindet dann einfach via "./update_oscam"
- Dann könnt Ihr auf der Konsole zuschauen, wie Euer OSCAM geupdated wird - wenn das Skript durchgelaufen ist, könnt Ihr Euch wieder mit Eurem Browser zu connecten und über die neue Revision freuen :)
#!/bin/sh
/etc/init.d/oscam stop
killall -9 oscam
cd /usr/local/bin
rm -rf oscam
svn co oscam-trunk
## fügt man z.B. "-r 9655" hinter /oscam-trunk ein, wird die Revision 9655 heruntergeladen und installiert ##
## somit kann man von einer evtl. unstabilen oder fehlerhaften, aktuellen Version wieder auf eine funktionierende Version zurückspringen ##
cd /usr/local/bin/oscam-trunk
cmake . -DHAVE_LIBUSB=1 -DHAVE_PCSC=1
make
make install
chmod a+rx /etc/init.d/oscam
/etc/init.d/oscam start

11. Weitere nützliche Tools
- htop (apt-get install htop via Putty eingeben)
- iftop (apt-get install iftop via Putty eingeben)
- Mit diesen beiden Tools lässt sich recht easy die Ressourcen- und die Netzwerkauslastung via Putty checken
- Killall (wichtig fürs Update-Skript) fehlt u.U. bei einer Igel-Installation und muss ebenfalls nachinstalliert werden via "aptitude install psmisc" auf der SSH-Konsole

12. Sonstiges
- In Punkt 8 ist Euch vielleicht das kleine "*" aufgefallen... an dieser Stelle möchte ich kurz ein wenig aufs Troubleshooting eingehen, denn hier habe ich einiges an Nerven gelassen :D
- Sollte das OSCAM Webinterface nach dem in Punkt 6 beschriebenen Reboot nicht erreichbar sein, konnte OSCAM nicht erfolgreich gestartet werden - der Grund dafür lässt sich leicht herausfinden
- Connected Euch via Putty zu Eurem Debian-Server und gebt "/etc/init.d/oscam start" ein
- Hiermit wird OSCAM manuell gestartet. Falls dies fehlschlägt seht ihr auch direkt warum / die Fehlermeldung
- Schlägt der Start fehl und die Fehlermeldung lautet :"sh^M: Defekter Interpreter... blabla", habt ihr ein (nerviges) Problem, welches sich aber leicht lösen lässt:
=> Es haben sich in Eure Config (Startskript: "oscam" in /etc/init.d/) ein paar DOS-CRLFs eingeschlichen. Das Passiert gern mal, wenn man die Config auf einem Windows-Rechner mit dem normalen Texteditor erstellt/bearbeitet
und dann via WinSCP auf den Server packt (kann auch sehr gut passieren, wenn die Config oben kopiert und bei Euch lokal einfügt).

Das Problem daran ist, dass man sie nicht sieht, aber mit folgendem Trick bekommt Ihr sie auch wieder raus: WinSCP starten und /etc/init.d/oscam mit dem in WinSCP intigriertem Editor öffnen (Rechtsklick auf die Datei und "Bearbeiten" anklicken) und dann in der Datei jeden Zeilenumbruch entfernen und mit "Enter" wieder neu setzen. Ist n biserl blöd zu erklären, aber prinzipiell müsst Ihr z.B. in Zeile 1 ans Ende springen und "Entf" drücken (dann rutscht die Zeile 2 hoch in die Zeile 1) und dann wieder Enter drücken. Das ganze Prozedere dann in allen Zeilen wiederholen.

Ich bin mir sicher, dass das auch eleganter geht, aber ich weiss nit wie :D (ausserdem dauert das auch nur 30 Sek. oder so).... danach die Datei wieder nach /etc./init.d/ hochladen


13. Nächste Schritte
Der nächste Step wäre dann, dass Eure Karte (V14 bei mir) in Eurem Reader erkannt wird, aber das gehört dann nicht mehr hier hin

14. Issues / To-Dos
- OSCAM läuft als root, was mich als Security-Freak natürlich stört - auf der anderen Seite ist der Angriffsvektor in meinem Setup äußerst gering
- Demnächst kommt noch ne Zweitkarte hinzu damit ich mal mit den Loadbalancern rumspielen kann :)

So... das war's eigentlich auch schon.
Sollten Probleme auftreten, versuche ich Euch gern im Rahmen meiner Möglichkeiten zu helfen (unter der Woche bin ich jobmäßig stark ausgelastet)

Bitte beachtet, dass ich hier keine Config der OSCAM-Files (oscam.server, oscam.conf, etc.) erwähnt habe und auch nicht diskutieren möchte - dafür gibt es mehr als genug andere Threads, How-Tos & Anleitungen hier im Forum.
Wenn ich mich da druchgebissen habt, schafft ihr das auch :)
Fertig seid Ihr hier, wenn Ihr das Webinterface erreicht.

Ich hoffe, ich kann hiermit der Community was zurückgeben und dem ein oder anderen das Leben etwas leichter machen.

Greetz - djsuck -
 
Zuletzt bearbeitet:
Zurück
Oben