Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
|
raspberry [2021/10/24 17:59] 127.0.0.1 Externe Bearbeitung |
raspberry [2025/10/22 16:58] (aktuell) thomas [Filesystem] |
||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| =====Informationen zum Raspberry PI===== | =====Informationen zum Raspberry PI===== | ||
| - | Link zu einer Beschreibung: \\ | + | Linksammlung: \\ |
| http://raspberry.tips/server-2/owncloud-8-1-auf-dem-raspberry-pi-2-mit-apache/ \\ | http://raspberry.tips/server-2/owncloud-8-1-auf-dem-raspberry-pi-2-mit-apache/ \\ | ||
| + | https://lehrerfortbildung-bw.de/st_digital/medienwerkstatt/internet/pi-cloud/index.html \\ | ||
| ===== Grundlegende Konfiguration ===== | ===== Grundlegende Konfiguration ===== | ||
| Zeile 31: | Zeile 32: | ||
| ==Benötigte Pakete installieren== | ==Benötigte Pakete installieren== | ||
| <code> | <code> | ||
| - | sudo apt install apache2 php7.3 curl libcurl4 libcurl4-openssl-dev sqlite rsync | + | sudo apt install apache2 php rsync |
| </code> | </code> | ||
| Zeile 41: | Zeile 42: | ||
| </code> | </code> | ||
| Danach abmelden und mit neuem Benutzer anmelden | Danach abmelden und mit neuem Benutzer anmelden | ||
| + | |||
| + | Ab Debian version: 12 wird bei der Installation ein Benutzer angelegt, der Root-Rechte hat. Ein Standarduser wird nicht mehr angelegt und muß auch nicht mehr gelöscht werden. Der angelegte User kann allerdings mit sudo alle Befehle ohne Passwort ausführen. Um das zu ändern, muß nur in /etc/sudoers.d/010_pi-nopasswd die einzige vorhandene Zeile auskommentiert werden. | ||
| Standarduser löschen | Standarduser löschen | ||
| Zeile 63: | Zeile 66: | ||
| ==== Zeit vom Zeitserver ==== | ==== Zeit vom Zeitserver ==== | ||
| + | |||
| + | Ab Debian 13 (trixi) funktioniert die Uhr automatisch und muss nicht mehr umgestellt werden. | ||
| Zuerst muß der systemd-timesyncd gestoppt werden. (läuft defaultmäsig im rasbian) | Zuerst muß der systemd-timesyncd gestoppt werden. (läuft defaultmäsig im rasbian) | ||
| Zeile 87: | Zeile 92: | ||
| NTP ist relativ komplex und kann durch systemd-timesyncd ersetzt werden. Die Beschreibung ist [[https://blog.doenselmann.com/uhrzeit-ueber-systemd-timesyncd-synchronisieren/|hier]]. systemd-timesyncd legt den timestamp im Filesystem unter /var/lib/systemd/timesync/clock ab. Dieser Pfad ist hart codiert und kann nicht geändert werden. Deshalb kann systemd-timesyncd mit read-only Filesystem **nicht eingesetzt** werden. | NTP ist relativ komplex und kann durch systemd-timesyncd ersetzt werden. Die Beschreibung ist [[https://blog.doenselmann.com/uhrzeit-ueber-systemd-timesyncd-synchronisieren/|hier]]. systemd-timesyncd legt den timestamp im Filesystem unter /var/lib/systemd/timesync/clock ab. Dieser Pfad ist hart codiert und kann nicht geändert werden. Deshalb kann systemd-timesyncd mit read-only Filesystem **nicht eingesetzt** werden. | ||
| - | Filesystem==== | + | |
| + | ==== Filesystem ==== | ||
| + | |||
| + | Das Raspbery OS bietet mit raspi-config die Möglichkeit unter "Performance Options" / "Overlay File System" ein read-only Filesystem zu konfigurieren. Damit entfallen die folgenden Schritte. | ||
| + | |||
| + | Ab Raspberry PI OS 13 (trixi) wird auch ein zusätzliches Medium (USB-Stick) read-only gemauntet. Das kann mit dem Parameter overlayroot=tmpfs:recurse=0 in der Datei /boot/firmware/cmdline.txt geändert werden (https://forums.raspberrypi.com/viewtopic.php?t=379943) | ||
| + | |||
| + | Eine Beschreibung von [[https://raspberrytips.com/raspberry-pi-cmdline-txt/|/boot/firmware/cmdline.txt]] | ||
| Damit die SD-Karte länger hält, empfehle ich das root-Filesystem read-only zu mounten.[[http://www.gtkdb.de/index_36_2825.html|Hier]] ist eine ausführliche Beschreibung. Dafür wird Raspbian wie oben beschrieben installiert und anschließend folgende Änderungen als root durchgeführt: | Damit die SD-Karte länger hält, empfehle ich das root-Filesystem read-only zu mounten.[[http://www.gtkdb.de/index_36_2825.html|Hier]] ist eine ausführliche Beschreibung. Dafür wird Raspbian wie oben beschrieben installiert und anschließend folgende Änderungen als root durchgeführt: | ||
| Zeile 157: | Zeile 170: | ||
| === Alternative Overlayfs === | === Alternative Overlayfs === | ||
| Das [[https://www.linux-magazin.de/ausgaben/2017/06/kern-technik|linux-magazin]] beschreibt die Möglichkeit ein OverlayFS einzurichten. | Das [[https://www.linux-magazin.de/ausgaben/2017/06/kern-technik|linux-magazin]] beschreibt die Möglichkeit ein OverlayFS einzurichten. | ||
| + | |||
| + | Es gibt mitlerweile auch ein Git-Repo (https://github.com/ghollingworth/overlayfs) um das Overlayfs am Raspberry einzurichten. | ||
| + | |||
| + | raspi-config hat unter "Performance Options" / "Overlay File System" auch die Möglichkeit ein OverlayFS einzurichten. | ||
| === Overlayfs einrichten === | === Overlayfs einrichten === | ||
| Zeile 223: | Zeile 240: | ||
| ====Let's Encrypt==== | ====Let's Encrypt==== | ||
| - | Let's Encrypt stellt kostenlos SSL-Zertifikate für Server zur Verfügung. Die Einrichtung ist [[https://intux.de/2020/12/raspberry-pi-lets-encrypt-zertifikat/|hier]] beschrieben. Sie kann aber mit den folgenden zwei Befehlen zusammengefasst werden: | + | Let's Encrypt stellt kostenlos SSL-Zertifikate für Server zur Verfügung. Die Einrichtung ist [[https://intux.de/2020/12/raspberry-pi-lets-encrypt-zertifikat/|hier]] beschrieben. Sie kann aber mit den folgenden Befehlen zusammengefasst werden: |
| <code> | <code> | ||
| - | sudo apt-get install python-certbot-apache | + | sudo apt install certbot |
| + | sudo apt install python-certbot-apache | ||
| sudo certbot --apache | sudo certbot --apache | ||
| </code> | </code> | ||
| Zeile 283: | Zeile 301: | ||
| eingetragen werden. | eingetragen werden. | ||
| - | Die Benutzerdaten stehen in /var/lib/dokuwiki/acl | + | Die Benutzerdaten stehen in /var/lib/dokuwiki/acl. Hierfür sind standardmässig zwei Links in /etc/dokuwiki/. Diese können auf die aktuelle Konfiguration angepasst werden. |
| + | <code> | ||
| + | acl.auth.php -> /var/lib/dokuwiki/acl/acl.auth.php | ||
| + | users.auth.php -> /var/lib/dokuwiki/acl/users.auth.php | ||
| + | </code> | ||
| ====MySQL==== | ====MySQL==== | ||
| Anstatt MySQL kann auch mariadb verwendet werden. Es ist ein Fork von MySQL. Es unterstützt die gleichen Funktionen und ist performanter. | Anstatt MySQL kann auch mariadb verwendet werden. Es ist ein Fork von MySQL. Es unterstützt die gleichen Funktionen und ist performanter. | ||
| Zeile 327: | Zeile 349: | ||
| ====rsync==== | ====rsync==== | ||
| - | Damit rsync mit root-Rechten auf den Server zugreifen kann muß am Ende der Datei /etc/sudoers die Berechtigung hinzugefügt werden: | + | Ab debian trixi muss der Backup mit rsync über den rsync-deamon laufen. Eine Beschreibung ist [[https://linuxconfig.org/how-to-setup-the-rsync-daemon-on-linux|hier]]. |
| + | |||
| + | Die Konfigurationsdatei ist /etc/rsyncd.conf. Nach der Konfiguration muss der Dienst mit | ||
| <code> | <code> | ||
| - | <benutzer> ALL = NOPASSWD: /usr/bin/rsync | + | systemctl enable rsync |
| + | systemctl start rsync | ||
| </code> | </code> | ||
| + | gestartet werden. | ||
| - | <benutzer> muß mit dem Benutzernamen ersetzt werden. | ||
| - | Nun kann rsync mit der Option -e "SSH" --rsync-path="sudo rsync" benutzer@example.com:/quelle ziel die Daten kopieren. | ||
| ====Backup==== | ====Backup==== | ||
| Verschiedene Backupmethoden sind [[https://mariadb.com/kb/en/mariadb/backup-and-restore-overview/|hier]] beschrieben. Der beste Weg scheint mysqlhotcopy zu sein. [[https://debian-administration.org/article/311/Backup_MySQL_databases_with_mysqlhotcopy|Hier]] ist auch eine Möglichkeit beschrieben, die Dateien über SSH zu sichern. | Verschiedene Backupmethoden sind [[https://mariadb.com/kb/en/mariadb/backup-and-restore-overview/|hier]] beschrieben. Der beste Weg scheint mysqlhotcopy zu sein. [[https://debian-administration.org/article/311/Backup_MySQL_databases_with_mysqlhotcopy|Hier]] ist auch eine Möglichkeit beschrieben, die Dateien über SSH zu sichern. | ||