Raspberry Pi 4 als Server

Nachdem der Raspberry Pi 4 zusammengebaut wurde, installierte ich mir das Raspbarian Betriebssystem:

  • Raspbian Image herunter geladen
  • mit Win32Diskimger auf 64GB Karte geschrieben
  • micro SD Karte in Rasbberry 4 gesteckt und gestartet

Beim ersten Start des PI gelangt man in ein Setup Menu. Alternativ kann man auch über sudo raspi-config im Terminal über crtl+Alt+T die Einstellungen durchführen. Wichtig ist hier den SSH Server zu starten (Interfacing Options->SSH) Diesem hab ich folgende Punkte eingestellt. Wobei die Verbinung des Bluetooth Keyboard extra oben rechts über das bluetooth Symbol erfolget:

  • Bluetooth Keyboard verbunden
  • Keyboard Einstellungen gesetzt
  • Pi Passwort gesetzt
  • WiFi eingerichtet
  • Update ausgeführt

Logindaten:

  • Login: pi
  • Passwort: raspberry

Folgende Einstellungen wurden noch vorgenommen:

  • Raspberry-Pi-Konfiguration
    • Schnittstellen:
      • SSH – aktiviert
    • System
      • Als Benutzer Pi anmelden – deaktiviert
  • sudo apt-get install xrdp
  • sudo apt install claws-mail
  • sudo apt-get install ccrypt
  • sudo apt-get install imagemagick
  • sudo apt-get install pst-utils
  • sudo apt-get install smbclient
  • sudo apt install p7zip p7zip-full
  • sudo apt-get install lshw
  • sudo apt-get install byobu
  • sudo apt-get install vim
  • sudo apt-get install unrar-free
  • sudo apt-get install p7zip-full
  • sudo apt-get install thunderbird
  • sudo apt-get install –reinstall pcmanfm
  • smb einrichten
    • sudo mkdir /mnt/VERZEICHNISNAME
    • sudo mount -t cifs -o username=andre,password=’xxxxxxxx‘,uid=1000,gid=1000,dir_mode=0700,file_mode=0600,nounix,vers=1.0,sec=ntlm //192.168.178.38/Andre /mnt/smb
  • Midnight Commander
  • Kalender when
    • von der Webseite http://www.lightandmatter.com/when/when.html
    • oder github https://github.com/bcrowell/when
    • entpacken
    • alternativ kann auch das gehen: sudo apt-get install when
    • im Verzeichnis aufrufen: sudo make install
    • aufrufen: when
    • editor nano auswählen
    • Datei anlegen: nano ~/.when/preferences
    • eintragen:
      • calendar = /home/pi/Diskstation/Andre/Dokumente/termine.txt
      • editor = nano
  • sudo apt-get install fail2ban
    • sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
    • sudo nano /etc/fail2ban/jail.local
    • sudo service fail2ban restart

Leider geht mein Lieblingspackprogramm rar nicht unter dem Raspberry PI. Aber ich verwende es sowieso sehr selten, dass ich eigentlich nicht darauf angewiesen bin es auf dem Rechner zu verwenden.

Damit täglich ein backup läuft, habe ich cron eingerichtet jeden Tag um 0Uhr ein Skript auszuführen

Cron einrichten:

  • crontab -e
  • 0 0 * * * /home/pi/dataSync.sh

Mailprogramm Claws einrichten:

Zum Speichern und Archivieren von Mails speichere ich diese Lokal auf dem Fileserver ab. Dieses Mailverzeichnis exportiere ich dann in ein mbox File. Damit Claws lokal in einem bestimmten Verzeichnis Daten speichert muss eine Mailbox erzeugt wreden und diese dann auf den Fileserver verschoben werden. Erreichbar ist sie dann über einen Link.

  • claws->Dateien->Neue Mailbox Datei->MH
  • Name: Daten
  • Daten im Verzeichnis ~/Daten auf den Server nach /home/pi/Diskstation/Andre/clawsMail verschieben
  • ln -s /home/pi/Diskstation/Andre/clawsMail Daten
  • falls sich bereits Daten in /home/pi/Diskstation/Andre/clawsMail befinden, so muss in Claws im Kontextmenu zur Mailbox Daten die Funktion „Ordnerbaum erneuern“ ausgeführt werden. Anschließend erscheinen die entsprechenden EMails dort

Jetzt greift Claws über den Link auf das Verzeichnis auf dem Server zu

Wichtig für mich war es auch die COU Temperatur zu wissen, da ich lediglich passiv kühle. Dies geht mit dem Kommandoprogramm vcgencmd measure_temp. Für weitere infos gibt es vcgencmd commands.

Für eventuelle boot Anpsassungen muss die Datei /boot/config.txt angepasst werden.

Weil der Lüfter beim vorhergehenden Gehäuse doch sehr laut war und cih eigentlich eher passiv kühlen wollte, hab ich ich dem Raspi ein Kühlkörpergehäuse verpasst.

Weiter hab ich noch zwei Bash Skripte. Das erste Skript mounted Netzwerklaufwerke:

#!/bin/bash
read -s -p "Password: " pwrd
sudo mount -t cifs -o username=andre,password=$pwrd,uid=1000,gid=1000,dir_mode=0700,file_mode=0600,nounix,vers=1.0,sec=ntlm //192.168.178.38/Andre /home/pi/Diskstation/Andre
sudo mount -t cifs -o username=andre,password=$pwrd,uid=1000,gid=1000,dir_mode=0700,file_mode=0600,nounix,vers=1.0,sec=ntlm //192.168.178.38/Oeffentlich /home/pi/Diskstation/Oeffentlich
sudo mount -t cifs -o username=andre,password=$pwrd,uid=1000,gid=1000,dir_mode=0700,file_mode=0600,nounix,vers=1.0,sec=ntlm //192.168.178.38/Sicherung /home/pi/Diskstation/Sicherung
sudo mount -t cifs -o username=andre,password=$pwrd,uid=1000,gid=1000,dir_mode=0700,file_mode=0600,nounix,vers=1.0,sec=ntlm //192.168.178.38/Cam /home/pi/Diskstation/Cam

Das zweite Skript wird vom Cronjob täglich nachst ausgeführt und kopiert Daten von einer Kamera in ein exra Vereichnis udn löscht dabei Daten, die älter als eine Woche sind:

 #!/bin/bash datum=$(date +"%Y-%-m-%d") echo $datum datumAgo=$(date +"%Y-%-m-%d" -d"7 day ago") echo $datumAgo mkdir /home/pi/Diskstation/Cam/Cam1/$datum mv /home/pi/Diskstation/Cam/Cam1/*.jpg /home/pi/Diskstation/Cam/Cam1/$datum/ rm -r /home/pi/Diskstation/Cam/Cam1/$datumAgo/ mkdir /home/pi/Diskstation/Cam/Cam2/$datum mv /home/pi/Diskstation/Cam/Cam2/*.jpg /home/pi/Diskstation/Cam/Cam2/$datum/ mv /home/pi/Diskstation/Cam/Cam2/*.mp4 /home/pi/Diskstation/Cam/Cam2/$datum/ rm -r /home/pi/Diskstation/Cam/Cam2/$datumAgo/ 

Damit X11 Fenster auch weitergeleitet werden können muss in noch die /etc/ssh/sshd_config angepasst werden:

X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no

so kann dann zB von aussen über eine ssh verbindung auf den PI zugegriffen werden mit:

 ssh -X -o ProxyCommand='/usr/bin/corkscrew <proxy_ip> 9400 %h %p' -D 8090 -L9080:127.0.0.1:22 pi@<pi_IP_adresse> -p 443 

Hier wird mit corkscrew eine SSH verbindung über den Port 443 (HTTPS) getunnelt. Allerdings muss dann der SSH Server auf dem Pi auf Port 443 laufen oder die Fritzbox mapped 443 auf Port 22 um.

RaspberryPi nur über SSH konfigurieren:

Manchmal hat man keinen Monitor/Fernseher und eigene Tastatur für die ersten Schritte zur Verfügung. Dann muss man SSH und WLan mit einigen Einstellungen direkt auf der SD Karte konfigurieren:

  • Eine leer Datei mit Namen „ssh“ im Root Verzeichnis der Boot-Partition (in Windows hat das einen eigenen Laufwerksbuchstaben und heisst Boot) der SD Karte anlegen
  • Im Root Verzeichnis der SD Karte die Datei „wpa_supplicant.conf“ anlegen und bearbeiten mit dem INhalt:
    • country=DE
      ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
      update_config=1
      network={
      ssid=“DEINE WLAN SSID“
      psk=“DEIN PASSWORT“
      key_mgmt=WPA-PSK
      }

rasbpi-sdkarte-wlan-ssh

Alles updaten:

Der RaspberryPI 4 besitzt im Gegensatz zu den früheren Modellen eine Art BIOS im EEPROM. Somit reicht es nicht aus einfach die SW auf der SD Karte zu aktualisieren, es muss auch hin und wieder das EEPROM aktualisisert werden:

  • sudo apt update
  • sudo apt full-upgrade
  • sudo rpi-eeprom-update

Für eine automatisches EEPROM Update kann durchd ie Installation der SW erfolgen:

  • sudo apt install rpi-eeprom

Links:
https://www.raspberrypi.org/downloads/raspbian/
https://downloads.raspberrypi.org/raspbian_latest
https://sourceforge.net/projects/win32diskimager/files/latest/download

https://pimylifeup.com/raspberry-pi-fail2ban/

Ein Gedanke zu “Raspberry Pi 4 als Server

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 )

Verbinde mit %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.