My installation of EGroupware 19.1 on Debian 10
Kommentare und Fragen zu dem Artikel bitte jeweils als neues Thema im Forum erstellen! Das Thema ist geschlossen und man kann somit nicht darauf antworten.
Hallo Zusammen.
Ich möchte hier einmal dokumentieren, warum und wie ich meine private EGroupware-Installation neu aufgesetzt habe.
Diese Installation kann man natürlich auch zur Migration/Update einer älteren EGroupware verwenden. Zu dem zusätzlich nötigen Schritt habe ich am Ende noch etwas geschrieben.
Warum habe ich neu installiert?
Ich hatte bereits auf meiner 17.1-Installation das Update auf die 19.1 durchgefĂĽhrt und habe damit wochenlang gearbeitet.
Für die Installation habe ich seinerzeit ein Ubuntu Server gewählt, weil ich als Webserver einen Nginx einsetzen wollte. Ich wollte halt auch das letzte Quäntchen Performance heraus holen. Des weiteren wollte ich ein sehr aktuelles PHP und SSL einsetzen. So sollte eine sehr sichere SSL-Konfiguration und das Einschalten von HTTP/2 möglich sein. Das alles war mit einem Ubuntu möglich.
Durch die neue Konstellation mit EGroupware in einem Docker-Container sah ich nun die Möglichkeit, mir als Host-System ein schlankes Debian zu installieren. Dieses schleppt nicht so viel (für mich) unnützen Ballast von Canonical mit herum. Ein paar administrative Sachen gefallen mir auch nicht.
Bei der Installation habe ich mich fĂĽr einen Apache als Reverse-Proxy auf dem Host entschieden, weil dieses an der Stelle kaum mehr eine Rolle fĂĽr die Performance spielt.
Nun will ich die Installation/Migration Schritt für Schritt beschreiben. Ich habe dafür ca. 2 Stunden benötigt. Es benötigt etwas länger als früher (17.1 = 1 Stunde komplett), weil ich direkt die Collabora Online- und Rocket.Chat-Container habe mit installieren lassen. Bei meiner I-Net-Leitung…
Somit beschreibe ich hiermit eine Standard-Installation unter optimalen Bedingungen.
Und bitte beachten: Das ist MEIN Weg zu installieren. Es gibt reichlich Möglichkeiten die Dinge anders zu machen.
Gegeben sind:
Domain
Eine eigene Domain mit eingerichteten Sub-Domain (die per DDNS mit meiner wechselnden IP versorgt wird)
Port-Weiterleitungen
Auf meinem Router sind fĂĽr (meine EGw) die Ports 443 und 80 Portweiterleitungen eingerichtet
Proxmox-VE-Server
Ich installiere auf meinem Proxmox-Server. Das ist ein älterer Dell-Optiplex 790 mit 8GB RAM, SSD, 2 Core (4 HT). Parallel laufen dort noch ein UCS, ein Mail-Server, ein Wiki und temporär Testsysteme.
Nach wesentlichen Installations-/Konfigurationsschritten mache ich jeweils ein Voll-Backup.
Installation Debian 10
Zur Installation verwende ich eine Debian Netinstall-ISO (amd64): https://www.debian.org/CD/netinst/
Als Hardware konfiguriere ich erst einmal:
32GB Festplatte
2 Core
2GB RAM
Ich führe eine “Standard-Installation” mit den entsprechenden Sprach- und Festplatten-Einstellungen durch.
Letztendlich wähle ich eine minimale Softwareausstattung:
Installation Zusatz-Software
Ich installiere mir meine Zusatz-Software, die ich für meine Arbeit am System benötige:
mc
FĂĽr Arbeiten auf der Konsole
ddclient
Um meine Sub-Domain mit meiner aktuellen IP zu versorgen
qemu-guest-agent
FĂĽr meine Proxmox-KVM-Virtualisierung. Zeigt mir vor allen die aktuelle IP der VM an.
net-tools
Ich kann mich noch nicht von ifconfig
lösen…
gnupg
Wird für die Installation von repo-Schlüsseln benötigt
htop
Besser als top…
Alle zusammen:
apt install mc ddclient qemu-guest-agent net-tools gnupg htop -y
ddclient fragt während der Installation ein paar Konfigurations-Daten ab. Diese habe ich erst einmal irgendwie angegeben. Ich weder die entstehende Konfigurations-Datei später einfach vom Alt-System kopieren.
Ich möchte per ssh auf das System zugreifen. Darum ändere ich (mit Unterstützung vom mc) in der
/etc/ssh/sshd_config
#PermitRootLogin prohibit-password
=>
PermitRootLogin yes
Somit ist der root-Zugriff von extern erlaubt.
Das sollte auch nur machen, wer das wirklich will und die Umgebung es erlaubt. Bei einem System, welches direkt mit dem Internet verbunden ist, verbietet sich das. Man muss dann mit dem unprivilegierten Benutzer arbeiten, den man bei der Installation angelegt hat.
Ein restart von ssh
service sshd restart
aktiviert die Einstellung und ich kann per ssh auf die Installation zugreifen. Somit kann ich auch in einem lokalen Terminalfenster copy and paste machen
Webmin (Optional)
Als Web-basiertes grafisches Admin-Werkzeug fĂĽr mich unentbehrlich. Bin ja kein Kommandozeilen-Guru.
Installation aus dem Webmin-Repo: http://www.webmin.com/deb.html
Die Installation und Benutzung von Webmin birgt auch immer ein zusätzliches Sicherheitsrisiko. Man ist damit immer mit root-Rechten am System. Es gilt das gleiche wie beim externen Zugriff per ssh: Nur in sicheren Umgebungen verwenden. Direkt am Internet oder im Unternehmen/zu Hause als exposed Server verbietet sich das!
Installation EGw
Ich trage das repo ein, importiere den key und aktualisiere die apt-db:
echo 'deb http://download.opensuse.org/repositories/server:/eGroupWare/Debian_10/ /' > /etc/apt/sources.list.d/server:eGroupWare.list
wget -nv https://download.opensuse.org/repositories/server:eGroupWare/Debian_10/Release.key -O Release.key
apt-key add - < Release.key
apt update
Bis hier hin ist die Festplatte mit ~2 GB belegt.
Ich installiere EGw 19.1 mit
apt install egroupware-docker -y
Damit wird EGw 19.1 mit Apache als Reverse-Proxy und Maria-DB als Datenbank installiert.
Das dauert nun einige Zeit. Bei etwas über 4Mbit/s besonders…
Die Installation hat dann letztendlich etwas ĂĽber 30 Minuten gedauert.
Für die zusätzlichen Pakete werden ~500 MB zusätzlicher Plattenplatz benötigt. Dazu kommen dann die Docker-Container.
Nach der Installation ist die Festplatte mit ~8,5 GB belegt. Das Backup auf dem Proxmox-Server ist ~4GB groĂź und wird in 01:22 Minuten gesichert.
Der RAM-Bedarf liegt bei 1,6 GB mit allen laufenden Containern.
Ein docker ps
zeigt:
SSL-Zertifikat
Das habe ich hier ausfĂĽhrlich beschrieben:
Installation EPL-Komponenten
Da ich eine EPL-Lizenz habe, installiere ich mir die zusätzlichen EPL-Komponenten wie hier beschrieben:
Nachinstallation alte Apps
Ich verwende noch alte, abgekĂĽndigte Apps, die nicht mehr im Standard-Lieferumfang sind. Die Installation ist dokumentiert:
Damit installiere ich mir das Wiki und die Wissensdatenbank.
Import Datenbank
Die Installation von allem was ich benötige ist erledigt. Nun ist es an der Zeit die EGw-Datenbank von meinem “Altsystem” in die neue Installation einzuspielen.
Dazu mach ich auf dem alten System gerade noch einmal eine Datensicherung:
Zum kopieren benötige ich beide Systeme eingeschaltet. Dazu habe ich im alten System die IP-Adresse geändert. Nun kann ich per mc/ssh die Daten kopieren:
Somit habe ich sowohl die Backup-Dateien, als auch meine VFS-Dateien kopiert.
Nun kann ich die alte Installation herunter fahren. Auf der neuen spiele ich die letzte Datenbanksicherung wieder ein:
Zu guter Letzt muss ich noch meine Hintergrund-Bilder und das Fav-Icon wieder einspielen.
Fertig!
Docker-Werkzeuge
Ich habe dazu einen Beitrag geschrieben:
https://help.egroupware.org/t/de-docker-werkzeuge/74119
Upgrade von <19.1
Für ein Upgrade von einer Version vor 19.1 (also z. B. 17.1) kann ich einfach die Datensicherung der alten Version einspielen. Das sollte bei einer 17.1 keinerlei Probleme bereiten. Um so weiter die Version zurück liegt, um so länger sie in Benutzung war und um so mehr daran “herumgefummelt” wurde, um so größer ist das Risiko dass etwas schief läuft. Das liegt in der Natur der Sache. Es haben aber auch noch in letzter Zeit einige erfolgreich 1.4er und 1.8er-Versionen hochgezogen.
Auf jeden Fall sollte man im Setup noch einmal alles prĂĽfen.