Raspberry 3 fehlende Klasse bei Aufruf des WI

  • Installation
  • Raspberry 3 fehlende Klasse bei Aufruf des WI

    Guten Tag,

    ich verzweifel momentan bei der Installation nach diesem Leitfaden
    -> rpi-controlcenter.de/index.php…installation-updated-pdf/

    An dem Punkt wo ich die install.php durchlaufen lasse und brav alles mit Return bestätige , läuft auch alles super durch.
    Daraufhin wird ja schön gesagt, ab nun sollte die Weboberfläche Einsatzbereit sein.
    Rufe ich die Seite mit "http://localhost/shc/index.php?app=shc" bekomme ich nur eine dicke Fehlermeldung. (siehe Anhang)
    ClassNotFound.JPG
    Ich hoffe jemand von euch kann mir da weiterhelfen.... :/

    Nutze einen Raspberry Pi3 mit Jessie.

    Erster Anlauf mit dem ganzen Spaß ;) Sollte ich was grundlegendes Vergessen haben, bitte ich um kurze Aufklärung vor der Steinigung ;)
  • Am besten SHC komplett entfernen.
    Anleitung ist vom Forenmitglied rmjspa.
    Hat bei mir super geklappt.

    Source Code

    1. Möchte folgendes mitteilen, vielleicht spart es jemand mal Zeit.
    2. Wenn man den Ordner shc im www ordner mit sudo rm -R shc komplett löschen möchte, bleibt der Ordner "cache" weiterhin erhalten und der SHC lässt sich damit nicht neu aufsetzen.
    3. cd /var/www
    4. sudo rm -R shc
    5. sudo reboot
    6. Erst wenn man in der "sudo nano /etc/fstab" die Zeile "tmpfs /var/www/shc/rwf/data/cache tmpfs nosuid,size=5M 0 0"
    7. aus kommentiert ist ein vollständiges löschen des SHC Ordners möglich.
    8. "sudo reboot" um die Änderungen zu übernehmen.
    9. Danach kann der SHC wieder neu aufgesetzt werden.
    Display All
    SHC bei neu aufsetzen habe ich immer nach dieser Anleitung gemacht.

    Source Code

    1. Als erstes muss ein Webserver und PHP installiert werden, ich beschreibe hier wie Apache installiert wird, lighttpd oder nginx können aber genau so verwendet werden.
    2. ~ $ sudo apt-get update
    3. ~ $ sudo apt-get upgrade -y
    4. ~ $ sudo apt-get install git-core
    5. ~ $ sudo apt-get install php5-common php5-cgi php5-cli php-apc
    6. ~ $ sudo apt-get install apache2 libapache2-mod-php5
    7. Falls Raspbian Jessie (Light) verwendet wird, muss der DocumentRoot des Webserver angepasst werden. Dazu in der Datei "sudo nano /etc/apache2/sites-available/000-default.conf" die Zeile 12 mit folgendem Eintrag ersetzen und den Webserver neu starten
    8. /var/www (/html) -----> Entfernen
    9. Dann
    10. sudo service apache2 restart
    11. 3. Installation Redis und PHPRedis
    12. Redis kann einfach aus den Paketquellen installiert werden -----> (bei Jessie).
    13. ~ $ sudo apt-get install redis-server
    14. ~ $ sudo apt-get install php5-redis
    15. PHPRedis muss von GitHub geholt und kompiliert werden -----> (nur bei Wheezy).
    16. ~ $ sudo apt-get install php5-dev -----> (nur bei Wheezy).
    17. ~ $ cd /opt -----> (nur bei Wheezy).
    18. /opt $ sudo git clone https://github.com/phpredis/phpredis.git -----> (nur bei Wheezy).
    19. /opt $ cd phpredis/ -----> (nur bei Wheezy).
    20. /opt/phpredis $ sudo phpize -----> (nur bei Wheezy).
    21. /opt/phpredis $ sudo ./configure -----> (nur bei Wheezy).
    22. /opt/phpredis $ sudo make && sudo make install -----> (nur bei Wheezy).
    23. /opt/phpredis $ sudo touch /etc/php5/conf.d/500-redis.ini -----> (nur bei Wheezy).
    24. /opt/phpredis $ sudo chmod 0777 /etc/php5/conf.d/500-redis.ini -----> (nur bei Wheezy).
    25. /opt/phpredis $ echo "extension=redis.so" >> /etc/php5/conf.d/500-redis.ini -----> (nur bei Wheezy).
    26. 4. SHC und PCC Installation
    27. Das SHC kann einfach in der aktuellsten Version von GitHub geholt werden und muss dann nur noch installiert werden.
    28. ~ & cd /var/www
    29. /var/www $ sudo git clone https://github.com/agent4788/SHC_Framework
    30. /var/www $ sudo mv SHC_Framework/ shc/
    31. /var/www $ cd shc/
    32. /var/www $ sudo git pull origin testing -----> (nur bei Testing Version ausführen)
    33. /var/www/shc $ sudo chmod 0777 -R ./
    34. /var/www/shc $ php install.php
    35. (falls "Could not open input file: install.php" dann Ramdisk deaktievieren mit # und Reboot )
    36. 127.0.0.1
    37. 1
    38. 1
    39. nix
    40. soll SHC=ja
    41. soll PCC=ja
    42. /var/www/shc $ sudo chmod 0777 -R ./
    43. Während der Installation wird nach und nach gefragt welche APPs installiert werden sollen. Nach diesen Schritten ist die Weboberfläche einsatzbereit und sollte unter http://192.168.xxx.xxx/shc?app=shc erreichbar sein.
    44. 5. Temp Ordner als Ramdisk konfigurieren
    45. Um die Anwendung zu beschleunigen und die SD Karte vor unnötig vielen Schreibzugriffen zu verschonen empfehle ich den Cache in eine Ramdisk zu verlegen. D.h. das ist ein kleiner Speicherbereich im Arbeitsspeicher der sehr schnell les- und schreibbar ist und dem sehr viele schreibvorgänge nichts aus machen. Damit Linux die Ramdisk beim starten des Raspberry Pi erstellt, muss folgende Zeile in die /etc/fstab Datei eingetragen mit"sudo nano /etc/fstab" werden:
    46. tmpfs /var/www/shc/rwf/data/cache tmpfs nosuid,size=5M 0 0
    47. Wichtig: DIe letzte Zeile der Datei muss eine Leerzeile sein! Nach einem Neustart des Raspberry Pi ist nun alles für die Installation des SHC vorbereitet.
    48. 6. Sheduler konfigurieren
    49. Nachdem die Weboberfläche läuft ist es an der Zeit die wichtigsten Dienste zu installieren/konfigurieren. Im ersten Schritt wird der Sheduler Deamon benötigt, dieser sorgt für die Zeitschaltfunktionen, aktualisiert die Daten von Eingängen und Benutzern zu Hause. Dieser Dienst sollte immer laufen und kann auch nur in der Hauptinstallation genutzt werden. Der Sheduler muss zuerst konfiguriert werden:
    50. /var/www/shc $ php index.php app=shc -sh -c
    51. 10
    52. 2
    53. danach kann er mit folgendem Befehl zum Test gestartet werden:
    54. /var/www/shc $ php index.php app=shc -sh
    55. Erscheint nicht innerhalb von ca. 2 Minuten eine Fehlermeldung ist der Dienst lauffähig und der Testlauf kann mit STRG + C abgebrochen werden.
    56. 7. Schaltserver konfigurieren
    57. Der zweite wichtige Dienst ist der Schaltserver, dieser sendet die 433MHz Befehle, schreibt und liest die GPIO's des Raspberry Pi. Dieser Dienst kann auf dem Raspberry Pi mit der Hauptinstallation laufen, kann aber auch auf einem separaten Raspberry Pi laufen. Im SHC können auch mehrere Schaltserver genutzt werden. Für die Standardinstallation wird hier die Installation auf dem Raspberry Pi mit der Hauptinstallation beschrieben.
    58. Als erstes sollte der Schaltserver mit folgendem Befehl konfiguriert werden:
    59. /var/www/shc $ php index.php app=shc -ss -c
    60. 192.168.xxx.xxx
    61. 9274
    62. 11
    63. ja
    64. ja
    65. ja
    66. Die Serveradresse und der Port können bei der Standardeinstellung '127.0.0.1:9273' belassen werden. Die folgenden Einstellungen richten die Möglichkeiten des Schaltservers ein 433MHz Befehle zu senden, GPIOs zu lesen und/oder zu schreiben.
    67. 8. Wiringpi und Rcswitch-pi installieren
    68. Wiringpi wird für das Lesen und/oder Schreiben von GPIOs, sowie das senden der 433MHz Befehle benötigt.
    69. /var/www/shc $ cd ~
    70. ~ $ git clone git://git.drogon.net/wiringPi
    71. ~ $ cd wiringPi
    72. ~ $ git pull origin
    73. ~ $ ./build
    74. Rcswitch-pi sendet die 433MHz Befehle und wird wie folgt installiert:
    75. ~ $ cd /opt
    76. /opt $ sudo git clone https://github.com/r10r/rcswitch-pi.git
    77. /opt $ cd rcswitch-pi
    78. /opt/rcswitch-pi $ sudo make
    79. 8.1 Pilight konfigurieren
    80. ~# sudo -i
    81. ~# nano /etc/apt/sources.list
    82. „deb http://apt.pilight.org/ stable main “ << am Ende der Datei Einfügen.
    83. ~# wget -O - http://apt.pilight.org/pilight.key | apt-key add -
    84. ~# apt-get update
    85. ~# apt-get install pilight
    86. Pilight Webserver disable
    87. Zusätzlich kann in der "sudo nano /etc/pilight/config.json" Datei die Weboberfläche von Pilight deaktiviert werden, dieser wird vom SHC geliefert.
    88. "webserver-­-enable": 0"
    89. 9. sudoers Datei einrichten
    90. Welche Anpassungen an der sudoers Datei nötig sind, ist in dem Artikel sudoers Datei anpassen beschrieben.
    91. sudo visudo
    92. in die datei am Ende einfügen
    93. www-data ALL = NOPASSWD: /opt/rcswitch-pi/send
    94. www-data ALL = NOPASSWD: /usr/local/bin/pilight-send
    95. www-data ALL = NOPASSWD: /sbin/reboot, /sbin/halt
    96. www-data ALL = NOPASSWD: /var/www/shc/shc/lib/external/python/dht.py
    97. www-data ALL = NOPASSWD: /var/www/shc/shc/lib/external/python/bmp.py
    98. 10. Autostart einrichten
    99. Ist alles entsprechend installiert sollte man kurz testen ob der Dienst Fehlerfrei startet. Dies macht man wie folgt:
    100. ~ $ cd /var/www/shc
    101. /var/www/shc $ php index.php app=shc -ss
    102. Darauf hin sollte eine grün hinterlegte Meldung erscheinen die besagt das der Server läuft. Erscheint eine Fehlermeldung muss diese zuerst behoben werden.
    103. Ist alles erfolgreich installiert und auch der Test erfolgreich durchlaufen, kann der Autostart wie folgt eingerichtet werden:
    104. /var/www/shc $ sudo mv shcd.sh /etc/init.d/shcd
    105. /var/www/shc $ sudo update-rc.d shcd defaults
    106. 11. Sensorsender installieren:
    107. cd /var/www/shc
    108. /var/www/shc $ sudo chmod 0777 -R ./
    109. /var/www/shc $ php index.php app=shc -st -c
    110. ja
    111. 127.0.0.1
    112. 80
    113. ID 10
    114. Status Led 10
    Display All
    Kann besser Hardware als Software !
  • Moin,
    ich habe SHC heute auch frisch installiert und habe das selbe Problem wie Clemesson.
    Die Installation ist ohne Probleme verlaufen. Allerdings passiert einfach nichts, wenn ich auf den "anmelden"-Button klicke.

    Hier noch ein paar Daten zur Betriebsumgebung:
    • Raspberry Pi 2 B+
    • Debian 8 (Jessie)
    Ich habe SHC auch schon mehrfach neu installiert, an fehlenden Datein aus dem Git-Repo kann es also auch nicht liegen..

    Vielen Dank schonmal!
    Gruß, FlintGames