Die GUI-Versionen "Raspbian Stretch with desktop" von Raspbian herunterladen (wir sollten später aber noch erforschen, ob die Version ohne GUI unseren Ansprüchen eher genügt): https://www.raspberrypi.org/downloads/raspbian/
Den Anweisungen auf folgender Internet-Seite folgen und das Raspbian-Image auf eine passende SD-Card übertragen:: https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Netzwerkkabel(!), HDMI-Bildschirm, Tastatur und Maus an den Raspi anschliessen. SD-Card einlegen. Dann Stromkabel anschliessen. Der Raspi fährt hoch (einen An-/Ausschalter gibt es nicht).
Terminal auf dem Raspi öffnen und folgende Befehle abarbeiten (zuvor muss evtl. das Tastatur-Layout eingestellt werden):
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get upgrade
sudo apt-get update
sudo apt-get install xrdp
Nun ist der Raspi Remote z.B. über den bekannten Windows Remotedesktop-Client erreichbar (Rechnername raspberrypi, User ist pi, Kennwort ist raspberry) Es kann nicht schaden, nach erster erfolgreicher Remote-Sitzung den Raspi einmal neu zu starten und zu schauen, ob die Einstellungen erhalten bleiben. Tastatur, Maus und Bildschirm können nun wieder abgeklemmt werden. Alles Weitere kann Remote erledigt werden.
SSH-Server einrichten, dazu wieder Terminal auf dem Raspi öffnen und folgende Befehle abarbeiten:
sudo apt-get install ssh
sudo /etc/init.d/ssh start
sudo update-rc.d ssh defaults
sudo update-rc.d ssh enable
Nun kann über Terminals auf den Raspi zugegriffen werden.
In einem Mac-OS-Terminal oder in einem Linux-Terminal: ssh pi@raspberrypi
Unter Windows: PuTTY via SSH
SFTP geht natürlich auch.
Java (sogar das JDK von Oracle) ist bereits in passender Version 1.8.x vorinstalliert. Hier ist also nichts zu tun 😉
Apache installieren
sudo apt-get install apache2
Damit ist der Apache installiert und sollte direkt laufen (http://raspberrypi im Browser eines Rechners eingeben, der sich im selben Netz befindet). Bei Neustart des Raspi wird der Apache automatisch wieder gestartet.
PHP installieren
sudo apt-get install php7.0
Die Datei /etc/php/7.0/apache2/php.ini bearbeiten und "short_open_tag = On" setzen.
/etc/init.d/apache2 restart
php7.0-xml unter PHP installieren (sonst sind einige Funktionen wie encode_url nicht verfügbar)
sudo apt-get install php7.0-xml
mod_rewrite unter PHP installieren
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/rewrite.load rewrite.load
In der Datei /etc/apache2/apache2.conf überall "AllowOverride None" ersetzen durch "AllowOverride all"
/etc/init.d/apache2 restart
Damit sollten PHP und mod-rewrite passend installiert sein. Zur Kontrolle eine kleine phpinfo-Datei erzeugen und im Browser mal kurz schauen, ob PHP läuft, ob mod_rewrite installiert ist und ob short_open_tag auf on steht.
MySQL installieren
sudo apt-get install mysql-server php-mysql
sudo apt-get install mysql-client
Nun in allen .cnf Dateien, die man unter /etc/mysql findet (rekrusiv alle Unterverzeichnisse durchgehen), überall "max_allowed_packet = 16M" ersetzen durch "max_allowed_packet = 512M". Hinweis: Der Eintrag "max_allowed_packet = 16M" steht für gewöhnlich in genau 2 Dateien. Der Befehl grep -r max_allowed_packet liefert alle Dateien, in denen der Eintrag steckt.
Damit ist der MySQL installiert und sollte direkt laufen. Bei Neustart des Raspi wird MySQL automatisch wieder gestartet. Zur Kontrolle mal den MySQL-Client starten:
sudo mysql -u root -p
Passwort für root gibt es standardmäßig nicht, also einfach ENTER drücken.
Tomcat (neueste Version) herunterladen, z.B. apache-tomcat-9.0.6.tar.gz
Einen Ordner tomcat im Home-Verzeichnis anlegen (man kann Tomcat natürlich an einem anderen Ort installieren)
Im Ordner tomcat die heruntergeladene Installationsdatei entpacken:
tar xvf apache-tomcat-9.0.6.tar.gz
Die heruntergeladene Tomcat-Installationsdatei kann nun gelöscht werden.
Die Datei tomcat-users.xml im Ordner conf editieren und dort z.B. Folgendes einfügen:
<user username="pi" password="raspberry" roles="manager-gui"/>
Startup-Skript für Tomcat mit erzeugen, dazu mithilfe des Editors nano diesen Skript anlegen und befüllen:
sudo nano /etc/init.d/tomcat
Den Inhalt aus dem folgenden Kasten in die Datei einfügen.
#!/bin/sh
# /etc/init.d/tomcat
# starts the Apache Tomcat service
### BEGIN INIT INFO
# Provides: tomcat
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# X-Interactive: true
# Short-Description: Start/stop tomcat application server
### END INIT INFO
export CATALINA_HOME="/home/pi/tomcat/apache-tomcat-9.0.6"
case "$1" in
start)
if [ -f $CATALINA_HOME/bin/startup.sh ];
then
echo $"Starting Tomcat"
/bin/su pi $CATALINA_HOME/bin/startup.sh
fi
;;
stop)
if [ -f $CATALINA_HOME/bin/shutdown.sh ];
then
echo $"Stopping Tomcat"
/bin/su pi $CATALINA_HOME/bin/shutdown.sh
fi
;;
*)
echo $"Usage: $0 {start|stop}"
exit 1
;;
esac
Weiter geht es mit der restlichen Tomcat Installation
sudo chmod 755 /etc/init.d/tomcat
sudo update-rc.d tomcat defaults
sudo /etc/init.d/tomcat start
Der Tomcat ist nun gestartet und startet sich bei jedem Neustart des Raspi automatisch mit (so haben wir ihn konfiguriert). Testen, ob Tomcat wirklich läuft, ist über http://raspberrypi:8080 möglich.
Tipp: Unter Linux und Mac OS X ist es recht einfach, mittels dd ein Image einer SD-Card zu erstellen.
sudo dd if=/dev/sdx of=/path/imagefile.img
Dabei muss man /dev/sdx durch den Pfad zur SD-Card ersetzen (Bei Mac OS X für gewöhnlich /dev/diskx, dabei ist das x hinter disk eine Ziffer) und /path/imagefile.img durch den Pfad samt Dateinamen der Datei, in die das Image gespeichert werden soll.
Hinweis: diskutil list zeigt den Pfad zur SD-Card. Wenn man das Tool vor Einlegen der SD-Card aufruft und dann noch einmal nach Einlegen der SD-Card, erkennt man an der unterschiedlichen Ausgabe, welche disk die richtige ist!
Tipp: Der Raspi hat keinen An-/Ausschalter, läßt sich aber Remote über die Benutzeroberfläche nicht herunterfahren.
Abhilfe schafft hier, in der Konsole Folgendes einzugeben:
sudo shutdown now
Soll der Raspi direkt wieder hochfahren (Reboot), dann geht das in der Konsole wie folgt:
sudo -r shutdown now