Bei einer EGroupware Standard-Installation wird MariaDB als Docker-Container installiert, konfiguriert und betrieben.
Über die Gründe und Vorteile gibt dieser Vortrag Auskunft:
Der Datenbank-Container läuft im Docker-Netzwerk und ist vom Host oder externen Netzwerk nicht direkt erreichbar. Dies ist auch ein Sicherheit-Feature.
Im Regelfall ist es nicht notwendig an der Datenbank Änderungen vor zu nehmen. Allerdings gibt es auch mal Situationen, welche das erfordern…
Bei Arbeiten an der Datenbank immer vorher eine Datensicherung erstellen:
Backup einer EGroupware
Um die Datenbank zu administrieren gibt es verschiedene Möglichkeiten:
Datenbank im Host-Netz
Um an die Datenbank zu gelangen bzw. Kontakt aufzunehmen muss die Datenbank außerhalb des Docker-Netzwerks erreichbar gemacht werden.
Dazu muss in der
/etc/egroupware-docker/docker-compose.override.yml
der Eintrag
service:
db:
ports:
- "127.0.0.1:3306:3306"
hinzugefügt werden.
Danach muss der Container neu gestartet werden:
cd /etc/egroupware-docker
docker-compose restart
Jetzt ist die Datenbank auf dem Host unter Port 3306 erreichbar.
Arbeiten im Datenbank-Container
Eine weitere Möglichkeit ist das Betreten des Datenbank-Containers. Um dieses zu erleichtern steht ein Script bereit unter:
/etc/egroupware-docker/mysql.sh
Verwendung phpMyAdmin
Für eine grafische Administration der Datenbank kann auch phpMyAdmin verwendet werden.
Die Installation/Konfiguration von phpMyAdmin ist vorbereitet und kann als Docker-Container nachinstalliert werden.
Die Anleitung finder sich auf dem installierten System oder auf GitHub:
Es sollte unbedingt darauf geachtet werden, phpMyAdmin nach Benutzung wieder zu stoppen (wie in der phpmyadmin.yml beschrieben). Ansonsten macht man ein potentielle Angriffsfläche auf die Datenbank auf.
Ein cron-Job, welcher den Container zu einem bestimmten Zeitpunkt (Feierabend, Abends, …) stoppt sorgt für zusätzliche Sicherheit (falls man es mal vergisst).
Für Fragen, Anregungen usw. bitte wie immer jeweils ein eigenes Thema im Forum erstellen und auf diesen Artikel Bezug nehmen.