nfb:software:installation:pi:xpi:web
Notfallbox Xpi: Installation der Server-Dienste
Die Server-Dienste stellen das Herz der Notfallbox dar. Sie stellen die Daten für den Benutzer bereit und müssen daher zunächst einmal installiert und getestet werden. Sie bestehen im Endeffekt aus einer klassichen LAMP-Konfiguration (Linux, Apache, MySQL, PHP), mit einigen sinnvollen Erweiterungen.
Web-Server Apache2
Obwohl in der Notfallbox V1 das Server-Leichtgewicht „lighttpd“ zum Einsatz kommt, haben wir uns für die V2 entschlossen, den Apache2-Server zu verwenden, da dieser in Sachen Verzeichnissicherung (siehe Admin-Interface) doch etwas einfacher zu handhaben ist - einfacher im Sinne des Benutzers
sudo apt -y install apache2
- Ist man mit dem WLAN der Notfallbox verbunden, testen wir das Ganze im Browser mit http://10.0.0.1
- Ist man über LAN mit der Notfallbox verbunden, testen wir das Ganze im Browser mit der LAN-IP-Adresse der Notfallbox.
- Es wird dann die Debian-Apache Standard-Seite angezeigt.
Scriptsprache PHP
sudo apt -y install php php-mysql
sudo nano /var/www/html/phpinfo.php
Inhalt erstellen, speichern und schliessen:
<?php phpinfo(); ?>
- Im Webbrowser abrufen: http://10.0.0.1/phpinfo.php
- ACHTUNG: Die PHP-Version kann abweichen!!! Es wird nicht zwangsweise die Version 8.x installiert.
Datenbank MariaDB
sudo apt -y install mariadb-server mariadb-client
sudo systemctl start mariadb && sudo systemctl enable mariadb
systemctl is-active mariadb
Ergebnis: activesudo mysql_secure_installation
Enter current password for root: [ENTER] Set root password? [Y/n] Y New password: notfallbox Re-enter new password: notfallbox Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y
sudo mariadb -u root -pnotfallbox
CREATE USER 'notfallbox'@'localhost' IDENTIFIED BY 'notfallbox'; GRANT ALL PRIVILEGES ON notfallbox . * TO 'notfallbox'@'localhost'; FLUSH PRIVILEGES; SELECT User,Host FROM mysql.user; exit;
- Ausgabe:
+-------------+-----------+ | User | Host | +-------------+-----------+ | mariadb.sys | localhost | | mysql | localhost | | notfallbox | localhost | | root | localhost | +-------------+-----------+ 4 rows in set (0,001 sec)
Verwaltungstool phpMyAdmin
sudo apt -y install phpmyadmin
- „Konfiguriere phpmyadmin / Webserver“:
apache - OK
- „Konfigurieren der Datenbank für phpmyadmin mit dbconfig-common?“:
JA
- Passwort:
notfallbox - OK
- In sehr vielen Fällen der Installation (unter Raspberry OS 10 & 11) auf dem Raspberry PI beendete sich die Installation mit einem Fehler. Das macht aber nichts. In diesem Fall die Installation mittels
sudo apt -y install phpmyadmin
einfach noch einmal starten. sudo mariadb -u root -pnotfallbox
GRANT ALL PRIVILEGES ON *.* TO 'phpmyadmin'@'localhost'; FLUSH PRIVILEGES; EXIT;
- In einem Browser
http://10.0.0.1/phpmyadmin
aufrufen, wenn man über den Hotspot verbunden ist. Ansonsten bitte die lokale IP-Adresse verwenden.
- „Benutzername“:
phpmyadmin
- „Passwort“:
notfallbox
- Bitte im Reiter „Datenbank“ prüfen, ob phpmyadmin berechtigt ist, neue Datenbanken anzulegen.
- Zum Verlassen des Admin bitte das Tür-Symbol oben links anklicken
ACHTUNG: Sollte der Aufruf des phpmyadmin trotz einer erfolgreichen Installation nicht funktionieren, so hilft vielleicht dieser Befehl:
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin
Denn die Web-Server-Dateien des phpmyAdmin liegen NICHT dort, wo alle anderen Web-Server-Dateien zu liegen kommen.
FTP-Server proftpd
sudo apt -y install proftpd && sudo mkdir /home/ftp && cd /etc/proftpd
- FTP-Benutzer erstellen (nicht identisch mit einem Linux- oder Datenbank-Nutzer):
sudo ftpasswd --passwd --name notfallbox --gid 33 --uid 33 --home /home/ftp --shell /bin/false
- Passwort (zweimal):
notfallbox
sudo nano /etc/proftpd/proftpd.conf
Folgende Zeilen ans Ende anhängen:
# Anpassungen für Notfallbox Xpi DefaultRoot /home/ftp AuthOrder mod_auth_file.c mod_auth_unix.c AuthUserFile /etc/proftpd/ftpd.passwd AuthPAM off RequireValidShell off
- Editor beenden und Datei speichern
sudo chmod 777 /home/ftp && sudo /etc/init.d/proftpd restart
- Im Anschluss mit einem FTP-Client den Datei-Abruf prüfen.
Groupware citadel
sudo apt -y install build-essential curl g++ gettext shared-mime-info libssl-dev zlib1g-dev
sudo modprobe ipv6 && cd ~ && sudo mkdir -p /etc/citadel/netconfigs/7
- ACHTUNG: Der nächste Schritt dauert twas länger, da zunächst erst alle Source-Codes auf den RPI geladen und diese anschliessend compiliert werden müssen. Mit einer Laufzeit von 1 Stunde (RPI3/1GB RAM) bzw. 20 Minuten (RPI4/8GB RAM) bzw. 5-10 Minuten (RPI5/8GB RAM) sollte man rechnen.
curl https://easyinstall.citadel.org/install | sudo bash
- Viermal die Fragen mit Y quittieren, und dann Kaffee trinken gehen
- Benutzername /Passwort für den Administrator: notfallbox/notfallbox
- Benutzername auswählen: citadel
- IP-Adresse: *
- Port-Nummer: 504
- Authentifizierungs-Methode: 0
- Port-Adresse http: 8090
- Port-Adresse https: 8890
- Ist die Installation und Konfiguration abgeschlossen kann Citadel durch die über den Webbrowser getestet werden:
http://10.0.0.1:8090
SSH-Web-Client shellinabox
sudo apt -y install openssl shellinabox
sudo nano /etc/default/shellinabox
Die Konfigurationsdatei wie folgt anpassen:
# 1 = Automatischer Start mit dem Booten SHELLINABOX_DAEMON_START=1 # TCP port - bitte auf einen beliebigen Wert ändern # Bitte aufpassen, dass nicht bereits bekannte Ports genutzt werden. SHELLINABOX_PORT=666 # Optionale Argumente: # --no-beep - Schaltet den Terminal-Beep aus SHELLINABOX_ARGS="--no-beep" # IP-Adresse für den SSH-Connect # 10.0.0.1 für den Zugang per WLAN-Access Point # 192.168.xxx.yyy für den Zugang per LAN OPTS="-s /:SSH:10.0.0.1"
sudo systemctl restart shellinabox
- Dann im Webbrowser die IP-Adresse der Notfallbox mit dem oben konfigurierten Port eingeben. Beispiel:
https://10.0.0.1:666
- Wichtig: https Dann ganz normal einloggen, als säße man an einem lokalen ssh-Client.
Je nach Browser wird die Verbindung als „nicht sicher“ angemeckert. Soweit man sich nicht die Mühe eines eigenen SSL-Zertifikates unterzieht, muss man damit leben
Monsta (Web-)FTP-Client
… Beschreibung folgt
Nachdem nun alles funktioniert, fehlen nur noch die Inhalte für den Webbrowser, um aus diesem PC eine „Notfallbox“ zu machen.
nfb/software/installation/pi/xpi/web.txt · Zuletzt geändert: 2024/11/11 18:47 von dj1ng