Die NOTFALLBOX - Notfall-Wissen offline!

Per WiFi-/WLAN-Hotspot auf Notfall-Wissen zugreifen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


nfb:software:installation:x86:3b:web

V3b: 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

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 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.
  • 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:6175
  • Wichtig: https ;-) Dann ganz normal einloggen, als säße man an einem lokalen ssh-Client.

In der Regel wird der Browser beim Testen ein falsches bzw. „selbst signiertes SSL-Zertifikat anmeckern. Ganz ehrlich? Das müssen wir im Notfall in Kauf nehmen! SSL-Zertifikate müssen regelmässig erneuert werden - sind daher also NICHT für Not- und Katastrophenbetrieb geeignet.

Nachdem nun alles funktioniert, fehlen nur noch die Inhalte für den Webbrowser, um aus diesem PC eine „Notfallbox“ zu machen.

nfb/software/installation/x86/3b/web.txt · Zuletzt geändert: 2024/04/14 15:50 von dj1ng

Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki