Notfallbox Xpc: Installation der Server-Dienste
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.</note>
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 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 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
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 V3a 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 etwas 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 & PC) 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=6175 # 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.
Nachdem nun alles funktioniert, fehlen nur noch die Inhalte für den Webbrowser, um aus diesem PC eine „Notfallbox“ zu machen.