Folgende Schritte sind durchzuführen, damit dein eigenes Bestellsystem funktioniert.
Falls du die Standard-Installation wählen willst, dann schau doch zuerst bei den ersten Schritten nach!
Installation über das beigelegte Raspberry Image
Die einfachste Möglichkeit das System zum Laufen zu bekommen ist das image.zip zu eintpacken und via Balena Etcher auf deine Karte zu spielen. Das Image funktioniert zumindest am Raspi 3B, 4 und 4B.
Alle System-Passwörter sind hier “orderjutsu“. Du kannst die Passwörter nach dem ersten Login folgend umstellen:
# Login am raspberry mit pi@192.168.192.10 mit dem Passwort "orderjutsu" sudo -i echo "dein_neues_passwort_fuer_alles" | tee /boot/password.txt /opt/boot_password.sh
Url: http://192.168.192.10 Benutzername: admin@orderjutsu.local Passwort: admin Web-App: http://192.168.192.10/app/ (funktioniert auch mit iOS) Android: http://192.168.192.10/app.apk
Nach dem Entpacken musst du das Automatische-Update durchführen um die aktuellste Version am System zu haben.
Du brauchst ein grundlegendes Verständnis von Linux und die Fähigkeit, einen Text-Editor wie nano oder vi zu nutzen um dieser Anleitung zu folgen!
Hier sind alle Schritte nochmal genau beschrieben wenn du es per Hand installieren willst.
1. Installation des Betriebsystems
Nach diesem Schritt kannst du auf deinen optimierten Rapsberry per SSH mit Fixer IP verbinden.
Zuerst besorgt man das Installationsimage von Raspberry. Ich nehme das Raspian Lite Image von https://www.raspberrypi.org/downloads/raspbian/
Funktioniert auch sicher mit der Desktop Version, jedoch habe ich keinen Raspberry Bildschirm vor Ort und fange daher auch nichts damit an.
Dann brauchst du noch ein Imaging Tool. Ich nehme dafür Etcher auf meinem 64Bit Windows 10 PC. https://www.balena.io/etcher/.
Etcher ist intuitiver als das Win32DiskImager Tool, weil man eine Harddrive (also Platte oder SD-Karte) und nicht eine Partition mit Laufwerksbuchstabe aussucht.

Das Schreiben dauert rund 2-3 Minuten und danach hast du auf einmal drei Partitionen in der Datenträgerverwaltung. Kann sein, dass du auch einmal die Karte aus- und einstecken musst.

SSH aktivieren
In der neuen “boot” Parition der SD Karte, erstellst du jetzt ein File names ssh oder ssh.txt.

Jetzt kannst du den Raspberry zusammenbauen und an deinen Router hängen. Ich preferiere LAN-Kabel. Du kannst die nächsten Schritte aber auch über WLAN oder per HDMI Kabel am Fernseher erledigen. Das musst du dann aber ergoogeln.
IP Addresse finden
Am leichtesten ist es, am Router nachzuschauen.

Es gibt noch andere Wege, die IP zu finden. Du kannst gerne auf der Raspberry Seite nachlesen.
SSH Verbindung
Mit der IP startest du Putty und verbindest dich als User pi auf die IP. Das Standard-Passwort ist raspberry


Jetzt solltest du gleich das Passwort ändern, wie oben beschrieben mit dem Befehl passwd.
Wie du eine PPK-Autentifizierung ohne Passwort mit Putty machst, kannst du in meinem Blog nachlesen.
Jetzt configurieren wir den Raspberry noch ein wenig.
Fixe IP vergeben
Das File /etc/dhcpcd.conf steuert die Vergabe der IP. Enthalten ist eine Standardkonfiguration für statische IPs. Ich nutze immer das 192.168.192.1/24 Netz, weil die Drucker so ausgeliefert werden.
Bearbeiten kannst du das File als root mit sudo vi /etc/dhcpcd.conf. Wenn du vi nicht kannst, dann nimm nano oder sowas in der Art.

Sollte das gar nicht gehn, kannst du auch folgenden Command absetzen.
echo "interface eth0" | sudo tee -a /etc/dhcpcd.conf echo "static ip_address=192.168.192.10/24" | sudo tee -a /etc/dhcpcd.conf echo "static routers=192.168.192.1" | sudo tee -a /etc/dhcpcd.conf echo "static domain_name_servers=192.168.192.1" | sudo tee -a /etc/dhcpcd.conf
Den Raspberry tunen mit raspi-config
Zuerst wechselst du den Benutzer mit sudo -i.

Jetzt kannst du mal das System updaten mit apt update und apt upgrade -y. Ist nie verkehrt und dauert nur ein paar Minuten. Kommt zwar im zweiten Teil dazu, aber auch System Pakete sollten aktuell sein.
Mit dem Command raspi-config stellst du gleich mal zwei Sachen um.
- Advanced Options – Expand Filesystem – geht von selber
- Advanced Options – Memory Split – hier reichen 4MB
- Network Options – N1 Hostname – orderjutsu.local
Dann mal restarten und schauen ob alles passt.
2. Installation der Webserver-Komponenten
Wenn dieser Schritt erledigt ist, ist dein Raspberry für Orderjutsu bereit und optimiert. Danach wirst du die Software installieren.
Login via SSH am Raspberry und Wechsel zum root user mit sudo -i und dann kommen nach der Reihe diese Befehle.
sudo -i
Und jetzt beginnt die eigentliche Installation…
apt update export DEBIAN_FRONTEND="noninteractive" echo "postfix postfix/mailname string orderjutsu.local" | debconf-set-selections echo "postfix postfix/main_mailer_type string 'Internet Site'" | debconf-set-selections # PHP Version for Raspian Buster 7.1, stretch 7.0, PHP_VERSION=7.4 apt install -y nginx nginx-extras \ php$PHP_VERSION-cli php$PHP_VERSION-fpm php$PHP_VERSION-xml php$PHP_VERSION-soap \ php$PHP_VERSION-curl php$PHP_VERSION-mbstring php$PHP_VERSION-zip php$PHP_VERSION-gd \ php$PHP_VERSION-mysql php$PHP_VERSION-common \ postfix mailutils \ mariadb-server mariadb-client apt update apt -y upgrade sed -i -e 's/^mydestination.*/mydestination = localhost/' /etc/postfix/main.cf systemctl restart postfix echo
echo "[mysqld] bind-address = 0.0.0.0 innodb_flush_log_at_trx_commit = 2 sql_mode=" | tee /etc/mysql/mariadb.conf.d/99-orderjutsu.cnf systemctl restart mysql echo
Und jetzt musst du noch composer installieren, das geht so…
EXPECTED_SIGNATURE="$(wget -q -O - https://composer.github.io/installer.sig)" php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" ACTUAL_SIGNATURE="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" if [ "$EXPECTED_SIGNATURE" != "$ACTUAL_SIGNATURE" ]; then echo 'ERROR: Invalid installer signature'; rm composer-setup.php else php composer-setup.php rm composer-setup.php mv composer.phar /usr/local/bin/composer fi echo
Das war es eigentlich schon. Es sollte immer alles irgendwie OK und grün sein. Wenn du die vorgeschlagene IP genommen hast, kannst du jetzt auf http://192.168.192.10 den Nginx-Welcome-Screen sehen.
3. Installation Orderjutsu
Nach diesem Schritt ist Orderjutsu installiert und du kannst mit der Konfiguration einer Veranstaltung beginnen.
Da ich persönlich es für überaus unklug halte, alle Webseiten als www-data auszuführen, legen wir lieber einen neuen User an, der dann als Orderjutsu fungiert und mit dem wir uns dann in weiterer Folge einloggen.
Ich hab dafür ein eigenes Script, das ich eigentlich immer nutze. Das ladest du mit den nächsten Commands runter und führst es gleich aus. Man kann das alles per Hand schreiben, aber das braucht dich alles nicht zu interessieren.
# vorher noch die standardseite löschen rm /etc/nginx/sites-enabled/default sudo wget -O /usr/local/bin/ran_useradd https://git.rent-a-ninja.org/snippets/1/raw sudo chmod +x /usr/local/bin/ran_useradd sudo ran_useradd orderjutsu.local echo

Das Passwort brauchst du gleich, also notier es dir auf.
Du kannst jetzt auch schon mit SFTP (über Filezilla) auf den Webspace mit den Daten zugreifen.
Nimm jetzt dein erworbenes Orderjutsu.zip und extrahiere es irgendwo hin. Dann ersetze den Inhalt unter /var/www/vhosts/orderjutsu.local/httpdocs auf dem Server mit dem Inhalt des Zips. Bitte vergiss nicht, dies als orderjutsu User zu machen. Sonst hast du später ein Dateirechte-Problem.

ACHTUNG: Auch neue SD Karten können defekt sein. Wenn beim Hochladen der Dateien Fehler auftauchen, könnte es an einer fehlerhaften SD Karte liegen! Versuch bitte zur Sicherheit eine andere Karte.
Du solltest dich jetzt als orderjutsu mit dem vorher notierten Passwort via Putty einloggen und folgendes durchführen.
# ich gehe davon aus, dass du dich jetzt als orderjutsu angemeldet hast. cd httpdocs cp .env.example .env sed -ne 's/password=\(.*\)/DB_PASSWORD=/p' ~/.my.cnf | tee -a ~/httpdocs/.env chmod +x update.sh composer install php artisan key:generate php artisan config:clear echo

Soweit so gut. Jetzt hast du mal die Software installiert. Kümmere dich nicht um irgendwelche “Software-Vorschläge” oder sonstige Warnungen. Jetzt wird die Datenbank aufgesetzt. Dank Laravel ist das ein recht einfacher Prozess.
php artisan migrate --force --seed

Damit ist dein ganz persönliches Orderjutsu einsatzbereit und mit einem Fest vorinstalliert.
4. Administration
Jetzt kannst du dich einloggen:
Url: http://192.168.192.10 Benutzername: admin@orderjutsu.local Passwort: admin Web-App: http://192.168.192.10/app/ (funktioniert auch mit iOS) Android: http://192.168.192.10/app.apk