Pakete die installiert werden:
- Apache (Webserver)
- MariaDB (MySQL-Datenbank)
  PHP (Script-Sprache für Webprogrammierung. Wird für Joomla etc. benötigt)

- phpMyAdmin (PHP-basierter Web-MySQL-Datenbankeditor)
Optionale Verwaltungs-Tools:
- Remote-Desktop & SSH-Freigabe
- ProFTP (FTP-Pogramm)
- Shell In A Box (Web Terminal)
- Webmin (Web-Admin-Tool)
Optionale Pakete:
- Drupal, Grav, Ilch, Joomla, TYPO3 (CMS)
- Wordpress (Blog)
- Piwigo, TinyWebGallery, X3 Photo Gallery, ZenPhotoCMS (Foto-Album)
Magento, modified eCommerceOpenCartosCommerce, OXID, PrestaShop, Shopware, Randshopxt:Commerce (Web-Shop)
- DokuWiki, MediaWiki, WackoWiki (Wiki)


Vorwort:
Ganz entscheidend für die Performance des Raspberry Pi ist tatsächlich die Schreib-Lese-Geschwindigkeit der microSD-Karte.
Bei einer schnellen microSD-Karte kann das Raspberry Pi OS auch als 32Bit System flüssig verwendet werden. Hiert lohnt die Ivestition.


Folgende Schritte müssen durchlaufen werden:

Raspbian als Betriebssystem installieren.

Hinweis: Ab dem Raspberry Pi 4 ist die Firmeware auf dem Board gespeichert und wird nicht wie in den Vorgänger-Versionen von der SD-Karte geladen.
Raspberry Pi OS 32-Bit herunterladen. 64-Bit (Desktop) bzw. 64-Bit (Lite) Stand: 23.08.2020 noch mit Einschränkung da die Installation des Webserver nicht korrekt funktioniert)
*   Raspberry Pi OS Lite  (Nur Konsolenversion ohne grafische Oberfläche. Ideal als Webserver da schon von Haus aus schlank gehalten)
      oder
    Raspberry Pi OS with desktop  (Desktop-Version zur einfacheren Orientierung)
    herunterladen.
* Auf eine microSD-Karte kopieren. z.B. mit Rufus portable.
* Raspberry Pi mit Raspbian starten.
* Im Desktop durch den selbsterklärenden Dialog gehen (Es kann ein neues Passwort vergeben werden).
Am Ende sollte der Reboot durchgeführt werden.


Weiter geht's in einem Terminal-Fenster  >_ 

Alles "in einem Rutsch" installieren.
Anmerkung: Das Skript ist noch in der Entwicklung da ich mich erst seit kurzem näher mit Linux beschäftige.

Es wird von alant.de ein Bash-Script heruntergeladen und in den Home-Ordner des Users
pi abgelegt. Mit dem 2. Befehl wird das Bash-Script gestartet.
Das Script kann auch mehrmals ausgeführt werden wenn etwas nachinstalliert werden soll (Deinstallieren muss "per Hand" durchgeführt werden!). 
Ablauf:
* Das Script frägt während der Installation muss ein das Passwort für den mysql-Zugriff des Unsers root  eingegeben werden.
   Beim ersten Lauf  wird dieses Passwort für den Benutzer root in die MySQl-Datenbank einigetragen
   Beim 2. Lauf wird das root-Passwort nur benötigt wenn für ein CMS, ect. ein Datenbankeintrag gemacht werden.
* phpMyAdmin wird während er Installatinon nach dem Webserver (Apache) und phpmyadmin-user fragen.
* Das Script möchte nach der Intallation der Web-Serverkomponenten wissen welche Erweiterung installiert werden soll.

wget https://alant.de/download/raspberry_pi/rpi.sh
bash rpi.sh
Hinweis: Wurde die Lite-Version installiert ist im Terminal das englische Tastaturlayout aktiv.
wget httpsÖ//alant.de/download/raspberry_pi/rpi.sh

Oder alles "von Hand"

Nach dem ersten Hochfahres von Raspian OS ersteinmal updaten

Login:
User: pi
Passwort: raspberry (durch das englische Tastaturlayout: raspberrz)

sudo apt update && sudo apt upgrade -y && sudo reboot

  Passwort und Terminal-Sprache anpassen (Via Raspberry Pi Software Configuration Tool)

sudo sudo raspi-config

 

-> 1 System Options -> S3 Password
-> 5 Localisation Options -> L1 Locale
    =>  [*] de_DE.UTF-8 UTF-8 
    => im 2. Schritt   de_DE.UTF-8  als Default local setzen
-> 5 Localisation Options -> L3 Keyboard
   => Generische PC-Tastatur mit 105 Tasten (Intl) [default]
   => ⇓ andere -> Deutsch
   => ⇑ Deutsch
   => Der Standard für die Tastenbelegung [default}
   => Keien Compose-Taste [default]


Die einzelnen Komponenten nacheinander installieren
Apache Server installieren (Dies ist der Webserver)
(Apache2 incl.PHP)

sudo apt install apache2 php libapache2-mod-php -y
Danach ist der Apache-Server unter verschiedenen Adressen erreichbar
Im eigenen Netzwerk: http://raspberrypi/ bzw. unter der IP-Adresse des Raspberry Pi's. Kann mittels ifconfig (Linux) oder ping -4 raspberrypi (Windows PC) ausgelesen werden.
Auf dem Raspberry Pi selbst auch unter http://localhost/ oder http://127.0.0.1/
 

MariaDB installieren (MySQL Datenbank)

sudo apt install mariadb-server mariadb-client -y

phpMyAdmin installieren (MySQL-Datenbank-Editor)
Wichtig ist dass noch kein Passwort für root vergeben wurde sonst kann phpmyadmin nicht den user phpmyadmin anlegen. (Kann aber ggf. nachträgich gemacht werden)

sudo apt install phpmyadmin -y

Es kommt immer wieder vor das phpmyadmin im apt-chache nicht enthalten ist und kann somit kann die Installation über das backports repository durchgeführt werden

echo "deb http://deb.debian.org/debian buster-backports main contrib non-free"|sudo tee -a /etc/apt/sources.list
sudo apt -q update sudo apt -t buster-backports -y install phpmyadmin

 Während der Installation muss der Webserver ausgewählt (apache2) und ein Passwort z.B. 'Passwort' für den user phpmyadmin eingegeben und eine Datenbank angelegt werden.


Tasten-Steuerung:
Leerzeichen (um apache2 zu markieren)
Enter (Beendet das Eingabefenster)
 
Nach erfolgreicher installation ist phpMyAdmin über die Web-Oberfläche erreichbar. http://raspberrypi/phpmyadmin/
Ein login ist möglich, mit beschränkten Rechten.
User: phpmyadmin
PW: 'Passwort'


Enter


 

Passwort eintippen 'Passwort'
Enter (Beendet das Eingabefenster)
(Wiederholen)

 

phpMyAdmin auf den aktuellen Stand bringen.

wget https://www.phpmyadmin.net/downloads/phpMyAdmin-latest-all-languages.zip -O phpMyAdmin.zip
unzip -o -qq phpMyAdmin.zip
# alte Version sichern
sudo mv /usr/share/phpmyadmin /usr/share/phpmyadmin.bak
sudo mkdir /usr/share/phpmyadmin
sudo mkdir /usr/share/phpmyadmin/tmp
# Schreibrechte anpassen für die Web-Anwendung
sudo chown www-data:www-data /usr/share/phpmyadmin/tmp && sudo chmod 755 /usr/share/phpmyadmin/tmp
sudo cp -r phpMyAdmin-*/. /usr/share/phpmyadmin
sudo rm -rf phpMyAdmin-*/
# Blowfish Secret (Einfach einen neuen String erzeugen. Könnte auch ausgelesen werden)
sudo cp /usr/share/phpmyadmin/config.sample.inc.php /usr/share/phpmyadmin/config.inc.php
rd=$(cat /dev/urandom | tr -dc '{}[]().:\-_,;a-zA-Z0-9' | fold -w 32 | head -n 1)
sudo sed -i "s/cfg\['blowfish_secret'\] = ''/cfg\['blowfish_secret'\] = '$rd'/g" $phpmyadmind/config.inc.php

Apache anpassen

Die Apache Konfiguration sollte angepasst werden damit per .htaccess in den einzelnen CMS-Installationen Veränderungen am Verhalten des Webserver möglich ist.

# Conf sichern
sudo mv /etc/apache2/apache2.conf /etc/apache2/apache2.conf.org
sudo Nano etc/apache2/apache2.conf
# Besitzer auf root setzen
sudo chown root:root $f && sudo chmod -R 644 $f

Runterscrollen bis Zeile ~178 und dort ändern.
Mit STRG-x, j Enter das Ganze ändern-

<Directory /var/www/>
Options Indexes FollowSymLinks
  AllowOverride None
AllowOverride All
Require all granted
</Directory>

Module Rewrite aktivieren damit die Anweisungen in .htaccess Wirkung zeigen

sudo a2enmod rewrite

PHP anpassen
- Tmp-Ordner für PHP-Uploads anlegen

sudo mkdir /var/www/phptmp

php.ini anpassen
Der Unterordner der PHP-Version muss ggf. angepasst werden.
- Dateiupload-Größe: 2M -> 20M
- Dateigröße per POST übermittelt: 8M -> 20M
- max. Zeit zum ausführen: 30Sek. -> 120Se2 Min.
- Speicherlimit:  128M -> 500M (je nach RAM Größe kann auf 1G eingesetzt werden)
-

# Stand April 2020. Zu einem späteren Zeitpunkt kann sich die Version ändern (Einfach vorab checken Pfad /etc/php/). 
phpversion
="
7.3"
# ini sichern
sudo mv /etc/php/$phpversion/apache2/php.ini /etc/php/$phpversion/apache2/php.ini.org

# Wenn diese Eintrag angepasst wird muss ggf. auch in den Einstellungen der CMS dieser Pfad eingetragen werden!
sudo
sed -i "s/.*upload_tmp_dir =.*/;upload_tmp_dir = /var/www/phptmp/g" /etc/php/
$phpversion/apache2/php.ini
sudo sed -i "s/upload_max_filesize =.*/upload_max_filesize = 20M/g" /etc/php/$phpversion/apache2/php.ini
sudo sed -i "s/post_max_size =.*/post_max_size = 20M/g" /etc/php/$phpversion/apache2/php.ini
sudo sed -i "s/max_execution_time =.*/max_execution_time = 240/g" /etc/php/$phpversion/apache2/php.ini
sudo sed -i "s/memory_limit =.*/memory_limit = 500M/g" /etc/php/$phpversion/apache2/php.ini
sudo sed -i "s/output_buffering =.*/output_buffering = Off/g" /etc/php/$phpversion/apache2/php.ini

In MariaDB einloggen und Befehle ausführen

* In die MariaDB Shell einloggen.

 sudo mysql

Anmerkung: ist schon ein Passwort vergeben dann: sudo mysql -u root -p"Passwort"

* Passwort 'Passwort' für Benutzer 'root' erstellen. (Passwort kann natürlich frei gewählt werden ;-). Einstellungen aktivieren und mysql verlassen.

MariaDB [(none)]> GRANT ALL ON *.* TO 'root'@'localhost' IDENTIFIED BY 'Passwort' WITH GRANT OPTION;FLUSH PRIVILEGES;CREATE DATABASE joomla;exit

Als Ergebnis soll diese Rückmeldungen erfolgen "Query OK, 0 rows affected (0.001 sec)"


phpInfo erzeugen (damit die PHP-Einstellungen ausgelesen werden können).

sudo echo '<?php' > /var/www/html/phpinfo.php && sudo echo "phpinfo()" >> /var/www/html/phpinfo.php && sudo echo '?>' >> /var/www/html/phpinfo.php

Via http://raspberrypi/phpinfo.php kann jetzt aktuelle PHP Version und die Einstellungen abgerufen werden.


FTP-Server installieren (Nicht zwingend notwendig)
Hier der ProFTP-Server installiert.

sudo apt install proftpd-basic -y


* FTP-Server konfigurieren

IP6 deaktivieren

sudo sed -i "s/UseIPv6 on/UseIPv6 off/g" /etc/proftpd/proftpd.conf

  FTP-Server starten

sudo /etc/init.d/proftpd restart

Remote Desktop Zugriff installieren (Nicht zwingend notwendig)

Es wird nur ein Paket benötigt

sudo apt install xrdp -y

Jetzt kann unter Windows einfach die Remotedesktopverbindung aufgerufen werden.
Computer: raspberrypi
User: pi
Passwort: (das neu vergebene Passwort) sonst: raspberry
Anmerkung: Mit Ubuntu klappt das nur wenn die Distribution ohne Desktop verwendet wurde und nachträglich der XFCE-Desktop installiert wird

  xrdp login xrdp login windows 

SSH Zugang aktivieren (Nicht zwingend notwendig)
Es kann durch den Menüpunkt Einstellungen -> RaspberrPi-Konfiguration Register Schnittstellen der SSH auf Aktiviert gesetzt werden oder im Terminal mit folgenden Befehlen:

sudo systemctl enable ssh && sudo systemctl start ssh

Danach kann von jedem PC aus per z.B. PuTTY auf den Raspberry Pi zugegriffen werden.
User: pi
Passwort: (das neu vergebene Passwort) sonst: raspberry

Shell In A Box (Web Terminal)
Aufruf der Shell über die Webseite http://raspberrypi:4200/
Stand 28.08.2020
Damit Shell In A Box läuft muss nach der Installation die Default-Einstellungen angepasst werden.
Den shellinaboxd Deamon in den Cronjob eintragen.

sudo apt -yq install shellinabox
# Default-Port auf 4100 legen  
sudo sed -i "s/SHELLINABOX_PORT=4200/SHELLINABOX_PORT=4100/g" /etc/default/shellinabox
# Start des shellinaboxd Daemon beim booten
sudo crontab -e
# Am Ende einfügen "@reboot sudo shellinaboxd -b -t --port 4200" (ohne Anführungszeigen :-)
# ggf. noch starten damit Shell In A Box sofort aufgerufen werden kann
sudo shellinaboxd -b -t --port 4200

Webmin installieren (Nicht zwingend notwendig)
Beim 1. Insallationsversuch treten Fehler auf und deshalb zweimal
Homepage für die Linkquelle: https://sourceforge.net/projects/webadmin/files/webmin/. Dort den aktuellsten Ordner öffen und den deb-Link kopieren

wget https://sourceforge.net/projects/webadmin/files/webmin/1.941/webmin_1.953_all.deb/download -O webmin.deb
sudo dpkg -i webmin.deb
sudo apt --fix-broken install -y
# Ein 2. mal
sudo dpkg -i
webmin.deb

 


CMS / Blog installieren
Hinweis:
Da sich die Version nach Erstellung des Artikels sicherlich wieder verändert haben, muss der Link auf der jeweiligen Seite erfragt werden. Die Datenbank muss ebenfalls für jedes CMS, Blog ect  "von Hand"  in phpMyAdmin angelegt werden.

Joomla
Homepage (J!German) für die aktuelle Linkquelle: https://www.jgerman.de/downloads/joomla-3x-auf-deutsch.html

# Das bz2 Paket auswählen und den kopierten Link anstelle verwenden!
wget
https://github.com/joomlagerman/joomla/releases/download/3.9.16v1/Joomla_3.9.16-Stable-Full_Package_German.tar.bz2 -O joomla_de.tar.bz2

Web-Ordner joomla erstellen

sudo mkdir /var/www/html/joomla

 Entpacken in den Web-Ordner joomla

sudo tar -xf /home/pi/joomla_de.tar.bz2 -C /var/www/html/joomla

Ab jetzt ist Joomla über http://raspberrypi/joomla/ erreichbar.


WordPress download
Die Datenbank für Wordpress muss "von Hand"  in phpMyAdmin angelgt werden.

wget https://de.wordpress.org/latest-de_DE.tar.gz

Entpacken in den HTML-Ordner

sudo tar -xvzf /home/pi/latest-de_DE.tar.gz -C /var/www/html

Ab jetzt ist Wordpress über http://raspberrypi/wordpress/ erreichbar.


Drupal download
Die Datenbank für muss "von Hand"  in phpMyAdmin angelgt werden.

wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz

Entpacken in den HTML-Ordner
Dem Drupal-Ordner muss noch die Version entfernt werden dtrupal6.2 ->drupal

sudo tar -xvzf /home/pi/drupal.tar.gz -C /var/www/html
sudo cp /var/www/html/drupal/default.settings.php /var/www/html/drupal/settings.php
sudo mkdir /var/www/html/drupal/files
sudo mkdir /var/www/html/drupal/files/translations

Ab jetzt ist Drupal über http://raspberrypi/drupal/ erreichbar.


TYPO3
Homepage für die aktuelle Linkquelle: https://get.typo3.org/version/10

# Das bz2 Paket auswählen und den kopierten Link anstelle verwenden!
wget --content-disposition https://get.typo3.org/10.4.0/tar.gz -O typo.tar.gz
sudo tar -xzf typo.tar.gz
sudo cp -r typo3*/. /var/www/html/typo3
# Es wrid noch eine leeere Datei erwartet
printf "" | sudo tee /var/www/html/FIRST_INSTALL

 Ab jetzt ist TYPO3 über http://raspberrypi/typo3/ erreichbar.


Piwigo download
Die Datenbank für Wordpress muss "von Hand"  in phpMyAdmin angelgt werden.

wget https://de.piwigo.org/download/dlcounter.php?code=latest -O piwigo.zip

Entpacken in den HTML-Ordner

sudo unzip /home/pi/piwigo.zip -d $html -d /var/www/html

Ab jetzt ist Piwigo über http://raspberrypi/piwigo/ erreichbar.

OXID eShop download

Da es mit dem Composer sehr lange dauern kann hier ersteinmal der Weg mit dem direkten download

https://oxidforge.org/download/download-oxid-eshop-6-2-0?wpdmdl=26034

 

OXID wird via Compser installiert. dieser muss vorab installiert werden. Ebenfalls werden noch 2 PHP-Erweiterungen benötigt

sudo sudo apt install composer -y
sudo apt install php-bcmath php-soap -y

Jetzt den Shop herunterladen und installieren. In diesem Bsb. wird die Comunity Edition Version 6.2 installiert
Anmerkung: Es wird hier mit sudo OXID installiert (ggf. für eine produktive Umgebung erst auf ein Testsystem installieren und dann die Dateien kopieren)

sudo composer create-project --no-dev oxid-esales/oxideshop-project oxid dev-b-6.2-ce

Ab jetzt ist OXID über http://raspberrypi/oxid erreichbar.

 

https://get.typo3.org/version/10

 


WordPress download
Die Datenbank für Wordpress muss "von Hand"  in phpMyAdmin angelgt werden.

wget https://de.wordpress.org/latest-de_DE.tar.gz

Entpacken in den HTML-Ordner

sudo tar -xvzf /home/pi/latest-de_DE.tar.gz -C /var/www/html

Ab jetzt ist Wordpress über http://raspberrypi/wordpress erreichbar.


 

Schreibrechte anpassen

Besitzer und Schreibrechte für den www-Ordner des Apache-Servers anpassen. Sonst hätte nur root Schreibrechte und kein Script könnte dort Änderungen vornehmen oder dort etwas speichern.

# Benutzer des Webservers Apache (www-data)
sudo chown -R www-data:www-data /var/www && sudo
chmod -R 755
/var/www

 Symbolischen Link auf den Apache-Ordner ins Homeverzeichnis von pi setzen

ln -s /var/www/html/ ./html

Die graphische Oberfläche abschalten (Nicht zwingend notwendig)
Diese wird bei einem Betrieb als Webserver nicht benötigt. Per RDP ist es weiterhin möglich die grafische Oberläsche aufzurufen

sudo systemctl set-default multi-user.target

 Wieder einschalten geht so:-) sudo systemctl set-default graphical.target



Problemecke:

Testen ob MariaDB läuft

sudo systemctl status mariadb

Tip: Mit STRG-C kann das Statusfenster verlassen werden.

Sollte nicht in der Zeile Acitve: active (running) stehen folgenden Befehl ausführen um den Dienst zu starten: sudo systemctl start mariadb


Bootloader Firmare checken. (Nicht zwingend notwendig)

rpi-eeprom-update

 

Remote Desktop Verbindungsprobleme

 Sollte es zu einer Fehlermeldung kommen „error – problem connecting“ dann die VNC-Version aktualisieren.

sudo apt-get remove xrdp vnc4server tightvncserver -y &&
sudo apt-get install tightvncserver -y &&
sudo apt-get install xrdp -y

Alles wieder entfernen

sudo apt remove --purge phpmyadmin -y
sudo apt remove --purge mariadb-server mariadb-client -y
sudo apt remove --purge apache2 php libapache2-mod-php -y
sudo apt remove --purge proftpd-basic -y
sudo apt remove --purge shellinabox -y
sudo apt remove --purge xrdp -y
sudo rm -r /var/www/html/*

 

Hinweis: Ab dem Raspberry Pi 4 ist die Firmeware auf dem Board gespeichert und wird nicht wie in den Vorgänger-Versionen von der SD-Karte geladen.
Wenn der Raspberr Pi 4 zu ersten mal verwendet wird sollte vorab ein Raspberry Pi OS installiert werden.

Bootloader Firmeware aktualisieren
* Raspberry Pi OS Lite herunterladen.
* Auf eine microSD-Karte kopieren. z.B. mit Rufus.
* Raspberry Pi mit 'Raspberry Pi OS Lite' starten.

Folgende Befehle im Terminal ausführen
Das englsiche Tastaturlayout ist aktiv und deshalb ist y und z vertauscht

sudo apt update && sudo apt full-upgrade -y && sudo reboot

Bootloader Firmare checken. (Nicht zwingend notwendig)
Mit Stand Dez. 2021 ist es die Version 000138a1 vom 19.April 2021 aktuell

sudo rpi-eeprom-update

Gibt es jetzt einen unterschied zwischen CURRENT und LATEST kann ein update durchgeführt werden
Hinweis: Ein gewisses Risiko besteht allerdings dass der Raspi danach nicht mehr booten.

sudo rpi-eeprom-update -a
sudo reboot

Ubuntu für Raspberri Pi herunterladen

A) Ubuntu unoffical releases auf github speziell für Raspberry Pi4
Es werden verschiedene Versionen an Images angeboten (Stand März 2020)
    * Ubuntu-Desktop    ubuntu-18.04.x-preinstalled-desktop-arm64+raspi4.img.xz

Anmerkung: muss mit diesem Image nicht nachinstalliert werden

sudo apt install ubuntu-desktop -y
   ubuntu desktop

    * Xfce Desktop    xubuntu-18.04.x-preinstalled-desktop-arm64+raspi4.img.xz

 Anmerkung: muss mit diesem Image nicht nachinstalliert werden

sudo apt install xubuntu-desktop -y
   xubuntu desktop

   * Ohne Desktop    ubuntu-18.04.x-preinstalled-server-arm64+raspi4.img.xz    
     

KDE Desktop (nach)installieren
Dies ist natürlich nur notwendig wenn Ubuntu ohne Desktop installiert wurde
Das nachinstallieren dauert ab ein kleine Weile!

sudo apt install kubuntu-desktop -y
  kubuntu desktop

 

B) Es gibt eine offizielle Download-Seite von Ubuntu Server für Rasbperry Pi 2, 3,  oder 4. Hier gibt es Versionen mit und ohne Desktop


Nach der Installation anmelden (Ubuntu ist sofort per SSH errichbar)

ubuntu login: ubuntu
Password: ubutntu

Als erstes gibt es eine Aufforderung das Passwort zu ändern. (Groß-und Kleinschreibung, Zahl und midestlänge 6 Zeichen)
Anmerkung: Bei neuem Passwort darauf achten nur das ! (Ausrufezeichen) als Sonderzeichen zu verwenden und z und y zu vermeiden.

Current passwort: ubuntu
New password: 'neues Passwort'
Retype new password: 'neues Passwort'


Umstellen auf deutsch (Noch sind y und z vertauscht)

sudo dpkg-reconfigure keyboard-configuration
sudo reboot

Im Dialogfenster müssen jetzt verschiedene Einstellungen auf eine deutsches Layout umgestellt werden.
Danach ist ein reboot notwendig.


System updaten und upgraden und jeweils einen Neustart durchführen 

sudo apt update && sudo apt upgrade -y && sudo reboot 

Webserver einrichten
Im Artikel "Webserver (incl. CMS) mit Raspbian auf einem Raspberry Pi 3 / 4" wird näher darauf eingegangen.


Passwort Komplexität anpassen

Um die Komoplexität auszuschalten muss obscure gelöscht werden
für die Passwortlänge minlen=x einfügen wobei x die Anzahl der Zeichen ist
Folgende Datei enthält die Anweisungen

sudo nano /etc/pam.d/common-password

 

# password   [success=1 default=ignore]    pam_unix.so obscure sha512
password [success=1 default=ignore] pam_unix.so obscure sha512 minlen=2

RDP Zugriff per X2Go
Mit Ubuntu ist es nicht möglich per Windows Remotedesktopverbindung auf den Desktop zuzugreifen (Stand April 2020. Version 18.04.4)
Eine Alternative bieter X2Go. Nachteil ist dass der X2Go Windows-Client zusätzlich benötigt wird.

sudo apt install -y x2goserver x2goserver-xsession

 

 Client-Einstellungen    x2go ubuntu

Der moOde Player ist das umfangreichste Paket auf dem Markt der Web-Radio und Musikplayer (abgesehen von Kodi ;-).
Der Vorteil gegeüber anderen Playern ist dass auch Bluetooth verwendet werden kann.
Die Daten werden in einer SQLite3 Datenbank gespeichert.
Dieser Artikel wurde für den moOde Player Version >= 5.0 erstellt.
Version >=6.0 benötigen eine Neuinstallation.

Webradios Anmerkung: Es gibt keine Möglichkeit Webradios durch ein Suche zu finden wie es z.B. Volumio anbietet.


moOde Player installieren und Einrichten

1. Download des Images von moOde.
2. Kopieren der ZIP auf die MircoSD Karte via Rufus (portable).
3. MicroSD Karte in den Slot am Raspberry Pi einstecken und dann mit Strom versorgen.
4. LAN-Kabel einstecken und im Webbrower die Adresse http://moode aufrufen.
5. Den moOde-Button moode configuration (oben rechts) anklicken und System aufrufen
   A.) Updaten Check direkt unter System Config "CHECK FOR software update" anklicken und ggf. update ausführen
   B.) Generelle Einstellungen: für das eigene Land anpassen. Selbsterklärend) &> SET
   C.) CPU governor: On.demand &> SET
   D.) Verwendete Adapter auf ON/OFF setzen (WIFI, BlueTooth BT, HDMI Port)
6. Sonstige Einstellungen
(A.) WLAN
    moode configuration > Network
   Settings (section)
   SSID &> SCAN > (Reconnect) &> Eigene SSID auswählen
   Password: ***** (des eigenen SSID's)
   ↑ Settings &> APPLY (reconnect)
   ↑ RESTART to make settings changes effective > REBOOT
   (ab jetzt ist der moOde Player via WLAN erreichbar)


Audio-Ausgabemöglichkeiten von moOde

Interne Audioausgabe:
Audio Jack (Klinkenstecker): leider keine gute Tonqualität
   moode configuration > Configure > Audio
      Devices (Section)
    I2S audio device: None &> SET
      MDP (Section)
    MDP options > EDIT SETTINGS
    Audio device: On-board audio device
    Volume Control: Software
   ↑ SAVE     
   moode configuration > Configure > system
     System Modifications (Section)
    Integratet BT adapter: OFF &> SET
    HDMI port: OFF &> SET

HDMI: benötigt natürlich auf der Gegenseite einen HDMI-Eingang: Gute Tonqualität
     moode configuration > Configure > Audio
      Devices (Section)
    I2S audio device: None &> SET
      MDP (Section)
    MDP options > EDIT SETTINGS
    Audio device: On-board audio device
    Volume Control: Software
   ↑ SAVE      moode configuration > Configure > > system
     System Modifications (Section)
    Integratet BT adapter: OFF &> SET anklicken
    HDMI port: ON &> SET

Bluetooth: soweit so gut, je nach Lautsprecher ;-)
    moode configuration > Configure > System
      System Modifications (Section)
    Integratet BT adapter: ON &> SET anklicken
    HDMI port: OFF &> SET
   moode configuration > Configure > Audio
    Renderers (Section)
   Bluetooth: ON &> SET
   Unterhalb von Resume MDP
     >
EDIT BuleZconfig anklicken
    - SCAN for Devices &> SUBMIT anklicken > (Reconnect) &  Jetzt am Bluetooth-Lautsprecher auf paaring drücken!
      Es kann sein dass dieser Vorgang mehrmals wiederholt werden muss. Wenn das nicht hilft einfach ein Reboot durchführen und ggf. den Lautsprecher neu starten.
    - Wurde ein Bluetooth-Lautsprecher gefunden /hier im Bsp. Libratone Zipp &> PAIR anklicken (Reconnect)
    Danach muss der Lautsprecher-Name mit den trennen Befehl stehen!
   Libratone Zipp DISCONNECT
    - MDP Audio output -> Bluetooth &> CHANGE anklicken

 moode bluez config scan moode bluez config pair moode bluez config audoout bluethooth


Zusatzkarte für Audioausgabe:
z.B. HifiBerry DAC+: Top Tonausgabe
   moode configuration > Configure > Audio
    Devices (section)
   I2S audio device:  HiFiBerry DAC+ &> SET anklicken
   Driver Options & Chip/Devie options (müssen ggf. angepasst werden).
(Sollte Bluetooth auf ON stehen dann abschalten !)
    Renders (section)
   Bluetooth: OFF &> SET
  Resume MPD CONFIGURE Bluetooth
  "MPD Audio output .> Local" auswählen &>CONFIGURE 
   moode configuration > Restart &> REBOOT anklicken
   moode configuration > Configure > Audio
    MDP (section)
   MDP option: EDIT OPTION anklicken (nur zur Kontrolle)
    Audio device (section)
   Device type: I2S audio device (sollte schon drin stehen)
   Volume control: Software (sollte schon drin stehen)
   ↑ SAVE (reconnect) (nur bei Veränderung sonst BACK)


Netzwerkfreigaben hinzufügen (NAS Sources)

SAMBA-Zugriff auf einen Windows-PC:

Einstellungen in Windows

Vorgaben für das Bsp.:
PC-Name: MusicPC
Benutzer-Name: User
Benutzer-Passwort: *** (es muss eines vergeben sein!)
Freigabe des Benutzer-Ordner USER damit auf den z.B. Musik-Ordner zugegriffen werden kann
Im Windows-Explorer rechte Maustaste auf Musik > Eigenschaften => Register Freigabe > Freigabe... Button anklicken  > Personen für die Freigabe auswählen z.B. User und Freigabe anklicken.
windows freigabe person windows freigabe person 1 windows freigabe person 2
Hinweis: An einem weiteren PC im Netzwerk prüfen ob die Zugangsdaten funktionieren

Einstellung im moOde Player

Netzwerkfreigabe hinzufügen
  moode configuration > Configure -> Library
   NAS Sources (section)
   > CREATE NAS source anklicken
  TYPE: SMB (Samba)
  Host/Share
   Darunter auf EDIT klicken (Dateifreigabe-Pfade werden via SCAN nicht angezeigt)
   Host (PC / IP-Adresse) und Freigabe-Ordner eintragen z.B. Musicpc/Music
   Anmerkung: Durch SCAN wird nur der PC angezeigt nicht aber der freigegebene Ordner in dem die Musik-Dateien liegen sollten.
   USER ID: user (Windows-Benutzername)
   Password: ***** (Windows-Benutzerpasswort)
   Name: MuscPC (Angezeigter Name)
   Mount flags: (ggf. für Windows 7 leeren)
   ↑ SAVE schließt das Ganze ab und überprüft die Verbindung.
   Danach wird nach erfolgreichen Verbindung die NAS Quelle mit einen grünen Häkchen angezeigt und die Dateieninfos eingelesen.
  


Darstellung der Thumbnails für Alben anpassen

Im linken Menü Library -> Albums ist die Voreistellung der Bilder automatisch (100px).
Auf einem PC-Monitor ist die Darstellung der Bilder recht unscharf. Selbst auf einem Handy sind die Albencover unschauf.
Herfür kann die Größe angepasst werden. Natürlich wird die Ladezeit der Bilder dadurch verlängert.
  moode configuration > Appearance
  ggf. Library aufklappen
  Hi-res thumbnails => 300px
  > Update anklicken
  moode configuration > Configure > Library
  > REGENERATE Album cover thumbnail cach anklicken


Datei-Zugriff auf moOde

Im Windows-Explorer einfach in die Adresszeile:
  \\moode
Es werden keine Zugangsdaten benögigt.
  \\NAS (Hardlinks via Netzwerk freigegebenen Musik-Dateien)
  \Playlists (Ordner der M3U-Dateien z.B. Favorites.m3u)
  \\moode\\Radio (Ordner der PLS-Dateien)
  \\moode\\SDCard (Dateien auf der MicroSD-Karte)
 

Radio hinzufügen

1.) Logo des Radios herunterladen und lokal speichern. Ggf. umwandeln in eine quadratische jpg-Datei (max.1MB)
2.)  URL des Web-Radios in die Zwischenablage kopieren. (Markieren und STRG-C)
Anmerkung: Wenn der Link ein Playlistenformat "m3u" oder "pls" ist, muss der darin enthaltene Stream-Link ausgelesen werden da sonst nicht das Logo auf der Player-Leiste angezeigt wird (m3u bzw. pls speichern und mit z.B. Windows-Editor öffnen).
3.)  Auf die Mikrofon-Seite gehen und mit dem + Zeichen dann den New Station Dialog starten.

  Name: Radio StationName
  URL: http://url_zum_stream/
  Logo: via COOSE (Es gehen nur JPG's !)
  Vom lokalen PC oder eine URL einfügen.

  Danach ist der neue Sender in der Radio-Liste

   


Komplette Radioliste importieren / exportieren

Beim Import ist es ausreichend wenn die pls-Dateien enthalten sind und die Logos der Stationen in den vorgengebenen Unterordnern liegen.
var\lib\mpd\music\RADIO\*.pls
var\local\www\imagesw\radio-logos\*.jpg


Interessante Zusatzfunktionen

* Wecker
  Dies bedeutet aber auch dass der Raspberry Pi und das Lautsprecher-System ständig aktiv sein müssen.
  Es muss der Modus Wecker ausgewählt werden. Danach können die  Start- und Stop-Zeit eingestellt werden.
  Es kann aber nur zu einem bestimmten Zeitpunkt der Wecker an und abgeschaltet werden.

  1. Es muss ein Stream / eine Datei abgespielt werden bzw. ausgewählt sein.
  2. Stream / Datei maximieren in der Anzeige (unten auf die Stream/Datei-Info klicken)
  3.  anklicken und "Set for clock radio" auswählen
  4. Einstellungen vornehmen und Speichern anklicken. Fertig (Wecker ist aktiv)
   - Mode auf clock Radio
   - Play (kann nicht in diesem Dialog verändert werden)
   - Start time (in amerikanischer Schreibweise)
     nicht vergessen die Tage zu markieren an denen der Wecker starten soll)
   - Stop time (dito Start time)
   - Shutdown (Raspberry Pi ausschalten?)
   - Volume (Die Lautstärte ist nicht ansteigend ;-)


 

* Schlaffunktion
  Sie funktioniert fast gleich wie der Wecker. Der Modus ist eben Sleep time. Die Startzeit kann nicht verändert werden .

   
* Autostart
  Es wird das Zuletzt abgespielte Medium gestartet
  moode configuration > Configure -> Audio
 MDP (section)
 Autoplay after start ON &> SET
   

SSH Zugriff einschalten

  moode configuration > Configure > System
    Local Services (section)
   SSH term server: ON &> SET
                             OPEN
Web SSH terminal (Auf OPEN klicken und der Web SSH Zugang wird aufgerufen)

Zugriff von lokalen PC um Befehle auszuführen wird nicht unbedingt PuTTY benötigt da moode schon Shell in a Box installiert hat.
Jetzt kann per Web SSH http://moode:4200/ oder PuTTY (als BASH-Shell) oder WinSCP (Datei-Explorer) darauf zugegriffen werden.
Eines der beiden Programm starten.
Server: moode
Login:
User: pi
Passwort: moodeaudio


Partitonsgrößen nach dem Kopieren mit Rufus

Um die komplette SD-Karte nutzen zu können sollte die 2 Partiton mit einem externen Linux vergrößert werden. GParted eignet dazu bestens ;-)

->


Update des Systems

In der Shell kann das System upgedatet werden. Der installierte Chromium-Browser stört sich mit den update daher vorab deinstallieren.
(ggf. muss die Partition vergrößert werden!)

sudo apt -y autoremove --purge chromium-browser
sudo apt -y update && sudo apt -y upgrade (Während des updates wird über die Modifikation von www.conf und minidlna.conf Dateien nachgefragt. default-N -> N)
sudo reboot


moOde remote herunterfahren

1) Über die Oberfläche einfach auf m ->Power ->   SHUTDOWN   klicken
2) Von einem PC aus wird ein commandline utility klink oder plink benötigt:
    Eine Verknüpfung mit folgender Zeile erzeugen
    [Pfad]klink.exe  -ssh -auto-store-sshkey -batch -pw moodeaudio pi@moode "sudo poweroff"
    Mit plink sollte beim ersten Aufruf der Parameter -batch nicht verwendet werden da sonst der SSH-Key nicht gespeichert werden kann!
    [Pfad]plink.exe  -ssh -auto-store-sshkey -batch -pw moodeaudio pi@moode "sudo poweroff"


Excel-Datei um Streams einzutragen

Diese Excel-Datei kann Streams zum lokalen moOde Player hoch laden (Funktion ohne Gewähr !)


Filesystem-Info's und Speicherort der Daten

Radio-Listen:
moOde Player speichert die Informationen über die Streams in Playlist-Dateien (*.pls) im Ordner:
/var/lib/mpd/music/RADIO/

Playlisten:
In folgendem Ordner werden die Playlisten gespeichert:
/var/lib/mpd/playlists

Bilder-Ordner:
Speicherort /var/www/images/radio-logos

 

Datenbank für die Bilderinfo
Admin-Rechte bekommen:
sudo su
Die SQLlite Datenbank öffnen
sqlite3 /var/local/www/db/moode-sqlite3.db


Ein paar hilfreiche SQL-Befehle

Die Radio-Liste komplett leeren (nicht empfohlen)
delete from cfg_radio;

Alle Einträge löschen bis auf bestimmte ID's  (499 sollte nicht gelöscht werden)
delete from cfg_radio where id not in (187,188, 499);
Bestimmten Eintrag löschen
delete from cfg_radio where id = 501;

Spalten-Überschriften einschalten
.headers on

Mit der folgenden Abfrage werden alle Einträge aufgelistet
select * from cfg_radio;

Neuen Eintrag in die Datenbank schreiben:
Wichtig die blau hinterlegen Einträge müssen natürlich für den jeweiligen Sender angepasst werden!
station : 'http://stream.freefm.de:8100/'
name : 'FreeFM'

type :  's'
logo :  'local' ausser wenn ein 2.mal auf das selbe Logo verwiesen wird dann den Pfad angeben "images/radio-logos/Senderlogo.jpg"
Dieser SQL-Term frägt die größte ID der Tabelle ab und addiert um den Wert 1 und fügt einen neues Datensatz an.

insert into cfg_radio selectt max(id)+1,'station','name','s','local' from cfg_radio;

Würde folgenden Eintrag ergeben:
insert into cfg_radio select max(id)+1,'http://stream.freefm.de:8100/','FreeFM','s','local' from cfg_radio;

SQlite verlassen mit Tastenkombination STRG-D verlassen

Tip: Die moode-sqlite3.db kann auch mit WinSCP heruntergeladen werden und mit den "DB Browser für SQLite - PortableApp" betrachten und bearbeitet werden


Zusätzliche Infos

* WLAN-Info steht in der moode-sqlite3.db Tabelle cfg_network

 

Installieren und Einrichten:

1. Download von gitbub.com und die IMG-Datei entpacken.
2. Kopieren auf die MiroSD Karte via Rufus (portable).
3. MicroSD Karte in den Slot am Raspberry Pi einstecken und dann mit Strom versorgen.
4. LAN-Kabel einstecken und im Webbrower die Adresse http://musicbox.local bzw. http://musicbox aufrufen.
Als Standard-Oberfläche ist der musicbox_webclient.
5. Auf den Menüpunkt Settings wechseln
   WLAN einrichten (Abschnitt Network)
 - Wifi Network Name: (eigene SSID eintragen)
 - WiFi Password: *************** (geheim ;-)
 - Wifi County: DE (optional geht auch ohne)
 - Workgroup: (Optional falls ein eigene Arbeitsgruppe vergeben wurde)

Dieser Artikel wurde für die Version v0.7.0 erstellt.

Anmerkung: Die Ladezeit eines neuen Streams dauert bis zu 10 Sekunden.


Audio-Ausgabemöglichkeiten:

Im Menü Settings zu Audio gehen und öffnen (anklicken)
Audio output:

Analog:  Audio Jack: (leider keine gute Tonqualität)
USB: >>nicht getestet <<
HDMI:
benötigt natürlich auf der Gegeseite einen HDMI-Eingang: Gute Tonqualität
Externe Audioausgabe:
z.B. HifiBerry DAC+: Gute Tonausgabe


Datei-Zugriff auf die 'Pi Musicbox':

Wenn Musik-Dateien direkt auf die MicroSD Karte via Netzwerk kopiert werden sollen.

Im Windows-Explorer einfach in die Adresszeile:
  \\musicbox bzw.
  \\musicbox.local
bzw.
  \\xxx.xxx.xxx.xxx
  (IP-Adresse)
eintippen. Ggf. muss der Benutzername und Passwort
eingegeben werden.
User: root
Passwort: musicbox
Anmerkung:
solange diese nicht geänder wurden ;-)
  windows explorer moode adresse 
Via z.B. WinSCP liegen die Musik-Dateien im
Ordner: /music/MusicBox
   

SAMBA-Zugriff für 'Pi Musicbox' zu einen Windows-PC:

In der 'Pi Musicbox' gibt es nur einen Eintrag für einen Netzwerkzugriff auf ein NAS bzw.SAMBA-Zugriff (SMB, CIFS).
Bei der ersten Verwendung sollte die 'Option Scan Music Files' auf  On  gesetzt sein. Danach empfiehlt es sich bei großen Musiksammlungen des wieder zu deaktivieren da sonst die Boot-Zeit sehr lange dauert.

Einstellungen in Windows 7 / 10

Vorgaben für das Bsp.:
PC-Name: MusicPC
Benutzer-Name: User
Benutzer-Passwort: *** (es muss eines vergeben sein!)
Freigabe des Ordner z.B. Musik:
Im Windows-Explorer nach >  Benutzer> [USER] wechseln
Rechte Maustaste auf Musik > Eigenschaften => Register Freigabe > Freigabe... Button anklicken  > Personen für die Freigabe auswählen z.B. User und Freigabe anklicken.
windows freigabe person windows freigabe person 1 windows freigabe person 2
Hinweis: An einem weiteren PC im Netzwerk prüfen ob die Zugangsdaten funktionieren

Einstellung in 'Pi Musicbox'

Settings volumio einstellungen > Music Files
Networkdrive: //musicpc/music        //xxx.xxx.xxx.xxx/music  (ggf. die IP-Adresse verwenden)
Username: user
Password: *** (es muss eines vergeben sein!)
Additional Mount Options:     (sollten für Windows 10 leer gelassen werden!) Ver=1.0
   network drive settings pi musicbox

Playlisten

A.) Eine neue Playliste erstellen

Mindestens ein Song, Stream, Podcasts, ect. muss in der Queue liegen.
Um Songs in die Queue zu legen muss auf Browse gewechselt werden
- Musicbox zeigt die auf der MicroSD-Card gespeicherten Dateien
- Network zeigt die freigegebenen Dateien über das Netzwerk
Rechts am Ende einer Datei-Zeile auf das Symbol klicken und
diese oder alle Dateien in die Queue einfügen.
  browse files pi musicbox browse files select pi musicbox
Jetzt muss zum Menüpunkt Queue gewechselt werden.
Dann kann via 'Save Queue to Playlist' eine neue Playlist erstellt werden.
Anmerkung: Die Streams müssen zuvor gespeichert werden.

  queue pi musicbox

B.) Eine Playlist bearbeiten

 Geht leider nicht über das Web-Frontend sondern muss via SSH in enem Datei-Editor angepasst werden.
1) z.B. WinSCP (portable) verwenden. Dieser hat schon einen integrieren Editor und Linux-Befehle werden hierfür nicht benötigt.
2.) WinSCP.exe starten. Mit den bekannten Zugangsdaten für die 'Pi Musicbox' sich damit verbinden.
3.) in den Ordner /music/playlists wechseln. Hier werden alle Playlisten aufgelistet.
Die Playlist '[Radio Streams].m3u' enthält alle gespeicherten Streams.
  winscp login edit playlist pi musicbox

 

C.) Streams verwalten 

Streams und die Playliste 'Musicbox Favourites' hängen direkt zusammen.

Streams:
- Hier können 'von Hand' Webradios über die URL angelegt werden.
Diese werden dann in 'Musicbox Favourites' gespeichert.
- Löschen von Einträgen von 'Musicbox Favourites'.
  stream per hand
Playliste:
- Infos über den Eintag anzeigen
  playlists pi musicbox 

Suche:
- Hier können Streams (Webradios, Podcasts, etc.) gesucht werden.
 + Es empfiehlt sich die Suche auf Dirble einzugrenzen wenn Webradios gesucht werden.
Anmerkung: Leider sind die Links nicht immer aktiv auch wenn auf der Homepage des Senders der Stream funktioniert.


Autostart eines Streams / einer Datei

Wenn nach dem Start sofort Musik abgespielt werden soll, muss einfach die URI in (Settings volumio einstellungen > MusicBoxx > Autoplay URI) eingetragen werden.
Pi Musicbox hilft einem mit der Funktion "Get curretnly playing" im Menüpunkt Streams. Beim klick darauf wird die URI angezeigt und kann kopiert werden.

Sie sieht der Link dann etwa aus:
Stream       http://meinliebingssender.de/playit
Netzwerk-Datei     via Browse > Network >   file:///music/Network/Artistfolder/title.mp3 
    via Seach > local Media    local:track:Network/Artistfolder/title.mp3 
USB-Stick    via Browse > Fies > USB   file:///music/USB/Artistfolder/title.mp3 
Lokale Datei   via Browse > Files > Musicbox   file:///music/MusicBox/Artistfolder/title.mp3 
    via Seach >   local:track:MusicBox/Artistfolder/title.mp3 





Verschiedene Oberflächen

Die Default-Oberfläche kann unter
Settings volumio einstellungen > MusicBoxx >Default webclient angepasst werden.
Über die interne URL Mopidy können verschiedene Oberflächen ausgewählt werden
   Einstellungen und System aufruf möglich
  - Musicbox Webclient (Standard)
   Bei diesen Oberflächen muss zuerst auf die TLD gewechselt werden um den Player herunter zu fahren
  - Küchenradio (einfache Oberfläche ideal Für Handys)
  - Mobile (einfache Oberfläche ideal Für Handys)
  - Moped
  - Mopify
  - Simple Webclient (Probleme bei laden der Playlisten)

SSH Zugang:

Dieser muss vorab freigeschaltet werden.
Im Menü Settings zu Network gehen und öffnen (anklicken).
Im Abschnitt Enable SSH einfach den Schalter von Off auf  On  stellen
Nach unten Scrollen > Save anklicken und mit "Apply changes now (restart Mopidyy)" ein Reboot durchführen.
Danach ist Pi Musicbox per SSH erreichbar
User: root
Passwort: musicbox

Speicher Pfade:

Playliste(n)   //music/playlists
Samba   //music/Network
Lokale Dateien   //music/MusicBox




Nachschlagewerk