SOP Übersicht und Anhänge
SOP-Metadaten
SOP-Nummer: SOP1010
Priorität: Prio 4
Dauer: 45 Minuten
Status: Aktuell
Download:
Beschreibung der Aufgabe / des Problems
Diese SOP beschreibt die vollständige Einrichtung eines MariaDB Datenbankservers auf Debian 13, der von mehreren Webservern im lokalen Netzwerk genutzt wird.
Die Konfiguration beinhaltet:
- Systemupdate
- Installation von Apache
- Installation von PHP 8.4
- Installation und Absicherung von MariaDB
- Installation von phpMyAdmin
- Firewall-Konfiguration
- Benutzer- und Datenbankrechte
- Zugriffsbeschränkung auf definierte Webserver
Die Architektur trennt Webserver und Datenbankserver, um Sicherheit, Skalierbarkeit und Wartbarkeit zu erhöh
Ziel / Endergebnis
Ziel / Endergebnis
Am Ende dieser SOP ist folgendes System eingerichtet:
| Server | IP | Funktion |
|---|---|---|
| MariaDB Server | 192.168.178.23 | Datenbankserver |
| Webserver Nextcloud | 192.168.178.24 | Zugriff auf Datenbank |
| Webserver Website | 192.168.178.25 | Zugriff auf Datenbank |
Ergebnis:
- Datenbankbenutzer erstellt
- MariaDB läuft auf 192.168.178.23
- Zugriff auf Port 3306 nur für definierte Webserver
- Firewall aktiv
- phpMyAdmin installiert
- Apache + PHP 8.4 eingerichtet
Voraussetzungen
- Debian 13 Server installiert
- Root oder sudo Zugriff
- Netzwerk mit statischen IP-Adressen
- SSH Zugriff
- Internetzugang für Paketinstallation
Video-Anleitung
Netzwerkübersicht
Text-Anleitung
| Server | IP | Funktion |
| DB Server | 192.168.178.23 | MariaDB |
| Webserver 1 | 192.168.178.24 | Nextcloud |
| Webserver 2 | 192.168.178.25 | Website |
1. System aktualisieren
sudo apt update && apt upgrade -y
2 Apache Installieren
apt install apache2 -y
3. PHP 8.4 installieren
apt install -y php8.4 php8.4-cli php8.4-common php8.4-curl php8.4-gd php8.4-intl php8.4-mbstring php8.4-mysql php8.4-opcache php8.4-readline php8.4-xml php8.4-xsl php8.4-zip php8.4-bz2 libapache2-mod-php8.4
Apache neu laden
systemctl reload apache2
PHP Module prüfen
php -m | grep -E 'mysqli|pdo_mysql'
4. MariaDB Server installieren
apt install mariadb-server mariadb-client -y
5 MariaDB absichern
Sicherheitskonfiguration starten:
mariadb-secure-installation
Empfohlene Einstellungen:
Remove anonymous users? y Disallow root login remotely? y Remove test database? y Reload privilege tables now? y
6. MariaDB Netzwerk konfigurieren
Datei öffnen:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
Ändern:
bind-address = 192.168.178.23
MariaDB neu starten:
systemctl restart mariadb
Status prüfen:
systemctl status mariadb
7 phpMyAdmin installieren
apt install phpmyadmin -y
Während Installation auswählen:
Webserver: apache2 dbconfig-common: Yes
Konfiguration aktivieren:
a2enconf phpmyadmin systemctl reload apache2
Erklärung:
- a2 = Apache2
- en = enable (aktivieren)
- conf = configuration
8. Firewall installieren
apt install ufw -y
Standardregeln setzen:
ufw default deny incoming ufw default allow outgoing
9. Firewall konfigurieren
SSH Zugriff erlauben:
ufw allow 22/tcp
Webserver Ports erlauben:
ufw allow 80/tcp ufw allow 443/tcp
MariaDB Zugriff nur für Webserver:
Nextcloud Server erlauben:
ufw allow from 192.168.178.24 to any port 3306 proto tcp
Website Server erlauben:
ufw allow from 192.168.178.25 to any port 3306 proto tcp
Bedeutung:
- Zugriff auf Port 3306
- Nur von den angegebenen IP-Adressen
- TCP Protokoll
Firewall aktivieren:
ufw enable
Status prüfen:
ufw status verbose
13. Datenbank und Benutzer anlegen
MariaDB Konsole starten:
mariadb
Admin Benutzer erstellen:
CREATE USER IF NOT EXISTS 'ws_mdb_pool_user'@'localhost' IDENTIFIED BY 'StarkesPasswortVergeben'; GRANT ALL PRIVILEGES ON *.* TO 'ws_mdb_pool_user'@'localhost' WITH GRANT OPTION; #Benutzer für Nextcloud Webserver CREATE USER 'ws_mdb_pool_user24'@'192.168.178.24' IDENTIFIED BY 'StarkesPasswortVergeben'; GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX, CREATE VIEW, SHOW VIEW, TRIGGER, REFERENCES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE ON nextcloud.* TO 'ws_mdb_pool_user24'@'192.168.178.24'; FLUSH PRIVILEGES; #MariaDB verlassen exit;
Zugriff über PHPMyAdmin testen

Unter der IP Eures Servers http://Server-IP/phpmyadmin könnt ihr nun den Login testen.
Im Internen Bereich könnt ihr mit eurem lokalen Admin testen ob ihr Zugriff auf die Datenbanken habt und Admin Rechte habt.
Geht dafür auf Datenbanken und erstellt Datenbanken mit dem Namen nextcloud und website.
Damit ist die Installation des MariaDB Datenbank Servers abgeschlossen.
Besonderheiten
Datenbankserver und Webserver sind getrennt.
Firewall erlaubt Zugriff auf Port 3306 nur für definierte Hosts.
Root Login über Netzwerk ist deaktiviert.
phpMyAdmin dient zur administrativen Verwaltung.
Diese Architektur verbessert:
Skalierbarkeit
Sicherheit
Performance
Weiterführende Fragen
1.) Was ist MariaDB?
MariaDB ist ein Open-Source relationales Datenbanksystem und eine Weiterentwicklung von MySQL.
Warum MariaDB statt MySQL?
MariaDB ist vollständig Open Source, schneller in vielen Szenarien und kompatibel zu MySQL.
Warum eine getrennte Datenbankserver Architektur?
Vorteile:
- höhere Sicherheit
- bessere Skalierbarkeit
- bessere Performance
- einfachere Wartung
Warum Port 3306 beschränken?
Die Einschränkung verhindert unautorisierten Zugriff aus dem Netzwerk.
Nur definierte Server können auf die Datenbank zugreifen.
Wozu phpMyAdmin?
phpMyAdmin ist eine Weboberfläche zur Verwaltung von MySQL/MariaDB Datenbanken.
Funktionen:
- Tabellen erstellen
- SQL Queries ausführen
- Benutzer verwalten
- Backups erstellen
Weiterführende Dokumente
Interne Dokumente:
Externe Dokumente:
Was ist eine SOP (Standard Operating Procedure)?
Eine SOP (Standard Operating Procedure) ist eine klar definierte, schriftliche Arbeitsanweisung, die beschreibt, wie ein Prozess Schritt für Schritt korrekt ausgeführt wird. Sie sorgt dafür, dass Aufgaben einheitlich, nachvollziehbar und in gleichbleibender Qualität erledigt werden.

