Headless Raspberry Pi 3B+ als "All-in-one-Maschine"

Kernel, Tools, Software, Distributionen, Installation, Treiber, Einstellungen

Moderatoren: coolmann, chillmensch, Xploder270, schmidtsmikey, Yurrderi

Joyrider
Beiträge: 4570
Registriert: 27.09.2006, 08:45

Headless Raspberry Pi 3B+ als "All-in-one-Maschine"

Beitragvon Joyrider » 24.10.2018, 16:41

Im folgenden findet ihr ein Tutorial zur Einrichtung eines Raspberry Pi 3B+ für verschiedene Zwecke und als Headless (kein Monitor, Maus, Tastatur)-"Alleskönner".

Vorab: Ich verzichte bewusst auf Links und gebe nur die Vorlagen wo man die jeweils benötigten Downloads findet.

Ich beschreibe in diesem Tutorial die Grundeinrichtung des Pi inklusive der Zusatzdienste. Damit ist ein Arbeiten mit dem Pi und den genannten Anwendungsbereichen möglich.
Für alles hier gilt: Wenn der Pi von außen erreichbar sein soll, dann sichert das Ding bitte entsprechend ab. Das hier beschriebene Tutorial ist nur für den Gebrauch im heimischen Netzwerk gedacht und bietet 0 Sicherheit!


Was wird der Pi am Ende können oder ermöglichen?
Zugriff auf den Desktop via RDP (XRDP).
DNS-Server mit Adblock-Filterung (PI-HOLE).
FTP-Server und SMB-Server (VSFTPD und SAMBA).
Streaming-Server im Heimnetz (MINIDLNA).
Download-Maschine (JDOWNLOADER).


Meine Konfiguration:
Raspberry Pi 3B+ mit einer 128GB microSD-Speicherkarte (mindestens 16GB solltet ihr dem Pi minimal gönnen).
Das Netzwerkkabel ist am Pi angeschlossen und ich habe für den Pi im Router eine IP-Adresse im DHCP reserviert.
Basis-System mit dem ich arbeite: Windows 10 1803.


Was benötigen wir?
1.) Die aktuelle Raspbian inklusive Desktop. KEIN LITE.
Herunterladbar bei raspberry org unter Downloads.
Anschließend die ZIP-Datei entpacken.

2.) Ein Flash-Tool, um das Image auf die Speicherkarte zu bekommen.
Ich habe hierfür Etcher genutzt, herunterladbar bei etcher io.
Alternativ tut es auch der Win32 Disk Imager, herunterladbar bei sourceforge net.

3.) Ein Tool um mit SSH auf den Pi zugreifen zu können.
In Windows bietet sich dafür unter anderem PuTTY (putty org) an.

4.) Ein bischen Lust und Zeit und ein gewisses Grundverständnis in Linux.
Zumindest sollten keine Berühungsängste vorhanden sein.


Los gehts (Die microSD ist geflasht, die Speicherkarte ist im Pi):
1.) An dieser Stelle sollte der Pi laufen und die LEDs sollten in rot und gelb aufleuchten.
Ist hier etwas anders: Karte nochmal flashen.

2.) Der Pi läuft, wir haben allerdings keinen Zugriff auf die Maschine, da standardmäßig kein SSH aktiv ist und wir keine Geräte am Pi angeschlossen haben.
Spätestens hier muss entsprechend auch das Netzwerkkabel angeschlossen UND die IP des PI bekannt sein.

3.) Stromkabel vom Pi abziehen und die microSD-Karte nochmal an das Windows-Gerät hängen.
Der SSH-Zugriff muss erst aktiviert werden, dies geschiet durch das einfache erstellen einer Datei namens "ssh" ohne Inhalt auf der Boot-Partition des Pi.
Windows-Taste + R --> cmd --> X: (X mit dem Laufwerksbuchstaben der microsd ersetzen) --> type NUL > ssh
Die Datei wird nach dem nächsten Boot vom Pi erkannt, der SSH-Dienst wird aktiviert und anschließend wird die Datei gelöscht.

4.) Der PI läuft wieder und wir können uns nun via SSH auf den Pi verbinden.
Login mit: Pi und dem Passwort: raspberry

5.) Als erste Amtshandlung ändern wir das Passwort vom Pi-User auf ein eigenes/sicheres und erstellen ein Passwort für den Root-Benutzer.
sudo passwd pi
sudo passwd root


6.) Nun wird der Pi für die Benutzung vorbereitet und es werden die nötigen Einstellungen gesetzt.
Dies geschiet durch den Aufruf von: sudo raspi-config
Die folgenden Nummerierungen beziehen sich nun alle auf das raspi-config:
2 Hostname: Hier wird der Netzwerkname gewählt, mit dem der Pi sich melden soll.
3 Desktop/CLI: Option B4, zum Desktop booten und automatisch den Pi-User einloggen.
4 Localisation: Alle vier Optionen auf das gewünschte Land einstellen, in meinem Fall Deutschland (alle de_DE wählen, im zweiten Fenster dann de_DE-UTF-8). Bei WiFi-Layout in der linken Spalte nach DE suchen.
5 Interfacing: P3 VNC auf NO stellen.
7 Advanced Options: A1 Expand Filesystem (ja, wollen wir natürlich!). Nach diesem Schritt bitte den Pi bitte SOFORT neu starten.
8 Update: Hiermit wird raspi-config auf die aktuellste Version gebracht.

7.) Der Pi ist nun vorbereitet und wir können die gewünschten Tools in Betrieb nehmen:
Als erstes werden die Pakete auf den aktuellen Stand gebracht: sudo apt-get update && sudo apt-get upgrade


7.1) XRDP:
Installation mittels: sudo apt-get install xrdp xscreensaver
Anschließend kann bereits via RDP-Verbindung auf den Pi zugegriffen werden. In der Auswahl beim Benutzer und dem Passwort XORG auswählen.
Der XScreensaver ist optional, jedoch empfohlen, damit der Bildschirmschoner eingerichtet oder eben auch deaktiviert werden kann.
Für Fortgeschrittene 1: in der /etc/xrdp/xrdp.ini am Ende sind die verschiedenen Login-Möglichkeiten. Hier können alle außer XORG entfernt werden, um einen Autologin mit den aus der RDP-Datei gespeicherten Daten zu ermöglichen.
Wichtiger Hinweis: Falls der Pi mault bezüglich "login failed for diplay 0": Das bedeutet meist, dass das gespeicherte Passwort in der RDP-Sitzung falsch ist.
Für Fortgeschrittene 2: Wenn ihr euch einen Desktop-Link zum Abmelden bauen wollt:
Für das Abmelde-Fenster (inkl. Shutdown/Reboot/usw.):

Code: Alles auswählen

[Desktop Entry]
Encoding=UTF-8
Name=Logout
Comment=Logout
Icon=stock_exit
Exec=lxsession-logout
Terminal=false
Type=Application

Direkte Abmeldung der Sitzung ohne Rückfrage:

Code: Alles auswählen

[Desktop Entry]
Encoding=UTF-8
Name=Logout
Comment=Logout
Icon=stock_exit
Exec=pkill lxsession
Terminal=false
Type=Application


7.2) PI-HOLE:
Die Installation muss als Superuser erfolgen, daher mit sudo su starten um root zu werden.
Anschließend kann Pi-Hole installiert werden: curl -sSL https://install.pi-hole.net | bash
Bei der Schnittstelle entsprechend eth0 wählen und einen DNS-Server nach Wahl vorschalten. Bei den Filterlisten habe ich alle aktiviert. Er soll auf IPV4 und IPV6 arbeiten und das Web-Interface und der lighttpd-Server sollen auf jeden Fall mit installiert werden. Queries loggen ist optional, ich habe es bei mir deaktiviert.
Das Admin-Passwort von Pi-Hole sollte direkt geändert werden, damit es einfacher zu merken ist: pihole -a -p

7.3.1) VSFTPD:
Installation mittels: sudo apt-get install vsftpd
Anschließend mittels FTP-Client auf den Pi verbinden und testen. Z.B. mittels Windows-Explorer und ftp://192.168.1.2 (hier die IP vom Pi eintragen)

7.3.2) SAMBA:
Installation mittels: sudo apt-get install samba
Die Freigaben müssen anschließend von Hand eingerichtet werden. Da dies individuell sein wird, kann ich hierzu nur ein generelles Beispiel geben:
Editieren der Datei mittels sudo nano /etc/samba/smb.conf und den folgenden Inhalt einfügen:

Code: Alles auswählen

[Desktop]
   comment = Pi-Desktop
   path = /home/pi/Desktop
   guest ok = yes
   read only = no
   browseable = yes
   public = yes
   create mask = 0600
   directory mask = 0700
   force user = pi
Damit ist der Desktop vom Pi-User freigegeben und es können Daten da drin abgespeichert werden.

7.4) MINIDLNA:
Installation mittels: sudo apt-get install minidlna
Wie bei Samba sollten auch hier die Einstellungen angepasst werden, an sich ist das Ding jedoch schon einsatzbereit. Alle Daten die der Pi abspielen soll müssen standardmäßig nach /var/lib/minidlna kopiert werden.

7.5) JDOWNLOADER:
Zuerst installieren wir java: sudo apt-get install oracle-java8-jdk
Nun das Verzeichnis für den jDownloader erstellen und in das neu erstellte Verzeichnis wechseln: mkdir /home/pi/.jd2 && cd /home/pi/.jd2

Danach den jDownloader und ein Bild für die Desktopverknüpfung herunterladen: wget http://installer.jdownloader.org/JDownloader.jar && wget -O/home/pi/.jd2/jDownloader.png http://jdownloader.org/_media/knowledge ... loader.png

Die Desktopverknüpfung wird mit dem folgenden Befehl erstellt: nano /home/pi/Desktop/jDownloader2.desktop
Dort folgenden Inhalt einfügen:

Code: Alles auswählen

[Desktop Entry]
Encoding=UTF-8
Name=jDownloader2
Comment=jDownloader2
Exec=bash -c "java -jar /home/pi/.jd2/JDownloader.jar"
Icon=/home/pi/.jd2/jDownloader.png
Type=Application
Categories=GTK;Utility;
Speichern mit STRG-X und Yes.

Nun noch die Datei ausführbar machen: chmod +x /home/pi/Desktop/jDownloader2.desktop
Jetzt kann der jDownloader über die RDP-Sitzung gestartet werden.


7.6) OPTIONALES:
In meinem Fall habe ich noch ein paar Netzwerktools und andere nützliche Programme (wie zsh) mit installiert, einfach der Form halber:
sudo apt-get install nmap mc zsh p7zip-full screen


Ich hoffe ich konnte euch mit dieser Anleitung helfen und den Pi ein wenig näher bringen, bzw. das Leben erleichtern.

Fragen und Anregungen sind gern gesehen, vor allem wenn dieses Tutorial noch um andere Einsatzgebiete erweitert werden kann.

Benutzeravatar
Benschzilla
Beiträge: 1391
Registriert: 12.12.2003, 10:45
Wohnort: Forchheim
Kontaktdaten:

Re: Headless Raspberry Pi 3B+ als "All-in-one-Maschine"

Beitragvon Benschzilla » 27.10.2018, 11:53

Hm vielleicht sollte ich meinen Raspi mal wieder einem sinnvollen Verwendungszweck zuführen ;)! Danke für die Anleitung
AMD Ryzen 7 3700X auf ASUS Prime B350 Plus
32 GB DDR4 RAM (3200 MHz) Crucial Ballistix Dual Rank
PowerColor Red Devil RX480
1,5TB Speicher + Samsung Evo 860 mir 250GB für OS

Homeserver:
Raspberry Pi 4 mit 4GB RAM + 1TB Datengrab

Joyrider
Beiträge: 4570
Registriert: 27.09.2006, 08:45

Re: Headless Raspberry Pi 3B+ als "All-in-one-Maschine"

Beitragvon Joyrider » 30.10.2018, 19:03

Meinen alten Raspberry werd ich für RetroPie benutzen, dann kommt der auch nochmal einem guten Zweck zu Gute. :)


Zurück zu „Linux“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast