Camd3: IPC und Editor einbinden

TommyH99
P E B K A C
Beiträge: 428
Registriert: So 17. Apr 2011, 13:35
Kontaktdaten:

Camd3: IPC und Editor einbinden

Beitrag von TommyH99 »

Hi!

Da jetzt mehrere User Camd3 benutzen, dachte ich mir ich bau es mal im Webinterface von IPC ein, sowie für den Editor.

In Zukunft wird es bestandteil von IPC sein, aber bis dahin muss man sich Camd3 selbst installieren.

Voraussetzung:
Camd3 muss installiert sein, wie hier im Forum beschrieben!! (functions.sh!!)

Achtung: nur für User die auch mit einem Editor umgehen können und vl bissal code verstehen
Achtung: Macht vorher ein Backup von Files - ich übernehme keine Garantie ;)

Camd3 Port auslesen

nano /var/www/ipc/page/global.php

Wir suchen die Zeile "$OSWEB = "inaktiv";" und fügen darunter folgendes ein

Code: Alles auswählen

// Auslesen der camd3.config
if (file_exists("/var/keys/camd3.config")) {
        $suche = "UDP_PORT";
        $camd3conf = parse_ini_file("/var/keys/camd3.config");
        if (isset($camd3conf["$suche"])) {
                $CDPORT = $camd3conf["$suche"];
        } else {
                $CDPORT = "inaktiv";
        }
}
if(empty($CDPORT))
$CDPORT = "inaktiv";
Eventuell den Config Pfad anpassen


nano /var/www/ipc/page/home.php

Wir suchen die Zeile mit "// Infotabelle"
und fügen dort diese Zeile ein.

Code: Alles auswählen

echo "<tr><td class=tab>Camd3 Port</td> <td class=tab> &nbsp;&nbsp;:&nbsp;&nbsp; </td> <td class=tab>$CDPORT</td></tr>";

müsste dann so aussehen

Code: Alles auswählen

echo "<tr><td class=tab>CCcam Port</td> <td class=tab> &nbsp;&nbsp;:&nbsp;&nbsp; </td> <td class=tab>$CCPORT</td></tr>";
echo "<tr><td class=tab>CCcam Web</td> <td class=tab> &nbsp;&nbsp;:&nbsp;&nbsp; </td> <td class=tab>$CCWEB</td></tr>";
echo "<tr><td class=tab>OScam Web</td> <td class=tab> &nbsp;&nbsp;:&nbsp;&nbsp; </td> <td class=tab>$OSWEB</td></tr>";
echo "<tr><td class=tab>Camd3 Port</td> <td class=tab> &nbsp;&nbsp;:&nbsp;&nbsp; </td> <td class=tab>$CDPORT</td></tr>";
echo "</table>";
Auf der IPC Seite sollte jetzt die Anzeige von Camd3 Port: stehen.


Camd3 Prozessanzeige

nano /var/www/ipc/page/control.php

wir suchen nach der Zeile "$ProzessStatus='';"

und fügen dort 2 Zeilen ein (richtige Position beachten ;)

Code: Alles auswählen

        $RUNCD=exec("ps auxw | grep -v grep | grep $CDVERSION | awk {'print $2'}");

Code: Alles auswählen

 if ($RUNCD <> "")
                {$ProzessStatus.="<td> - <td class=tabgreen>Camd3</td>";}
        else
                {$ProzessStatus.="<td> - <td class=tabred>Camd3</td>";}

nano /var/www/ipc/page/home.php

wir suchen nach der Zeile // Processes

fügen folgende Zeile hinzu

Code: Alles auswählen

$RUNCD=exec("ps auxw | grep -v grep | grep $CDVERSION | awk {'print $2'}");
wir suchen nach der Zeile "// Processtabelle"

und fügen wieder folgendes hinzu

Code: Alles auswählen

if ($RUNCD <> "")
        {echo "<td> - <td class=tabgreen>Camd3</td></tr>";}
        else
        {echo "<td> - <td class=tabred>Camd3</td></tr>";}

Auf der IPC Seite sollte jetzt der neue Prozess von Camd3 ersichtlich sein.


Camd3 im Editor einbinden

nano /var/www/ipc/page/editor.php

gleich am Anfang der Datei haben wir die Auflistung der Files die man bearbeiten kann/will.
Dort fügen wir folgende 2 Zeilen ein, wenn Ihr mehrere Config Files bearbeiten wollt, dann könnt Ihr das hier tun und muss ihm nächsten Schritt auch beachtet werden!

Code: Alles auswählen

$eFILE['camd3.config']          ="/var/keys/camd3.config";
$eFILE['camd3.users']           ="/var/keys/camd3.users";
wir suchen im selben File nach "//NewCS"

darunter fügen wir folgenden Code ein

Code: Alles auswählen

// Camd3
$Camd3html.="".$SPACER2."<font face='Georgia' size='2'color=FF0000><b>Camd3:</b></font><br><hr>";
$F="camd3.config"; _FS("$F"); $Camd3html.="".$FSPACER."<a class='editor' href='".$_SELF."?".$F."'>".$F."</font></a><br><hr>";
$F="camd3.users"; _FS("$F"); $Camd3html.="".$FSPACER."<a class='editor' href='".$_SELF."?".$F."'>".$F."</font></a><br><hr>";
wenn Ihr oben jetzt mehrere Files genommen habt, müsst ihr es hier anpassen!

darunter, fügen wir dann folgende Zeile ein

Code: Alles auswählen

$html.="$Camd3html\n";

damit sind wir auch schon wieder fertig :)
if ($ahnung == false or $problem == true) { read FAQ; use SEARCH; use GOOGLE; } else { use brain; make post; }
doc34
IPC Neuling
Beiträge: 5
Registriert: Sa 11. Jun 2011, 09:35

Re: Camd3: IPC und Editor einbinden

Beitrag von doc34 »

Deine Anleitung ist super hat alles geklappt
Bin aber etwas weiter gegangen und hab unter Control camd3 Butten erstellt
Wenn ich jetzt da drauf drücke kommt die Fehlermeldung sudo: no tty present and no askpass program specified
Folgendes habe ich Geändert wer kann weiter helfen
Spoiler
Show
$Camd3script = '/bin/camd3';

} elseif ($_POST['CamControl'] === "Start Camd3") {
exec(''.$PREcmd.''.$Camd3script.'camd3 start'.$SUFcmd.'',$output,$return_var);
} elseif ($_POST['CamControl'] === "Stop Camd3") {
exec(''.$PREcmd.''.$Camd3script.' camd3 stop'.$SUFcmd.'',$output,$return_var);
} elseif ($_POST['CamControl'] === "Restart Camd3") {
exec(''.$PREcmd.''.$Camd3script.'camd3 restart'.$SUFcmd.'',$output,$return_var);

$Camd3Buttons ='<input type="submit" value="Start Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Stop Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Restart Camd3" name="CamControl"/><br><p>';
gruß doc34
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von feissmaik »

Hast du vielleicht vergessen den Befehl /bin/camd3 ins sudoers einzutragen damit www-data das auch als root über "sudo" ausführen darf? -> visudo


exec(''.$PREcmd.''.$Camd3script.'camd3 start'.$SUFcmd.'',$output,$return_var);

Das ist auch noch falsch, das camd3 was da vor dem start steht ist zuviel weil das bereits im $Camd3script drin steht -> /bin/camd3
dh das da würde dann so aussehen: /bin/camd3camd3 start ... richtig wär also:

exec(''.$PREcmd.''.$Camd3script.' start'.$SUFcmd.'',$output,$return_var);
Du musst nicht kämpfen um zu siegen
doc34
IPC Neuling
Beiträge: 5
Registriert: Sa 11. Jun 2011, 09:35

Re: Camd3: IPC und Editor einbinden

Beitrag von doc34 »

So jetzt läuft alles mann Mus nur wissen Wo was hinkommt.
besten dank
doc34
IPC Neuling
Beiträge: 5
Registriert: Sa 11. Jun 2011, 09:35

Re: Camd3: IPC und Editor einbinden

Beitrag von doc34 »

so für alle die Camd3 über Control Butten starten will
datei
nano /var/www/ipc/page/control.php
suchen nach
} elseif ($_POST['CamControl'] === "Restart OScam") {
exec(''.$PREcmd.''.$OScamscript.' restart'.$SUFcmd.'',$output,$return_var);
Dann das einfügen dadrunter

Code: Alles auswählen

} elseif ($_POST['CamControl'] === "Start Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' start'.$SUFcmd.'',$output,$return_var);
	} elseif ($_POST['CamControl'] === "Stop Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' stop'.$SUFcmd.'',$output,$return_var);
	} elseif ($_POST['CamControl'] === "Restart Camd3") {
		exec(''.$PREcmd.''.$Camd3script.' restart'.$SUFcmd.'',$output,$return_var);
dann suchen nach
$SHOWbuttons.="$RestartCamsOScam";
das einfügen dadrunter

Code: Alles auswählen

$SHOWbuttons.="$RestartCamscamd3";
dann suchen nach
$OScamButtons.='<input type="submit" value="Restart OScam" name="CamControl"/><br><p>';

Code: Alles auswählen

$Camd3Buttons ='<input type="submit" value="Start Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Stop Camd3" name="CamControl"/>';
$Camd3Buttons.='<input type="submit" value="Restart Camd3" name="CamControl"/><br><p>';
dann das suchen if (file_exists("$OScamscript")) { $SHOWbuttons.="$OScamButtons\n"; }
if (file_exists("$Camd3script")) { $SHOWbuttons.="$Camd3Buttons\n"; }]
dann im Terminal visudo ausfüren ,/bin/camd3 einfügen
so das war alles jetzt sollte alles klappen.
Zuletzt geändert von doc34 am Do 8. Dez 2011, 21:16, insgesamt 1-mal geändert.
feissmaik
Entwickler Team
Beiträge: 2576
Registriert: So 17. Apr 2011, 11:39
Been thanked: 1 time
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von feissmaik »

und wo legst du die Variable RestartCamscamd3 an bzw wofür is die?



sorry, ein bischen übersichtlicher wenns geht :)
Du musst nicht kämpfen um zu siegen
cyberwolf
IPC Neuling
Beiträge: 16
Registriert: Do 16. Jun 2011, 09:45
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von cyberwolf »

hi hab ein problem hab das mal so nach der anleitung gemacht aber irgent wie klappt das bei mir nicht hab das alles so eingefügt wie es da steht und bekomme aber die buttons nicht angezeit für camd3 zu starten oder stoppen oder zu restarten kann einer bitte die anleitung mal so posten das es richtig ist weil hab schon x mal probiert aber bekomm es nicht hin bitte hilft mir mal
maxheadroom
IPC Neuling
Beiträge: 2
Registriert: So 18. Dez 2011, 10:56
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von maxheadroom »

Camd3 Webinterface über IPC Quicklinkleiste

nano /var/www/ipc/index.php

Suche nach:

Code: Alles auswählen

if (!empty($OSPORT) AND $OSPORT != "inaktiv") { 
  echo "<td ><a href='http://$_SERVER[SERVER_NAME]:$OSPORT' target='_blank' title='OScam Webinterface'<span>OScam</span></a></td><td class='trenn'>&#8226;</td>"; 
}
Danach einfügen:

Code: Alles auswählen

if (!empty($CDWEB)) { 
  echo "<td ><a href='http://$_SERVER[SERVER_NAME]:$CDWEB' target='_blank' title='Camd3 Webinterface'<span>Camd3</span></a></td><td class='trenn'>&#8226;</td>"; 
}
nano /var/www/ipc/page/global.php

Dort sollte dieser Abschnitt für // Auslesen der camd3.config schon vorhananden sein
Dieser gehört noch bearbeitet

Code: Alles auswählen

 
    // Auslesen der camd3.config
    if (file_exists("$CDCFG")) {
       $server = "UDP_PORT";
       $info = "HTTP_PORT";
       $file = file("$CDCFG");
       for($i=0; $i<count($file); $i++) {
          preg_match("/$server/", trim($file[$i]), $find);
          if (isset($find[0])) {
             $zeile = "$file[$i]";
             $CDPORT = trim(substr(strrchr($zeile, "="), 1));
             if (isset($zeile[0]) AND $zeile[0]=='#') { $CDPORT = "20248"; }
          }
          preg_match("/$info/", trim($file[$i]), $find);
          if (isset($find[0])) {
             $zeile2 = "$file[$i]";
             $CDWEB = trim(substr(strrchr($zeile2, ":"), 1));
             if (isset($zeile[0]) AND $zeile[0]=='#') { $CDWEB = "9080"; }
          }
       }
    }
    if(empty($CDPORT))
    $CDPORT = "20248";
    if(empty($CDWEB))
    $CDWEB = "9080";

// Edit: Wurde angepasst und richtig gestellt
@feissmaik
maxheadroom
IPC Neuling
Beiträge: 2
Registriert: So 18. Dez 2011, 10:56
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von maxheadroom »

cyberwolf hat geschrieben:hi hab ein problem hab das mal so nach der anleitung gemacht aber irgent wie klappt das bei mir nicht hab das alles so eingefügt wie es da steht und bekomme aber die buttons nicht angezeit für camd3 zu starten oder stoppen oder zu restarten kann einer bitte die anleitung mal so posten das es richtig ist weil hab schon x mal probiert aber bekomm es nicht hin bitte hilft mir mal

nano /var/www/ipc/page/control.php
Suchen nach:
Spoiler
Show
$NewCSscript = '/bin/n';
Danach dieses einfügen:
Spoiler
Show
$Camd3script = '/bin/camd3';
Benutzeravatar
jensebub
IPC Meister
Beiträge: 1133
Registriert: So 1. Mai 2011, 09:34
Been thanked: 1 time
Kontaktdaten:

Re: Camd3: IPC und Editor einbinden

Beitrag von jensebub »

maxheadroom hat geschrieben:Camd3 Webinterface über IPC Quicklinkleiste
nano /var/www/ipc/index.php
Suche nach:
Spoiler
Show
if (!empty($OSPORT) AND $OSPORT != "inaktiv") {
echo "<td ><a href='http://$_SERVER[SERVER_NAME]:$OSPORT' target='_blank' title='OScam Webinterface'<span>OScam</span></a></td><td class='trenn'>&#8226;</td>";
}
Danach einfügen:
Spoiler
Show
if (!empty($CDWEB)) {
echo "<td ><a href='http://$_SERVER[SERVER_NAME]:$CDWEB' target='_blank' title='Camd3 Webinterface'<span>Camd3</span></a></td><td class='trenn'>&#8226;</td>";
}
Hallo,

erstmal super Arbeit!

Aber eine Frage habe ich da noch, wo bekommen wir "$CDWEB" her, bisher haben wir nur den "$CDPORT"...
Der Link zum camd-wi funktioniert nicht.

Soll nicht unverschämt klingen, aber ich fühle mich mit meinen bescheidenen Kenntnissen in diesem Bereich zwar in der Lage, den Fehler zu lokalisieren, aber nicht zu beheben.

Ich danke für weitere Lösungen.

Gruß
jensebub
Gesperrt

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast