V2: Installation des Web-Servers
Als Web-server kommt hier eine LAMP-Konfiguration aus dem Apache2 Web-Server, MariaDB als universeller Datenbank-Server und PHP zum Einsatz. Zudem installieren wir noch phpMyAdmin, um die Datenbanken besser verwalten zu können.
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.
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.
Nach der Installation müssen wir noch drei Parameter in der Initialisierungs-Datei für PHP ändern:
sudo nano /etc/php/8.2/apache2/php.ini
- Folgende Zeilen wie folgt anpassen:
### Setzt die maximale PHP-Script-Laufzeit auf 10 Minuten (600 Sekunden) max_execution_time = 600 ### Setzt die Göße maximal hochladbarer Dateien auf 12 MegaByte upload_max_filesize = 12M ### Setzt die Größe maximal per Formular hochladbarer Dateien auf 12 MegaByte post_max_size = 12M
- Editor beenden und speichern
sudo systemctl restart apache2
Selbstverständlich können die Werte frei gewählt werden und sollten im späteren Verlauf an die eigene Situation angepasst werden - z.B. wenn man den Upload von 20 MB großen Dateien in die Cloud erlauben will!
MariaDB
sudo apt -y install mariadb-server mariadb-client
sudo systemctl start mariadb && sudo systemctl enable mariadb
sudo systemctl status mariadb
Active: active(running)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)
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.
Nachdem nun alles funktioniert, fehlen nur noch die Inhalte für den Webbrowser, um aus diesem PC eine „Notfallbox“ zu machen.