Installationsanleitung für Bookworm [ Grundlage Debian 12 Light Version ]

Installation auf einem anderen Debian Linux System

Moderatoren: Ulrich, DeBaschdi

Forumsregeln
Bitte immer im Betreff die Hardware und die Softwareversion angeben! Für jede unterschiedliche Version einen eigenen Thread! Es gibt einfach unterschiedliche Probleme bei den einzelnen Versionen.
Online
Benutzeravatar
Ulrich
Administrator
Beiträge: 6200
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 131 Mal
Danksagung erhalten: 849 Mal

Installationsanleitung für Bookworm [ Grundlage Debian 12 Light Version ]

Beitrag von Ulrich »

Letzte Bearbeitung 25.02.2024 13:00 Uhr
Bitte immer noch einmal den angehängten Script neu herunterladen, wenn man ihn benutzen möchte, da er sich oft noch ändert.

Hier ist eine Anleitung, wie man die Solaranzeige auf einem Linux (Debian 12 Bookworm Light) installieren kann.
Der Raspberry Pi 5B benötigt Debian 12 (Bookworm)! Solaranzeigen Image Version 6.0.1 oder höher.
Bitte sich möglichst genau an die Punkte halten. Manche sind entscheidend für den Erfolg. Bitte keinen Punkt überspringen, auch wenn es logischer erscheint!
Grundvoraussetzung ist ein Debian Version 12 "light" Betriebssystem. (Bookworm) Es sollte der "light Desktop" LXDE installiert werden. Mehr benötigt die Solaranzeige nicht. Dieser Desktop benötigt wenig Resourcen. Benutzt man nicht das Debian Light Image sollte man Linux Experte sein, da dann andere Programmteile schon vorinstalliert sein könnten und der Ablauf der Anleitung nicht mehr stimmen könnte.

Es wird davon ausgegangen, dass man mit root eingeloggt ist.
  1. Das neue Betriebssystem Bookworm "light" auf eine SD-Karte schreiben. Bei der Erstellung schon darauf achten, dass der Hostname "solaranzeige" ist und ein User "pi" mit Kennwort "solaranzeige" angelegt wird und dass der SSH Zugriff freigeschaltet wird. Bei dem Programm "Raspberry Pi Imager" für Windows kann das alles vor dem Schreiben eingestellt werden. (Zahnrad drücken!)
  2. Den Hostnamen auf "solaranzeige" einstellen. Datei: /etc/hostname
  3. Die Sprache auf Deutsch einstellen de_DE.UTF-8 [ raspi-config ]
  4. Timezone auf EUROPE / Berlin stellen
  5. Keybord auf Deutsche Tastatur stellen
  6. user "root" das Password "solar.2016" geben [ passwd root ]
  7. mc Editor installieren [ apt install mc ]
  8. Falls das Paket "sudo" nicht installiert ist, dann nachinstallieren. [ apt install sudo apt-utils ] (ausprobieren)
  9. ssh Server für root öffnen Datei /etc/ssh/sshd_config ändern:
    "PermitRootLogin yes"
    "AddressFamily inet"
    "UseDNS no"
  10. Folgende Pakete zuerst installieren [ apt install sysv-rc-conf avahi-daemon autossh htop cron syslog-ng lxterminal net-tools unclutter lighttpd nmap firefox-esr]
  11. Ein Desktop Installieren: Auf der Konsole "tasksel" eingeben. Im Image ist der LXDE Desktop installiert.
  12. Bei Problemen mit einem schwarzen Bildschirm folgendes Paket nachinstallieren: "gldriver-test"
  13. Auf der Konsole [ apt update ] und dann [ apt upgrade ]eingeben.
  14. Neu booten!
  15. Checkpoint! Keine Fehler aufgetreten? Der Desktop muss zu sehen und Benutzer "pi" muss eingeloggt sein. Dann weiter..
  16. Prüfen mit Eingabe "hostname" auf der Konsole ob das Gerät sich mit "solaranzeige" meldet.
  17. Einrichten, dass der Desktop automatisch startet beim Hochfahren des PC's und user "pi" automatisch sich einloggt. (mit raspi-config)
  18. In der Datei /home/pi/.config/lxsession/LXDE/autostart bitte den Inhalt ändern:
    -------------------
    @pcmanfm --desktop --profile LXDE
    @xset s off
    @xset -dpms
    @xset s noblank
    @icewease
    @firefox -kiosk http://localhost:3000
    -------------------
  19. Folgendes auf der Konsole eingeben, damit PHP 7.4 installiert werden kann: curl -sSL https://packages.sury.org/php/README.txt | bash -x apt update
  20. Folgende Pakete installieren: [apt install php7.4 php7.4-cgi php-pear php7.4-curl php7.4-gd php7.4-sqlite3 php7.4-fpm php7.4-ssh2 php7.4-dev php7.4-common php7.4-xml default-jdk]
  21. Folgende Pakete installieren: [ apt install screen expect sqlite3 hwinfo hfsutils sshpass wget lshw mbpoll samba ]
  22. Folgendes auf der Konsole ausführen:

    Code: Alles auswählen

    wget -q https://repos.influxdata.com/influxdata-archive_compat.key
  23. Folgendes auf der Konsole ausführen: [ cat influxdata-archive_compat.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg > /dev/null ]
  24. Folgendes auf der Konsole ausführen: [ echo 'deb [signed-by=/etc/apt/trusted.gpg.d/influxdata-archive_compat.gpg] https://repos.influxdata.com/debian stable main' | sudo tee /etc/apt/sources.list.d/influxdata.list ]
  25. Folgendes auf der Konsole ausführen: [ rm -f /etc/apt/trusted.gpg.d/influxdb.gpg ]
  26. Folgende Pakete installieren: [ apt update ]
  27. Folgende Pakete installieren: [ apt install influxdb ]
  28. Folgendes auf der Konsole ausführen: [ wget -q -O - https://packages.grafana.com/gpg.key | apt-key add - ]
  29. Folgendes auf der Konsole ausführen: [ curl https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana-archive-keyrings.gpg >/dev/null ]
  30. Folgendes auf der Konsole ausführen: [ echo "deb [signed-by=/usr/share/keyrings/grafana-archive-keyrings.gpg] https://apt.grafana.com stable main" | tee /etc/apt/sources.list.d/grafana.list ]
  31. Auf der Konsole [apt update ] eingeben.
  32. Folgende Pakete installieren: [ apt install grafana ]
  33. Auf der Konsole ausführen: [ systemctl enable grafana-server]
  34. Auf der Konsole ausführen: [ systemctl enable influxdb]
  35. Neu booten!
  36. Checkpoint! Es muss nach dem Booten Grafana im Kioskmode zu sehen sein. Keine Fehler aufgetreten? Dann weiter..
  37. An diesem Punkt noch nicht in Grafana einloggen. Das kommt später.
  38. Auf der Konsole [ influx ] eingeben und dann
    [ create database solaranzeige ]
    [ create database steuerung ]
    [ quit ]
    -------------------
  39. In der Datei /etc/grafana/grafana.ini folgendes ändern:
    ---------------------------------------------------------------------------
    [panels]
    # If set to true Grafana will allow script tags in text panels. Not recommended
    disable_sanitize_html = true

    #################################### Anonymous Auth ######################
    [auth.anonymous]
    enabled = true

    # Organization name that should be used for unauthenticated users
    org_name = Solaranzeige

    # Role for unauthenticated users, other valid values are `Editor` and `Admin`
    org_role = Viewer

    # Hide the Grafana version text from the footer and help tooltip for unauthenticated users (default: false)
    ;hide_version = false


    #################################### Security ####################################
    [security]
    # disable creation of admin user on first start of grafana
    ;disable_initial_admin_creation = false

    # default admin user, created on startup
    admin_user = admin

    # default admin password, can be changed before first start of grafana, or in profile settings
    admin_password = solaranzeige

    -------------------
  40. Mit "admin" und "admin" in Grafan einloggen. Dabei das Kennwort auf "solaranzeige" ändern und den Namen der Organisation auf "Solaranzeige" ( Zahnrad links -> Preferences -> Organisation )
  41. Folgende Folder in Grafana anlegen: => unter Dashboards -> + Neuer Ordner
    Heizungen
    Relais
    Wechselrichter
    Laderegler
    Batterie-Management-Systeme
    Wallboxen
    Stromzähler
    Sonstige
    -------------------
  42. In Grafana die beiden Datenbanken bekannt machen Configuration->Data sources -> Add data sources -> InfluxDB
    influxDB: solaranzeige -> Grafana: Solaranzeige
    influxDB: steuerung -> Grafana: Steuerung

    Nur in folgende Felder etwas eintragen:
    ------------------------------------------------
    Name = "Solaranzeige"
    Query language = InfluxQL
    URL = http://localhost:8086
    Database = "solaranzeige"
    HTTP Method = GET

    Alles andere so lassen wie es ist.
  43. Alle, oder die nötigen Standard Dashboards von hier importieren: viewtopic.php?t=188
    Es gibt dazu auch eine Anleitung: [ download/Grafana_und_Datenbanken.pdf ]
  44. Paket installieren: [ apt install mosquitto mosquitto-clients libmosquitto-dev ]
  45. Auf der Konsole ausführen [ pecl install mosquitto-alpha ]
  46. Eine Datei "mqtt-solaranzeige.conf" neu anlegen im Verzeichnis /etc/mosquitto/conf.d mit folgendem Inhalt:
    --------------------------------------------
    allow_anonymous true
    listener 1883
    -------------------
  47. Überprüfen mit folgenden Eingaben auf der Konsole:
    [ systemctl restart mosquitto.service ]
    [ nmap -p 1883 <IP des Raspberry> ] oder [ nmap -p 1883 localhost ]
    Der Port 1883 sollte als offen angezeigt werden.
  48. In die /etc/php/7.4/cli/php.ini folgende Einträge machen:
    "extension=mosquitto.so"
    "error_log=/var/www/log/php.log"
  49. Auf der Konsole folgendes eingeben: [ php -i ]
    In der Ausgabe muss folgendes enthalten sein:
    -------------------------------------------------------
    mosquitto
    Mosquitto support => enabled
    Compiled as dynamic module
    libmosquitto version => 2.0.11
    Extension version => 0.4.0

    pdo_sqlite
    PDO Driver for SQLite 3.x => enabled
    SQLite Library => 3.34.1
    -------------------
  50. In der Konsole eingeben: [ crontab -e ] und folgende Einträge machen:
    ----------------------------------------------------------------
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin
    MAILTO=""

    #@reboot sleep 20 && /usr/local/bin/support >/dev/null

    @reboot /var/www/html/usb_init.php >/dev/null

    * * * * * /var/www/html/regler_auslesen.php >/dev/null
    * * * * * /var/www/html/checkreboot.sh >/dev/null
    20,50 * * * * /var/www/html/wetterdaten.php >/dev/null
    * * * * * /var/www/html/mqtt_prozess.php >/dev/null
    55 23 * * * /var/www/html/wartung.php >/dev/null
    * * * * * php /var/www/html/datenanzeige.php >/dev/null
    #* * * * * /var/www/html/wallbox_steuerung.php >/dev/null
    #01 */4 * * * /var/www/html/awattar.php >/dev/null
    #* * * * * /var/www/html/automation.php >/dev/null
    #* * * * * /var/www/html/strg-control.php >/dev/null
    -------------------
  51. in der Konsole eingeben: [ sudo ./verzeichnisse-anlegen-bookworm.sh ] Der Script kann hier im Anhang heruntergeladen werden. Er muss mit den Rechten für "ausführbar" versehen werden. Unbedingt mit sudo ausführen, da man Root Rechte benötigt. Es ist wichtig, dass dieser Script durchläuft, da hier die Rechte von Dateien und Verzeichnissen eingestellt werden.
  52. Auf der Konsole [ /usr/local/bin/update ] eingeben. (Normaler Solaranzeigen update) Falls das nicht funktioniert, ist im vorherigen Schritt etwas schief gelaufen. Bitte erst kontrollieren.
  53. Folgende 2 Dateien:
    10-fastcgi.conf
    15-fastcgi-php.conf
    vom Verzeichnis "/etc/lighttpd/conf-available" in das Verzeichnis "/etc/lighttpd/conf-enabled" kopieren.
    -------------------
  54. Auf der Konsole [ apt upgrade ] eingeben
  55. Auf der Konsole [ apt autoremove ] eingeben
  56. Den Path erweitern:
    in die Datei /home/pi/.bashrc und in die Datei /root/.bashrc am Ende einfügen:

    PATH=/usr/local/bin:/solaranzeige:$PATH
    export PATH
    -------------------
  57. Neu booten!
  58. Checkpoint! Jetzt sollte man mit der "normalen" Konfiguration der Solaranzeige beginnen können, so wie es in dem Installationsdokument beschrieben ist.
  59. Wenn das Vorlesen nervt, dann: [apt remove orca ]

Jeder Punkt ist einzeln zu sehen und muss erst erfolgreich beendet werden, bevor man zum nächsten übergeht. Wird ein Punkt übersprungen, kann das unerwartete Folgen haben. Man muss ROOT Rechte für alles haben. Immer sudo dazu benutzen oder sich mit root einloggen!

Wer die Anleitung nutzt und auf Probleme bei seinem Betriebssystem stößt, bitte im Betreff immer die Hardware und das Betriebssystem angeben. Im Text sich bitte auf den Listenpunkt beziehen. Probleme sind meist Versionsabhängig.

Der Raspberry 5B hat 4 USB Steckplätze. Die beiden äußeren können noch das USB 2.0 Protokoll, alle können USB 3.0 Wenn man mit einem USB-Stick booten möchte, diesen bitte in einen der äußeren Buchsen einstecken!

Die Anleitung wird fast täglich noch verfeinert und ergänzt. Ich erwarte Euren Input. Dann bekommen wir das schon hin. Bitte den Script immer neu herunterladen, wenn man ihn benötigt! Er wird auch oft noch verändert.
Es wird aber schon klarer, warum es einfacher ist, ein fertiges Image auf eine SD-Karte zu übertragen. Die möglichen Fehlerquellen sind dabei etwas geringer.


Probleme, die bekannt sind:
  • Für PHP 8.x gibt es noch kein mosquitto-php Zusatz. Deshalb muss noch PHP 7.4 benutzt werden.
PS: Feedback: Dieses Thema ist gesperrt, bitte ein neues Thema aufmachen und im Betreff Hardware und Software Version schreiben.
Dateianhänge
verzeichnisse-anlegen-bookworm.sh
(3.17 KiB) 357-mal heruntergeladen
-----------------------------------------------------
Ulrich . . . . . . . . [ Admin ]

Zurück zu „Installation auf einem anderen Debian Betriebssystem“

Wer ist online?

Mitglieder in diesem Forum: Sonstige [Bot] und 0 Gäste