=====Informationen zum Raspberry PI===== Linksammlung: \\ 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 ===== Image schreiben: dd bs=4M if= of= status=progress mit kill -USR1 kann der aktuelle Fortschritt ausgegeben werden. Ab Version 8.2 auch mit dem Parameter status=progress. Die Prozessnummer erhält man mit ps -a. Die Konfiguration erreicht man mit sudo raspi-config Pi konfigurieren: - Expand Filesystem ausführen damit wir genug Platz für Pakete, ownCloud an sich und Uploads haben - Unter Advanced Options Memory Split auf „16“ MB einstellen. - overclock auf „Medium“ - SSH-Verbindung aktivieren - Hostname setzen Nach einem Reboot ist der Raspberry über .fritz.box ansprechbar und die SSH Verbindung kann aufgebaut werden. =====System aktualisieren===== sudo apt-get update sudo apt-get dist-upgrade sudo rpi-update ==Benötigte Pakete installieren== sudo apt install apache2 php7.3 curl libcurl4 libcurl4-openssl-dev sqlite rsync ===== 64 bit System ===== Die Zeile arm_64bit=1 in die Datei /boot/config.txt einfügen. =====Pi absichern===== neuen Benutzer mit Root-Rechten anlegen sudo useradd -m user -G sudo sudo passwd user 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 sudo deluser -remove-home pi SSH Zugang absichern Es ist sinnvoll den root-Zugang zu sperren und den Port für SSH zu ändern. Änderungen in der Datei /etc/ssh/sshd_config PermitRootLogin no Port 10115 ====SSH absichern mit Private Key==== Zuerst muß ein Schlüsselpaar für den User generiert werden, der sich am Raspberry anmelden will. [[https://www.thomas-krenn.com/de/wiki/OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu|Hier]] ist eine Anleitung, wie das Schlüsselpaar mit ssh_keygen erzeugt wird. Anschließend auf dem Raspberry das Verzeichnis .ssh im Home-Verzeichnis des Users anlegen und mit nano ~/.ssh/authorized_keys den pub-Key einfügen. In der Datei /etc/ssh/sshd_config muß die RSA-Autentifizierung noch eingestellt werden: PubkeyAuthentication yes PasswordAuthentication no # damit wird das normale Login mit Passwort ausgeschaltet Raspberry pi absichern http://raspberry.tips/raspberrypi-tutorials/raspberry-pi-im-internet-absichern-eures-mini-rechners/ ==== Zeit vom Zeitserver ==== Zuerst muß der systemd-timesyncd gestoppt werden. (läuft defaultmäsig im rasbian) sudo systemctl stop systemd-timesyncd sudo systemctl disable systemd-timesyncd Danach kann ntp installiert werden. sudo apt install ntp sudo systemctl enable ntp sudo timedatectl set-ntp 1 ntp syncronisiert die Zeit aber nicht. Über die Kommandozeile sudo ntpd -qg wird die Zeit syncronisiert. Der systemd service startet das Script: /usr/lib/ntp/ntp-systemd-wrapper. Dort habe ich den Befehl "sudo ntpd -qg" eingefügt. Damit wird die Zeit gesetzt aber der Service wird daraufhin beendet. 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 ==== 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: Zuerst werden alle unnötigen Pakete entfernt. apt-get remove --purge logrotate triggerhappy dphys-swapfile fake-hwclock samba-common libx11-.* Das Verzeichnis /tmp braucht die Rechte 777. Danach allte temporären Dateien ins RAM legen: rm -rf /var/lib/dhcp/ /var/spool /var/lock /var/mail ln -s /tmp /var/lib/dhcp ln -s /tmp /var/spool ln -s /tmp /var/mail rm -rf /etc/resolv.conf ln -s /tmp/resolv.conf /etc/resolv.conf rm -r /var/lib/sudo ln -s /tmp /var/lib/sudo Nun wird die Datei /etc/fstab angepasst: Vorher: /dev/mmcblk0p1 /boot vfat defaults 0 2 /dev/mmcblk0p2 / ext4 defaults,noatime 0 1 Nachher: /dev/mmcblk0p1 /boot vfat ro,defaults 0 2 /dev/mmcblk0p2 / ext4 ro,defaults,noatime 0 1 des Weiteren fügen Sie am Ende der Datei die folgenden drei Zeilen ein. Dadurch wird für die Verzeichnisse /tmp, /var/log und /var/tmp jeweils ein temporäres Dateisystem eingerichtet. tmpfs /tmp tmpfs rw,nodev,nosuid,size=500M 0 0 tmpfs /var/log tmpfs nodev,nosuid 0 0 tmpfs /var/lock tmpfs nodev,nosuid 0 0 tmpfs /var/tmp tmpfs nodev,nosuid 0 0 Bevor Sie das System neu starten können, müssen Sie noch die /boot/cmdline.txt anpassen. Öffnen Sie diese dazu mit einem Editor. Hier sollten Sie nur die folgende Zeile vorfinden. dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait Fügen Sie am Ende der Zeile die Optionen fsck.mode=skip und noswap hinzu. Durch die Option fsck.mode=skip wird die Überprüfung des Dateisystems beim Systemstart abgeschalten. noswap sorgt dafür, dass Linux keine Swap-Datei anlegt. dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait fsck.mode=skip noswap Nach dem Neustart läuft das System mit root und boot Partition als readonly. Wenn nun auf die SD-Karte geschrieben werden soll, muß es wieder beschreibbar gemountet werden: Mount read/write sudo mount -o remount,rw / Mount readonly sudo mount -o remount,ro / == Anmerkungen: == Für Sessions braucht php Schreibzugriff auf /var/lib/php/sessions. Das kann mit einem symbolischen Link nicht realiesiert werden. Den Grund dafür habe ich nicht herausgefunden. Ich habe es mit einem zusätzlichen Mount gelöst. Die Mount-Zeile: tmpfs /var/lib/php/sessions tmpfs nodev,nosuid 0 0 === Alternative Overlayfs === 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 === Damit Overlayfs verwendet werden kann, muß das Swapen deaktiviert werden. sudo systemctl disable dphys-swapfile.service sudo apt-get purge dphys-swapfile Nun loggt sich der Benutzer in das vorbereitete System ein und wird durch Eingabe von »sudo su« zum Superuser. Jetzt geht es ans Konfektionieren des Initram-FS: Damit der Kernel das Modul »overlay« lädt, trägt der Superuser den Modulnamen in die Datei »/etc/initramfs-tools/modules« ein: echo "overlay" >> /etc/initramfs-tools/modules Für die eigentliche Aktivierung des Overlay muss er das Skript »root-ro« an der richtigen Stelle in das Initram-FS aufnehmen und ausführbar machen: cd /etc/initramfs-tools/scripts/init-bottom wget https://gist.github.com/niun/34c945d70753fc9e2cc7/raw/3d60338cd8d8daf740692f426a5a1ec17839d613/root-ro chmod +x root-ro Danach geht es weiter mit dem Generieren des Initram-FS: update-initramfs -c -k $(uname -r) **Achtung!** nach einem Kernel-Update muß vor dem generieren des initramfs ein Reboot gemacht werden. update-initramfs legt eine neue Datei in /boot an. Diese wird anschließend in initrd7.img umbenannt. Der letzte Schritt vor dem Reboot aktiviert das Initram-FS auf dem Raspberry Pi, indem cd /boot echo "initramfs initrd7.img" >>config.txt den Bootloader anpasst. Achtung: Diese Konfigurationsoption verlangt kein Gleichheitszeichen zwischen Optionsname und Wert. Fertig! Mit dem nächsten Reboot ist der Zugriff auf die SD-Karte nur noch lesend möglich. ====Apache 2==== ===Notwendige Dienste aktivieren=== sudo a2enmod rewrite sudo a2enmod ssl Damit der Browser nicht die Verzeichnisstruktur anzeigt, wenn ein Verzeichnis keine Default Datei (index.html) enthält, muss in der Datei /etc/apache2/apache2.conf im Abschnitt die Option Indexes entfernt werden. Um eine .htaccess Datei zu verwenden muß in diesem Abschnitt auch AllowOverride auf All gesetzt werden. Mit der .htaccess kann auch ein Zugangsschutz (Benutzerverwaltung) eingebaut werden. Eine genaue Beschreibung steht auf https://wiki.selfhtml.org/wiki/Webserver/htaccess. === Rewrite === Mit Rewrite kann z.B. die HTTP Anfrage nach HTTPS umgeleitet werden. Dafür muss folgende Zeile in die Datei /etc/apache2/sites-available/000-default.conf unter "" eingefügt werden: Redirect permanent / https://guettinger.dynv6.net/ Das ist mit Let's Encrypt nicht mehr notwendig, es wird bei der Installation von Let's Encrypt automatisch gemacht. Um das Rewrite zu überprüfen, muss die Datei /etc/apache2/apache2.conf geändert werden. Bei LogLevel muss "rewrite:trace3" angehängt werden. ([[http://httpd.apache.org/docs/current/mod/mod_rewrite.html#logging|Beschreibung]]) Die Meldungen werden nach /var/log/apache2/error.log geschrieben. ===Einstellungen=== Die Einstellungen werden unter anderem im php.ini vorgenommen. Welches php.ini verwendet wird, kann durch phpinfo() angezeigt werden. Folgende Einstellungen habe ich verändert: |Name|Beschreibung| |session.save_path|Pfad für temporäre Informationen über die Session (kann nicht verändert werden, funktioniert nur mit original Einstellungen)| == Anmerkung: == Apache legt standardmäßig ein eigenes tmp-Verzeichnis an. Das funkioniert nicht mehr, wenn das Root-Filesystem readonly ist. Um dies zu Ändern muß die Datei /lib/systemd/system/apache2.service nach /etc/systemd/system/ kopiert werden und anschließend die Zeile PrivateTmp=true auskommentiert werden. ====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 Befehlen zusammengefasst werden: sudo apt install certbot sudo apt install python-certbot-apache sudo certbot --apache === Zertifikat erneuern === Zum erneuern wird sudo certbot certonly --renew-by-default --apache --rsa-key-size 4096 -d domain.tld verwendet. === Zertifikat erneuern (alter Raspi) === Apache stoppen \\ Zertifikat mit cd /opt/letsencrypt/ ./letsencrypt-auto -d ERSTE_DOMAIN -d ZWEITE_DOMAIN --redirect -m DEINE_MAIL --agree-tos --renew-by-default erneuern \\ Das Zertifikat kann auch ohne das virtielle Environment erneuert werden: cd /opt/letsencrypt/ sudo certbot renew --apache Apache wieder starten \\ ====Festplatte / USB-Stick einrichten==== UUID feststellen: sudo blkid /dev/sda1 Mountzeile für /etc/fstab UUID=215bdbe3-989d-476f-a4db-e5d981df79d5 /media/usb-hdd/ ext4 permissions,defaults,auto ====Dokuwiki==== Dokuwiki wird mit sudo apt-get install dokuwiki installiert. Danach muß in die Datei /etc/apache2/sides-available/000-default.conf noch folgendes eingetragen werden: Options FollowSymLinks AllowOverride None Order allow,deny allow from all Konfiguration anpassen Die Konfiguration steht in /etc/dokuwiki/dokuwiki.php und /etc/dokuwiki/local.php. Zum Sperren des Punktes Registrieren muss in dokuwiki.php die Zeile $conf['disableactions'] = 'register'; eingetragen werden. 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. acl.auth.php -> /var/lib/dokuwiki/acl/acl.auth.php users.auth.php -> /var/lib/dokuwiki/acl/users.auth.php ====MySQL==== Anstatt MySQL kann auch mariadb verwendet werden. Es ist ein Fork von MySQL. Es unterstützt die gleichen Funktionen und ist performanter. apt-get install mariadb-server Hierbei wird das Root-Passwort für mysql abgefragt. (nicht mehr!) Verzeichnis von Mysql ändern Nachdem die Datenbanken in das neue Verzeichnis kopiert wurde muss in der MySQL Configdatei unter /etc/mysql/mariadb.conf.d/50-server.cnf der Pfad unter „datadir“ angepasst werden. Datenbank neu anlegen: sudo /usr/bin/mysql_install_db --user=mysql --datadir= --skip-auth-anonymous-user Das Verzeichnis unter --datadir muß das gleiche sein, wie in /etc/mysql/mariadb.conf.d/50-server.cnf. Anschließend muß das Root-Passwort neu gesetzt werden. Dazu mit mysql -u root den Datenbank Manager starten und folgendes eingeben: MariaDB [(none)]> USE mysql; MariaDB [(none)]> UPDATE user SET password=PASSWORD('YourPasswordHere') WHERE User='root' AND Host = 'localhost'; MariaDB [(none)]> FLUSH PRIVILEGES; [[https://dev.mysql.com/doc/refman/5.5/en/data-directory-initialization.html|Hier]] steht, wie das Datenverzeichnis neu erstellt wird. === root-Passwort zurücksetzen === Die Datenbank kann mit: sudo mysqld_safe --skip-grant-tables in einen Mode geschaltet werden, wo sie kein Password erwartet. Damit dies funktioniert muß in /proc/run noch ein Verzeichnis für den user mysql angelegt werden. Danach kann mysql mit mysql -u root gestartet werden und über "update user set authentication_string=password('1111') where user='root';" das root-Passwort geändert werden. == Dump einspielen == mysql -uBENUTZERNAME -p DATENBANKNAME < PFAD_ZUR_DATEI ====rsync==== Damit rsync mit root-Rechten auf den Server zugreifen kann muß am Ende der Datei /etc/sudoers die Berechtigung hinzugefügt werden: ALL = NOPASSWD: /usr/bin/rsync 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==== 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. ====TT-RSS==== Installationsanleitung: https://allesit.de/anwendung/tiny-tiny-rss-reader-installieren-924 sudo apt-get install tt-rss Beim ersten Login muss (username: admin, password: password) verwendet werden. ===Installationsverzeichnis=== TT-RSS wird standardmäßig nach /usr/share/tt-rss/www installiert. Für die Konfiguration mit read-only Root Filesystem muß die Datei /etc/tt-rss/config.php angepasst werden. Hier sind verschiedene Pfade eingetragen, wo das Programm hinschreiben will. ===Konfiguration === Die Konfigurationsdatei ist /etc/tt-rss/config.php. ===Cron=== Für den update kann ein Cronjob eingerichtet werden. Dazu soll die der Befehl sudo -u www-data php /usr/share/tt-rss/www/update_daemon2.php ausgeführt werden. Eine genaue Beschreibung steht unter https://tt-rss.org/gitlab/fox/tt-rss/wikis/UpdatingFeeds Dirk Deimeke hat eine [[https://www.deimeke.net/dirk/blog/index.php?/archives/3530-Tiny-Tiny-RSS-update-daemon-und-systemd-....html|Beschreibung]] für systemd veröffentlicht. Hier noch ein Link zu einer deutschen Beschreibung von tt-rss: http://office-tipps.net/tiny-tiny-rss-tutorial-1-installation-konfiguration/ \\ http://office-tipps.net/tiny-tiny-rss-tutorial-2-optische-anpassungen-und-plugins/ \\ http://office-tipps.net/tiny-tiny-rss-tutorial-3-artikel-feiner-strukturieren/ \\ http://office-tipps.net/tiny-tiny-rss-tutorial-4-noch-ein-paar-kleinigkeiten/ \\ ====Composer==== [[http://askubuntu.com/questions/116960/global-installation-of-composer-manual|Hier]] sind mehrere Möglichkeiten beschrieben, wie man Composer installiert. ich denke am sinnvollsten ist: curl -sS https://getcomposer.org/installer | php sudo mv composer.phar /usr/local/bin/composer ====PHPMailer==== [[https://github.com/PHPMailer/PHPMailer|PHPMailer]] ist ein PHP-Skript, was E-Mails verschickt. Es wird mit Composer installiert. ==== Syslog ==== Raspian verwendet rsyslog als Dienst. Es kann über /etc/rsyslog.conf konfiguriert werden. Hier können auch Filter eingetragen werden. In diesem [https://www.heise.de/ct/artikel/Erweiterte-Systemueberwachung-mit-rsyslog-846750.html|Artikel]] wird rsyslog beschrieben. ====E-Mail==== Damit der Raspi E-Mails verschicken kann braucht man einen MTA (Mail Transfer Agent). Eine Möglichket mit ssmtp und mailutils: http://nicht-traeumen-sondern-machen.de/RaspberryPi_Basteleien/Code_Email_Versenden.php?anker=b2 \ Mit postfix und bsd-mailx: http://www.netzmafia.de/skripten/hardware/RasPi/RasPi_Postfix.html \ Mit exim4: http://blog.kay-farin.de/2014/06/21/allgemein/kommunikativ-e-mails-per-raspberry-pi-versenden, http://openbook.rheinwerk-verlag.de/ubuntu_904/ubuntu_20_server_006.htm, http://blog.mansshardt.net/mailversand-mit-exim-ueber-externen-smtp-unter-debian/ Weitere Beschreibungen: http://kampis-elektroecke.de/?page_id=2324 Absenderadresse ändern: http://serverfault.com/questions/377821/exim-send-every-emails-with-a-predefined-sender == TLS == https://www.axxeo.de/blog/technisches/exim-mit-tls.html https://www.heise.de/security/artikel/StartTLS-785453.html beschreibt den Test von TLS. Hier ist allerdings die Befehlssequenz für IMAP falsch. Der Login funktioniert mit "a1 LOGIN user password". == Postfix == https://www.thomas-krenn.com/de/wiki/Postfix_unter_Debian_einrichten == ssmtp == SSMTP funkitoniert auf dem Raspi mit Arcor und den untenstehenden Einstellungen nach [[https://linuxundich.de/gnu-linux/system-mails-ohne-einen-mail-server-mit-ssmtp-verschicken/#more-15889|dieser]] Beschreibung. Es gibt auch eine Beschreibung auf [[https://linuxundich.de/gnu-linux/system-mails-ohne-einen-mail-server-mit-ssmtp-verschicken/|Linux und Ich]]. Installation: sudo apt-get install ssmtp Die Datei /etc/ssmtp/ssmtp.conf # # Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root= # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com mailhub=mail.arcor.de:465 # Where will the mail seem to come from? #rewriteDomain= # The full hostname hostname= # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address #FromLineOverride=YES UseTLS=YES AuthUser= AuthPass= FromLineOverride=NO Die Datei /etc/ssmtp/revaliases # sSMTP aliases # # Format: local_account:outgoing_address:mailhub # # Example: root:your_login@your.domain:mailhub.your.domain[:port] # where [:port] is an optional port number that defaults to 25. root:guettinger@arcor.de:mail.arcor.de:465 www-data:guettinger@arcor.de:mail.arcor.de:465 thomas:guettinger@arcor.de:mail.arcor.de:465 Das Logfile wird nach /var/log/mail.log geschrieben. Eine Alternative ist auch [[https://wiki.archlinux.org/index.php/Msmtp|msmtp]]. == PHPMailer == In Github gibt es ein Projekt [[https://github.com/PHPMailer/PHPMailer|PHPMailer]]. Es kümmert sich um den Versand von E-Mails. ===== Owncloud / Nextcloud ===== Wie man Nextcloud auf dem Raspi installiert ist im Raspberry PI Magazin 05/2016 , S. 56 [[http://www.raspberry-pi-geek.de/Magazin/2016/05/Owncloud-Fork-Nextcloud-auf-dem-RasPi-im-Praxistest|beschrieben]] =====Hardware abfragen===== mit vcgencmd kann die Hardware abgefragt werden (als root) vcgencmd measure_volts gibt die Spannung aus vcgencmd measure_temp gibt die Temperatur aus Beschreibung auf http://elinux.org/RPI_vcgencmd_usage =====Allgemeines===== Raspberry Magazin https://www.raspberrypi.org/magpi-issues/MagPi38.pdf =====Nützliche Tools===== [[http://nocc.sourceforge.net/|E-Mail Client für die Homepage]] =====Nützliche Links===== https://kofler.info/raspbian-jessie-raspbian-2/ beschreibt kurz Raspbian jessy http://raspberry.tips/ http://jankarres.de/ Hauptsächlich Tipps zu OwnCloud https://samhobbs.co.uk/2014/01/webalizer-a-free-open-source-alternative-to-google-analytics-for-raspberry-pi Zugriffsstatistik ==== Messanger ==== [[https://www.secutan.de/whatsapp_raspberry/|Hier]] gibt es eine Beschreibung, wie Whatsapp auf dem Raspberry installiert werden kann. Es gibt die Möglichkeit mit XMPP einen Messanger auf dem Raspi zu hosten. Eine Möglichkeit ist ejabberd. Die installation wird auf https://0fury.de/blog/?/post/%5BTutorial%5D+Wie+mache+ich+meinen+Raspberry+Pi+zu+einem+Instant-Messaging-Server%3F/ beschrieben. \\ Es soll auch möglich sein XMPP mit Whatsapp zu verbinden. Eine Möglichkeit wird auf https://www.andreas-peters.net/linux/2016/03/01/whatsapp_xmpp_transport.html beschrieben. Eine weitere Installationsanleitung für XMPP auf dem Raspberry: https://jankarres.de/2015/08/raspberry-pi-xmpp-server-prosody-installieren/