Simple Raspberry Pi Digital Signage

Was ich hatte:

  1. Lenco TFT-1026 25,5 cm (10,1 Zoll) Fernseher (DVB-T Tuner)
  2. Raspberry Pi 3 Model B

1. System vorbereiten

Als erstes kopiert Ihr das Raspbian Image  mit dem Programm Etcher auf die SD Karte und verschafft Euch Zugang zu Eurem Raspberry Pi.
Wenn Ihr soweit seid, kann es weitergehen.

2. System updaten

Als erstes muss das System auf den neusten Stand gebracht werden. Dazu gebt Ihr folgende Befehle ein.

sudo apt-get update
sudo apt-get upgrade

Jetzt kann mit der Installation des Webservers begonnen werden.

3. Apache2 installieren

Der Apache Server ist einer der meistgenutzten Webserver im Internet und ist Quelloffen, es entstehen somit keine Kosten für die Nutzung.

Um den Apache2 Webserver zu installieren gebt Ihr folgenden Befehl ein:

sudo apt-get install apache2 -y

Das „-y“ bewirkt, dass alle weiteren Fragen automatisch mit „Yes“ beantwortet werden. Wenn die Installation erfolgreich durchgelaufen ist, könnt Ihr bereits auf den Webserver zugreifen. Gebt einfach die IP Adresse des Raspberry Pi im Browser ein. Jetzt sollte folgendes Bild erscheinen.

apache2

4. MySQL/MariaDB installieren

Bei MySQL handelt es sich um eine Datenbank, welche für moderne Webanwendungen benutzt wird. CMS (Content Management Systeme) wie z.B WordPress arbeiten mit einer Datenbank, also ist die Installation für uns ein muss. Um MySQL zu installieren gebt Ihr folgenden Befehl ein:

sudo apt-get install mysql-server mysql-client -y

Nach der Installation von MySQL muss die Konfiguration ausgeführt werden:

sudo mysql_secure_installation

mysql-config1

Da bisher kein Passwort vergeben ist, mit Enter bestätigen. Danach sind noch folgende Fragen zu beantworten:

  • Set root password? [Y/n]
    • hier mit y + Enter um ein neues Passwort zu setzten.
  • Remove anonymous users? [Y/n]
    • hier entfernen wir die Anonymen User mit y + Enter
  • Disallow root login remotely? [Y/n]
    • diese Frage beantworten wir mit n + Enter
  • Remove test database and access to it? [Y/n]
    • diese Frage beantworten auch wir mit n + Enter
  • Reload privilege tables now? [Y/n]
    • diese Frage beantworten wir mit y+Enter, damit meine Änderungen direkt aktiv werden.

5. PHP installieren

PHP ist eine Skriptsprache die hauptsächlich zur Erstellung von dynamischen Webseiten und Webanwendungen benutzt wird. Wenn Ihr mit dem Webserver also mehr als nur HTML Code anzeigen lassen wollt, ist auch PHP ein muss.

PHP ist mittlerweile in der Version 7 verfügbar. Mit folgendem Befehl wird PHP installiert:

sudo apt-get install php php-mysql -y

Um nun zu prüfen ob die PHP Installation erfolgreich war und um die PHP Informationen anzeigen zu lassen, erstellt Ihr im Verzeichnis /var/www/html/ eine neue Datei und benennt diese „phpinfo.php“. Das macht Ihr wie folgt:

sudo nano /var/www/html/phpinfo.php

Der Inhalt der Datei sieht folgendermaßen aus:

<?php
 phpinfo();
?>

Jetzt muss die Datei noch mit Strg+x, y und Enter abgespeichert werden.
Um die PHP Informationen anzeigen zu lassen, gebt Ihr nun die IP Adresse des Pi in den Browser ein und ruft die gerade erstellte Datei phpinfo.php auf.
Bei mir sieht das so aus: 192.168.178.78/phpinfo.php

Der Aufruf erzeugt folgendes Bild:

phpinfo

6. phpMyAdmin installieren

Zur einfachen Verwaltung der MySQL Datenbank sollte jetzt noch phpMyAdmin installiert werden. Mit dem Tool können einzelne Datenbanken angelegt und Werte in bestimmte Zellen der Datenbank geschrieben werden. Somit ein komfortables Administrations Tool für Datenbanken.

Die Installation wird mit folgendem Befehl gestartet:

sudo apt-get install phpmyadmin -y

Während der Installation werden einige Fragen gestellt. Wir möchten phpMyAdmin für den Apache2 Webserver konfigurieren. Somit wird das „*“ wird mit der Leertaste gesetzt, dann auf „OK“ und mit Enter bestätigt.

phpmyadmin1

Auch die nächste Frage wird mit „Ja“ beantwortet.

phpmyadmin2

Jetzt wird man aufgefordert ein Passwort zu vergeben. Hier sollte das gleiche Passwort wie bei der MySQL Installation benutzt werden.

Als nächstes muss phpMyAdmin konfiguriert werden. Die Konfiguration startet Ihr mit folgendem Befehl:

sudo dpkg-reconfigure phpmyadmin

Jetzt werdet Ihr gefragt ob Ihr phpMy Admin neu konfigurieren möchtet. Hier antwortet Ihr mit „Ja“.

Ihr solltet phpMyAdmin wie oben zu sehen ist konfigurieren. Hier die Eingaben pro Screen:

  • TCP/IP
  • localhost
  • 3306
  • phpmyadmin
  • root@localhost
  • Passwort
  • Passwort
  • root
  • apache2

Das ganze endet beim ersten mal mit einem Fehler, hier muss der Schritt noch einmal mit den gleichen Einstellungen wiederholt werden „Wiederholen (Fragen überspringen)“.

phpmyadmin14

Danach läuft alles erfolgreich durch. Jetzt ist es möglich auf phpMyAdmin zuzugreifen und sich einzuloggen.
IP-Adresse/phpmyadmin in den Browser eingeben. Bei mir sieht das dann so aus: 192.168.178.78/phpmyadmin/

Benutzername: root
Passwort: Euer eben vergebenes Passwort

7. FTP einrichten

Um komfortabel die Dateien auf den Webserver zu transferieren muss im letzten Schritt der Installation ein FTP Programm (File Transfer Protokoll) auf dem Webserver installiert und konfiguriert werden. Nach der Installation können Dateien bequem mit einem FTP Programm (z.B. FileZilla) von Eurem Rechner auf den Webserver kopiert werden. Das Programm wird mit folgendem Befehl installiert:

sudo apt-get install proftpd -y

Wenn die Installation durchgelaufen ist, muss im nächsten Schritt ein User eingerichtet werden. Es wird ein sogenannter virtueller User angelegt, welcher nur über FTP Dateien hochladen darf und keine weiteren Rechte besitzt, wie z.B. über SSH auf das System zuzugreifen. Um den User anzulegen, muss die Konfigurationsdatei von proftpd erweitert werden. Das macht Ihr mit folgendem Befehl:

sudo nano /etc/proftpd/proftpd.conf

Dann wird folgender Code am Ende des bereits vorhandenen Codes eingefügt.

DefaultRoot ~
AuthOrder mod_auth_file.c mod_auth_unix.c
AuthUserFile /etc/proftpd/ftpd.passwd
AuthPAM off
RequireValidShell off

Jetzt muss die Datei noch mit Strg+x, y und Enter abgespeichert werden. Danach wechselt ihr in das proftpd Verzeichnis mit

cd /etc/proftpd/

und legt mit folgendem Befehl einen neuen Benutzer an. Bei „Benutzername“ Euren gewünschten Benutzernamen verwenden.

sudo ftpasswd --passwd --name Benutzername --uid 33 --gid 33 --home /var/www/ --shell /bin/false

User ID 33 ist die ID des „www-data“ Users, also keine andere ID eintragen. Jetzt müssen dem User noch die Dateirechte vergeben werden. Dazu gebt ihr die folgenden 3 Befehle ein

sudo chmod g+s /var/www
sudo chmod 775 /var/www
sudo chown -R www-data:www-data /var/www

Der Raspberry Pi als Webserver ist jetzt fertig eingerichtet und muss neu gestartet werden. Dazu folgenden Befehl eingeben:

sudo reboot now

8. Funktion prüfen

Nach dem Neustart des Raspberry Pi, könnt Ihr die Funktion des Webservers wie folgt prüfen (ihr müsst natürlich Eure IP-Adresse benutzen):

  • Apache2: 192.168.178.78
  • PHP: 192.168.178.78/phpinfo.php
  • phpMyAdmin: 192.168.178.78/phpmyadmin
  • FTP: FTP Programm runterladen (FileZilla) und die oben konfigurierten Daten eingeben und auf „Verbinden“ klicken.

filezilla-2018-03-10-11-11-57

Quelle: Michael 

9. Browser nach Systemstart im Fullscreen starten!

Installation der benötigten Pakete

sudo apt-get install chromium-browser
sudo apt-get install unclutter

Letzteres Paket erlaubt es die Maus auzublenden.

Aktivieren des Vollbildmodus

Dieser lässt sich mit wenigen Anpassungen und einem Installalierten Chromium Browser realisieren.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart
# Bildschirmschoner deaktivieren
#@xscreensaver -no-splash  
@xset s off
@xset -dpms
@xset s noblank

# lädt Chromium im Vollbild bei einem Neustart
@chromium-browser --incognito --kiosk https://localhost/  

Mauszeiger ausblenden

Die bestehende Datei muss lediglich um einen weiteren Befehl erweitert werden.

sudo nano /home/pi/.config/lxsession/LXDE-pi/autostart Und Folgendes einfügen

 

@lxpanel -profile LXDE-pi
@pcmanfm -desktop -profile LXDE-pi
@xscreensaver -no-splash
@point-rpi
@unclutter
@xset s off
@xset -dpms
@xset s noblank

# lädt Chromium im Vollbild bei einem Neustart
@chromium-browser -incognito -kiosk http://localhost/

Fazit

Es gibt mehrere Digital Signage Lösungen, klar, was mich aber gestört hat, entweder muss man Ordentlich blechen oder OpenSource Version benutzen, die aber leider sehr eingeschränkt sind.

Hier paar Bilder, von Simplen Raspberry Digital Signage.

20180525_220933

20180525_221016.jpg

20180525_221024.jpg

20180525_220950

20180525_221000

 

Hier ist die BeispielDatei zum runterladen:

Digital-Signage

per FTP /var/www/html/  hochladen!

Advertisements
Dieser Beitrag wurde unter Allgemein veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden /  Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden /  Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden /  Ändern )

w

Verbinde mit %s