SSH für PHP einrichten

Um mein Control Center benutzen zu können, wird SSH für PHP empfohlen bzw. benötigt. Hier möchte ich dir nun in einem kleinen und kurzen Beitrag zeigen, wie schnell man SSH für PHP und somit auch fürs Control Center installieren kann.

Damit SSH für PHP installiert werden kann, ist natürlich PHP selbst dringend Notwendig. In diesem Beitrag erkläre ich, wie man PHP auf dem Raspberry Pi bzw. Linux-Distributionen installieren kann.

Installation

Als erstes empfehle ich wieder, alle Pakete auf dem neusten Stand zu bringen. Dies tun wir über den Befehl:

sudo apt-get update

Nachdem dies erledigt ist, können wir SSH installieren. Zunächst führst du

sudo apt-get install libssh2-1-dev libssh2-php

aus. Damit laden wir SSH herunter und installieren des sogleich. Über den nächsten Befehl richten wir SSH für PHP ein:

sudo php -m |grep ssh2

Nach dem dies ebenfalls erledigt ist, können wir den Service für Apache und PHP neustarten, damit SSH auch wirksam wird.

sudo service apache2 restart
sudo /etc/init.d/php5-fpm restart

Nun sollte auch SSH für PHP laufen und mein Control Center ebenfalls.

35 Gedanken zu „SSH für PHP einrichten“

  1. Hallo,
    ist das auch der Weg für lighttpd (natülich mit entsprechendem restart-Befehl), ich bekomme keine Verbindung zu der App.

    1. Hallo av-guru,

      die Anleitung bezieht sich auf PHP, von daher ist der eigentliche Webserver erstmal egal. Aber dennoch müssen Lighttpd und PHP kommunizieren können, sofern das noch nicht geschieht. Dazu muss die Datei „/etc/lighttpd/lighttpd.conf“ geöffnet werden.
      Im Abschnitt „server.modules =“ muss die Zeile

      "mod_fastcgi"

      hinzugefügt werden. Ans Ende der Datei kommt noch folgendes:

      fastcgi.server = ( ".php" => (( 
                          "bin-path" => "/usr/bin/php-cgi",
                          "socket" => "/tmp/php.sock" 
                      )))
      

      Ich hoffe, ich konnte dir weiter helfen.

      Gruß
      Willy

      1. Danke für deine Hilfe, aber lihttpd und PHP arbeiten bei mir schon zusammen. Bei deinen vorgeschlagenen Ergänzungen gibts daher auch eine Fehlermeldung: Duplicate config variable in conditional 0 global: fastcgi.server 2014-06-28 15:31:46: (configfile.c.951) source: /etc/lighttpd/lighttpd.conf line: 34 pos: 3 parser failed somehow near here: )
        Sorry, ist übrigens mein Fehler, ich hab mich falsch ausgedrückt und es gehört in eine andere Rubrik: Picontrol läuft bei mir, ich kann nur keine Verbindung über die Android-App aufnehmen.

      2. Hallo av-guru,

        hast du bei der Installation auch den root-Benutzer gewählt? Welche Fehlermeldung bekommst du bei der App?
        Der komplette Pfad muss in der App angegeben werden. Wenn das Pi Control im Browser z. B. unter „http://192.168.1.30/rpi/“ erreichbar ist, muss diese Adresse auch in der App genommen werden.

        Gruß
        Willy

      3. jaja, alles mit root. Ich bin im WLAN über meinen Rechner mit http://xxx.xxx.x.xxx/picontrol/ einwandfrei verbunden. Die gleiche Adresse gebe ich in die APP ein und es erscheint die Standardmeldung“Leider hat die Anfrage kein Ergebnis geliefert. Vergewissere dich…“.
        Mit dem Chrome-Browser klappt es auch übers Handy, nur nicht mit der APP.

      4. Vier Dinge die mir jetzt einfallen sind erstens du hast das „Slash“ am Ende vergessen, du benutzt eine alte Pi Control Version, die Datei „http://xxx.xxx.x.xxx/picontrol/includes/android/appcheck.php“ ist nicht vorhanden bzw. durch deinen Webserver geschützt oder du benutzt kein Raspian auf deinem Pi.

        Gruß
        Willy

    1. Dann wird es wohl an der App liegen, aber leider weiß ich jetzt auch nicht mehr weiter. 🙁
      Ich arbeite gerade aber an Version 1.0, welche Responsiv ist und somit auch auf Mobilgeräten besser funktioniert.
      Die App werde ich dann im Anschluss neu machen.

      Gruß
      Willy

  2. Trotzdem Danke für die Mühe.
    Kann man noch Wünsche anmelden? Schön wäre, wenn man aus dem Picontrol bash!-Scripte anstossen könnte z.B. für ein Backup. Manchmal passt es manuell besser als über einen Cronjob.
    Schönen Sonntag und Grüsse
    Dirk

  3. Moin Willy,

    ich habe Nginx installiert und SSH eingerichtet.
    Nach Eingabe von „sudo php -m |grep ssh2“ erschien erst folgende Meldung:
    PHP Deprecated: Comments starting with ‚#‘ are deprecated in /etc/php5/cli/conf.d/ming.ini on line 1 in Unknown on line 0

    Nach kurzer Recherche fand ich heraus, dass ich ein ‚;‘ statt eines ‚#‘ als Kommentarzeichen verwenden muss. Danach funktionierte der Befehl.
    Im Installationsfenster von PI Control steht aber nach wie vor, dass SSH nicht unterstützt wird. Hast Du einen Tipp für mich, woran es liegen könnte?

    Gruß
    Frank

      1. boah… daran lag es… -.-
        Peinlich.

        Jedoch kann ich das gerade nicht ganz nachvollziehen. Ich habe sogar /etc/init.d/nginx stop und anschliessend start verwendet. Ist das kein vollständiges beendet und starten des Servers? Dann muss da ja noch irgendwas im Hintergrund weiter laufen.

      2. Der PHP-Service muss auch neu gestartet werden. Denn SSH läuft ja über PHP und nicht direkt über Nginx.

        Gruß
        Willy

  4. Hallo Willy,

    vielen Dank für die Anleitung, jedoch war es mir nicht möglich die ‚Unterstützung SSH‘ nach der Einrichtung von PI Control starten.

    Erst als ich ’sudo /etc/init.d/php5-fpm restart‘ ausgeführt habe, wurde die SSH Einrichtung korrekt erkannt. Könntest du dies bei der oben genannten Installation mit hinterlegen?

    Danke Hamster

  5. Weiss jemand wie ich das php-ssh Paket unter Arch Linux installiert bekomme?
    Finde kein passendes Paket und es ist ja eine Pflicht-Anforderung.

    1. Hallo Christian,
      ich muss dich leider ent­täu­schen. Das Pi Control wird nicht richtig unter Arch-Linux funktionieren.
      Ich habe es bisher nur für Raspian entwickelt.

      Gruß
      Willy

  6. Hallo,

    ich habe alles soweit eingerichtet und bin nun dabei Pi Control über den Browser zu Installieren.

    Auf der ersten Seite ist alles grün. Aber sobald ich meinen Root daten eingebe bekomme ich diesen Fehler:

    Verbindung zum Raspberry Pi war nicht erfolgreich!

    Bitte überprüfe die eingegebenen Daten. Schlägt ein erneuter Versuch mit korrekten Daten fehl, wende dich bitte an mich, ich werde dir so schnell wie möglich weiterhelfen.

    Port:22
    Name: root
    PW: PW

    per putty kann ich mich mit diesen Daten Problemlos einloggen.

    ich glaube ich bräuchte Hilfe ;=)

    lg

      1. Hi,

        danke für die Hilfe.

        Aber leider hat das noch nix gebracht. Er schafft es einfach nicht aus dem Browser per ssh zuzugreifen.

        Hast du noch eine Idee?

        lg

      2. Warning: ssh2_connect(): Unable to connect to 192.168.178.72 on port 22 in /var/www/picontrol/install/resources/content/install_connection.php on line 12

        Warning: ssh2_connect(): Unable to connect to 192.168.178.72 in /var/www/picontrol/install/resources/content/install_connection.php on line 12

        Warning: ssh2_auth_password() expects parameter 1 to be resource, boolean given in /var/www/picontrol/install/resources/content/install_connection.php on line 13

      3. Stimmt der Port? Denn am Benutzernamen oder Passwort liegt es im Moment noch nicht, der Fehler tritt bereits beim Verbindungsaufbau auf. Bitte schau mal in die „/etc/network/interfaces“, ob dort die Einträge
        auto lo
        iface lo inet loopback

        vorhanden sind.

        Gruß
        Willy

  7. Hi,

    Danke, danke.
    Das war es.

    In „/etc/network/interfaces“ stand nichts drinne.

    Ich habe die 2 Zeilen eingefügt, neu gestartet und siehe da.

    Danke Danke, es fünktioniert.

    Lg

  8. Ich habe ein Problem wenn ich sudo php -m |grep ssh2 eingebe dann kommt immer die Fehlermeldung sudo: php: command not found. Was mache ich falsch. Als Server habe ich lighttpd.

  9. Ich weiß nicht was ich falsch mache, aber wenn ich im Browser http://raspberrypi/mm/ eingebe dann kommt diese Fehlermeldung:

    <php
    (include_once realpath(dirname(__FILE__)).’/resources/main_config.php‘) or die(‚Fehler beim Laden der Seite. Konnte Konfigurationen nicht laden. Fehlercode: 0x0000‘);
    […]
    ?>

  10. Hallo Willy,
    Mann ist ja wohl ober affen geil / gut dein Programm / APP
    Voll den Hut ab für Sowas mach blos weiter so !

    Gruß
    Zetzi

  11. nAbend,

    ich hab ein kleines Problemchen. Ich versuche Pi Conrol 2.1 zu installieren und er sagt mir bei der Installation, die PHP5-SSH2 ist nicht installiert…finde ich auch nicht bei Debian Stretch. Ich habe dann PHP-SSH2 installiert, aber hat es auch nichts gebracht. Alle anderen Voraussetzungen sind erfüllt.

    Raspberry 3
    Raspbian Stretch (außer Music Player mpd/mpc unverbastelt)
    Lighttpd

    bis denne

  12. guten morgen.
    Erst mal, weil ich weis, dass hört man als Programmierer leider zu selten, Sehr gute arbeit, diese app hat mir schon einige male geholfen und google-abfragen gespart, ich brauchte z.B.: keinen Netzwerk monitor mehr und die Auslastungsanzeigen (CPU, Arbeitsspeicher) ist auch ganz schön.
    So, jetzt aber zu meiner Frage, ich weis das es für Arch noch keinen Support gibt, ich würde es aber gerne trotzdem ausprobieren und debuggen, könnte auch gerne am ende schreiben, welche anpassungen am Arch-system nötig waren, um die Instalation zu schaffen.
    Gibt es eine Liste, oder könntest du (ich offe darf du sagen, wegen Willi habe ich darauf geschlossen. ) mir eine liste geben, wo die erforderlichen programme gelistet sind, damit ich durch die Einrichtung komme? ich weis, es fehlt schon mal php-ssh, da hab ich jetzt die Quelle, aber es wäre einfacher, alle programme die benötigt werden direkt zu instalieren, anstatt sie nach und nach durch nicht funktionieren im debugging-modus wenn der überhaupt überall zur verfügung steht selber zusammenzusuchen.

  13. Hallo Willy,

    mir geht es wie Frank, auch bei mir schreibt mir die Installationsseite von PiC dass SSH2 nicht installiert ist.
    Ich habe bereits alle (hoffentlich) von dir vorgeschlagenen Schritte ausprobiert.
    Mein Pi ist ein 3/B mit Stretch

    Bin jetzt noch mal die Schritte der Installationsseite durchgegangen, hat sich nix geändert

    Liebe Grüße
    Anton

  14. picontrol installaion funktioniert einfach nicht. ich bekomme immer:

    Paket libssh2-php ist nicht verfügbar, wird aber von einem anderen Paket
    referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
    wurde oder nur aus einer anderen Quelle verfügbar ist.
    Doch die folgenden Pakete ersetzen es:
    php-ssh2

    E: Für Paket »libssh2-php« existiert kein Installationskandidat.

    was machen????

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert