LAMP-Installation

Es erfolgt das Aufsetzen des LAMP-Servers und eine für jeden Zweck als Basis geeignete Grundkonfiguration. Letztere muss natürlich auf die eigenen Verhältnisse angepasst werden. Dies geschieht später unter Einsatz in dieser Dokumentation.

Die Server-Hardware ist nun betriebsbereit. Sie könnte theoretisch für alle gewünschten Zwecke genutzt werden, schliesslich haben wir es hier mit einem multifunktionalen Micro-Server mit unterbrechungsfreier Stromversorgung zu tuen.
Wir werden aber nun unsere besondere Anwendung "Notfunk-Server" installieren.
  1. Login
    Aus Sicherheitsgründen melden wir uns am Server immer mit dem Benutzernamen pi und dem von uns gewählten Passwort an.
    Ein Login als Benutzer "root" ist über SSH nicht möglich, bzw. müsste freigegeben werden. Der Benutzer pi ist zwar ein ganz normaler Anwender (es gibt sowieso nur drei Nutzerebenen bei Linux: Administrator, Benutzer, Dienst), hat aber die zusätzliche Berechtigung, das Kommando sudo zu verwenden und somit Befehle ohne Passworteingabe auf der Berechtigungsstufe "root" auszuführen.

  2. Webserver installieren sudo apt -y install apache2; Webbrowser starten und folgende URL aufrufen: http://dl0xyz Alles, was abrufbar sein soll, landet unter /var/www/html

  3. PHP installieren (derzeit aktuell: Version 7.3) sudo apt -y install php; Datei erstellen: sudo nano /var/www/html/phpinfo.php; Inhalt der Datei (Speichern nicht vergessen):
    <?php phpinfo(); ?>
    Das PHP-Modul wird mit folgendem Aufruf im Webbrowser geprüft: http://dl0xyz/phpinfo.php

  4. Datenbank installieren sudo apt -y install mariadb-server php7.3-mysql mariadb-client;
    sudo mariadb -u root;
    Einen Root-User für die MariaDB erstellen:
    MariaDB [(none)]> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('Heinrich23Hertz42'); MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT; Zum Testen in den Datenbank-Server einloggen:
    sudo mariadb -u root -p; Enter password: Heinrich23Hertz MariaDB [(none)]> EXIT;

  5. phpMyAdmin installieren sudo apt -y install phpmyadmin php7.3-mysql; Als Webserver folgendes wählen: apache2
  6. Standard-Datenbank anlegen lassen
    Das (gut gemerkte) Passwort vom mysql-root-Benutzer eingeben
    Ein neues Passwort für den Benutzer "phpmyadmin" eingeben
    Im Webbrowser abrufen und mit dem Benutzer phpmyadmin anmelden: http://dl0xyz/phpmyadmin Versuchen, eine Datenbank anzulegen. Sollte der Benutzer phpmyadmin keine Rechte dazu haben, dann wieder auf den SSH Zugang gehen und folgendes durchführen:
    sudo mariadb -u root -p; MariaDB[(none)]> grant all privileges on *.* to 'phpmyadmin'@'localhost'; MariaDB[(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affetced (0,0 sec)
    MariaDB [(none)]> EXIT; Nun sollte sowohl die Benutzerverwaltung als auch das Anlegen neuer Datenbank in phpMyAdmin für den gleichnamigen Nutzer möglich sein.

  7. FTP-Server installieren sudo apt -y install proftpd;
    cd /etc/proftpd;
    FTP-Benutzer erstellen (nicht identisch mit einem Raspbian-Nutzer): sudo ftpasswd --passwd --name DB5SOS --gid 33 --uid 33 --home /var/www/ --shell /bin/false; Passwort (zweimal):
    Bell600
    sudo nano /etc/proftpd/proftpd.conf; Folgende Zeilen ans Ende anhängen:
    # Anpassungen fuer Notfunk-Server
    DefaultRoot /var/html
    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 g+s /var/www;
    sudo chmod 775 /var/www;
    sudo /etc/init.d/proftpd restart;
    Im Anschluss mit einem FTP-Client den Datei-Abruf prüfen.

  8. Groupware Citadel einrichten 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 lange, da zunächst erst alle Source-Codes auf den RPI geladen und diese anschliessend compiliert werden. Mit einer Laufzeit von 1 Stunde (RPI3/1GB RAM) bzw. 20 Minuten (RPI4/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 (DB5SOS) und Passwort (Bell600) für den Administrator setzen
    Benutzername auswählen, unter welchem Citadel ausgeführt wird. Es wird hier citadel empfohlen anstatt "root".
    Die IP-Adresse, auf welcher der Server auf Anfragen wartet sollte auf dem Default * bleiben.
    Standard-Port-Nummer für den Citadel-Server auf 504 belassen.
    Bei der Authentifizierungs-Methode die Auswahl 0 beibehalten.
    Nun werden die Port-Adressen für den Citadel-eigenen Webserver (WebCit) abgefragt. Bitte hier die Portnummern 8080 (HTTP) und 8443 (HTTPS) wählen, damit dieser sich nicht mit dem bereits installierten Apache-Webserver beisst.
    Ist die Installation und Konfiguration abgeschlossen kann Citadel durch die über den Webbrowser getestet werden: http://dl0xyz:8080 Installation und Konfiguration gibt es HIER auch noch mal im Detail (Englisch).


  9. LAN-Interface einrichten sudo apt -y install telnet;
    sudo nano /etc/dhcpcd.conf;
    Den Abschnitt für die ETH0 Schnittstelle entkommentieren und ändern. Dieser sollte für die IP-Apresse 192.168.42.201 wie folgt aussehen:
    # Konfiguration fuer Notfunk-Server
    interface eth0
    static ip_address=192.168.42.201/24
    static routers=192.168.42.1
    static dmoain_name_servers=192.168.42.1 8.8.8.8
    LAN-Kabel im RPI einstecken! Sonst bekommt der Rechner keine IP-Adresse. sudo reboot; Erneuter Login / NPR-70 Modem einschalten telnet 192.168.42.254;
Nun sollte alles funktionieren. Am besten testet man die Konfiguration, wenn alle Webserver-Abrufe (wie oben beschrieben) auch von der Datenstation aus erfolgreich verlaufen.

Es gibt auch noch einige wenige Optionen