Contabo – VPS Server Setup
Server Setup für ecoDMS + Mailserver (Dovecot)
Start-Config
- Wähle ein Server Passwort ohne Sonderzeichen – denn das Tastaturlayout stimmt meist nicht + daher wird es schwierig mit dem einloggen.
- Einloggen per VNC (Passwort vorher über Contabo Control Panel setzen)
- Tastaturlayout Anpassen:
sudo dpkg-reconfigure keyboard-configurationDann durch den Dialog:
- Keyboard model → Generic 105-key (oder dein Modell)
- Country → Switzerland
- Layout → German (Switzerland)
- danach:
sudo service keyboard-setup restart
sudo locale-gen de_CH.UTF-8
sudo update-locale LC_ALL=de_CH.UTF-8 LANG=de_CH.UTF-8 - SSH aktivieren (ist bereits installiert)
sudo systemctl enable ssh
sudo systemctl start ssh
Prüfen:sudo systemctl status ssh - Jetzt per SSH connecten für das weitere Setup
ssh benutzer@deine-ip
Partitionieren
1. Im Contabo Panel:
- „Manage“ → „Rescue System“
- Passwort setzen
- Server bootet ins Rescue System
2. Via VNC einloggen als root mit dem gesetzten Passwort
3. GUI starten:
startxfce44. GParted öffnen: Applications → Run Program → gparted
Partitionsschema
| Partition | Grösse | Filesystem | Mountpoint |
|---|---|---|---|
/dev/sda1 | 105 MB | FAT32 | /boot/efi (behalten) |
/dev/sda2 | 20 GB | ext4 | / |
/dev/sda3 | 5 GB | ext4 | /tmp |
/dev/sda4 | 15 GB | ext4 | /var |
/dev/sda5 | 5 GB | ext4 | /opt |
/dev/sda6 | 50 GB | ext4 | /opt/ecodms/data |
/dev/sda7 | 50 GB | ext4 | /opt/ecodms_database |
/dev/sda8 | 15 GB | ext4 | /mail |
/dev/sda9 | 140 GB | ext4 | /backup |
Schritt 1 — /dev/sda1 verkleinern
- Rechtsklick auf
/dev/sda1→ Resize/Move - Neue Grösse eingeben: 20480 MB (= 20 GB)
- Resize klicken
Schritt 2 — Neuen freien Speicher aufteilen
Im nun freien Bereich nacheinander neue Partitionen erstellen. Rechtsklick auf „unallocated“ → New:
| Partition | Grösse (MB) | Filesystem | Label |
|---|---|---|---|
| neue sda | 5120 | ext4 | tmp |
| neue sda | 15360 | ext4 | var |
| neue sda | 5120 | ext4 | opt |
| neue sda | 51200 | ext4 | ecodms-data |
| neue sda | 51200 | ext4 | ecodms-db |
| neue sda | 15360 | ext4 | |
| Rest (~143 GB) | alles übrige | ext4 | backup |
„Partition Name“ entweder leer lassen oder das gleiche wie bei Label rein schreiben.
Schritt 3 — Änderungen anwenden
Oben auf den grünen Haken ✓ klicken → „Apply All Operations“
⚠️ Erst danach werden die Änderungen wirklich geschrieben!
Jetzt rebooten, um Server wieder normal zu starten
reboot
/etc/fstab einrichten
UUIDs raus suchen:
# blkid | grep sda
/dev/sda4: LABEL="opt" UUID="1a2caeb7-7780-4bf6-8583-7b94115ea0c2" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="opt" PARTUUID="5ee847e0-9b04-4102-9c80-03b3768f3644"
/dev/sda16: LABEL="BOOT" UUID="02ae2efa-0a43-47c2-94dd-0cab2e898ba6" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="251d947f-e890-4fc9-aab5-32d0584ca3f8"
/dev/sda2: LABEL="tmp" UUID="fba4d803-9f68-4cbb-926b-51b6b8df4aad" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="tmp" PARTUUID="06d853b8-13de-47ce-9006-e568173a602b"
/dev/sda7: LABEL="mail" UUID="00bce287-db88-44a3-9853-506724f5988e" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="mail" PARTUUID="dd2fd908-62f8-4f91-8856-2b18b6174626"
/dev/sda5: LABEL="ecodms-data" UUID="f67995f6-5ae3-4d50-8b07-781a015e802e" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ecodms-data" PARTUUID="05e98365-6cf4-46d3-be0b-969689bcf13d"
/dev/sda3: LABEL="var" UUID="1253a41f-6a53-41c3-90b3-2ab3b2aa3c87" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="var" PARTUUID="f964a19d-ec81-439a-976a-3f39fcb88880"
/dev/sda15: LABEL_FATBOOT="UEFI" LABEL="UEFI" UUID="A732-B748" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="c2d8823d-c32e-42b0-aeea-9025bfa72093"
/dev/sda1: LABEL="cloudimg-rootfs" UUID="6d085073-3c5a-49aa-9133-d0c30d62315b" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="33145b69-de24-47b8-9114-e691b1972e92"
/dev/sda8: LABEL="backup" UUID="c8f32f9a-a456-4e73-9178-4ef4617c38be" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="backup" PARTUUID="8ae003e0-8ca6-4de9-b73e-842938e9f2f0"
/dev/sda6: LABEL="ecodms-db" UUID="56956818-db52-4410-b7d9-4c899e6664da" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="ecodms-db" PARTUUID="c533b2e2-2438-471a-8c64-5340c5190119"
/dev/sda14: PARTUUID="c0485e87-9979-4be9-8211-edaf8aae81b1"
Und daraus das fstab generieren:
vi /etc/fstab
folgendes einfügen:
# Neue Partitionen
UUID=fba4d803-9f68-4cbb-926b-51b6b8df4aad /tmp ext4 defaults 0 2
UUID=1253a41f-6a53-41c3-90b3-2ab3b2aa3c87 /var ext4 defaults 0 2
UUID=1a2caeb7-7780-4bf6-8583-7b94115ea0c2 /opt ext4 defaults 0 2
UUID=f67995f6-5ae3-4d50-8b07-781a015e802e /opt/ecodms/data ext4 defaults 0 2
UUID=56956818-db52-4410-b7d9-4c899e6664da /opt/ecodms_database ext4 defaults 0 2
UUID=00bce287-db88-44a3-9853-506724f5988e /mail ext4 defaults 0 2
UUID=c8f32f9a-a456-4e73-9178-4ef4617c38be /backup ext4 defaults 0 2
Und jetzt noch die Mountpunkte erstellen:
mkdir -p /opt/ecodms/data
mkdir -p /opt/ecodms_database
mkdir /mail
mkdir /backup
und jetzt mounten
mount -a
Und per
df -h
mounts checken
Filesystem Size Used Avail Use% Mounted on
tmpfs 795M 976K 794M 1% /run
/dev/sda1 20G 2.3G 18G 12% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda16 881M 117M 703M 15% /boot
/dev/sda15 105M 6.2M 99M 6% /boot/efi
tmpfs 795M 12K 795M 1% /run/user/0
/dev/sda2 4.9G 24K 4.6G 1% /tmp
/dev/sda3 15G 24K 14G 1% /var
/dev/sda4 4.9G 24K 4.6G 1% /opt
/dev/sda7 15G 24K 14G 1% /mail
/dev/sda8 136G 28K 129G 1% /backup
Ah… die EcoDMS Verzeichnisse FEHLEN werden erst nach dem Mounten von opt erstellt. Daher jetzt nach dem mounten nochmals ausführen:
mkdir -p /opt/ecodms/datamkdir -p /opt/ecodms_databasesystemctl daemon-reloadmount -a
Und jetzt ist alles, wie es sein soll:
# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 795M 1004K 794M 1% /run
/dev/sda1 20G 2.3G 18G 12% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/sda16 881M 117M 703M 15% /boot
/dev/sda15 105M 6.2M 99M 6% /boot/efi
tmpfs 795M 12K 795M 1% /run/user/0
/dev/sda2 4.9G 24K 4.6G 1% /tmp
/dev/sda3 15G 24K 14G 1% /var
/dev/sda4 4.9G 36K 4.6G 1% /opt
/dev/sda7 15G 24K 14G 1% /mail
/dev/sda8 136G 28K 129G 1% /backup
/dev/sda5 49G 24K 47G 1% /opt/ecodms/data
/dev/sda6 49G 24K 47G 1% /opt/ecodms_database
Installation Software
Kleines Problem noch: dass /var beim ersten Boot leer war und Ubuntu nur das Nötigste neu erstellt hat.
Daher jetzt noch kurz fehlende Verzeichnisse erstellen:
mkdir /var/lib/dpkgmkdir -p /var/backupsmkdir -p /var/localmkdir -p /var/mailmkdir -p /var/snap
mkdir -p /var/lib/python3
rm /usr/share/python3/runtime.d/byobu.rtupdate
Dann dpkg reparieren:
dpkg --configure -aapt update
Und nun weiter mit:
- System updaten (
apt update && apt upgrade) - Grundsicherheit (fail2ban, ufw Firewall)
- ecoDMS
- Dovecot (Mail)
- DNS
System updaten
apt update
apt upgrade -y
Grundsicherheit
Firewall (ufw):
apt install -y ufw fail2ban
ufw allow 22/tcp
ufw enable
Aktivieren und Status prüfen:
systemctl enable fail2bansystemctl start fail2banufw allow 22/tcpufw enableufw statussystemctl status fail2ban
Jetzt nochmal upgrade:
apt upgrade -y
ecoDMS installieren
Port freigeben
ufw allow 17001 comment ecoDMS
ecoDMS Repository hinzufügen
echo "deb http://www.ecodms.de/ecodms_260164/noble /" > /etc/apt/sources.list.d/ecodms.list
wget -qO /etc/apt/trusted.gpg.d/ecodms.asc http://www.ecodms.de/gpg/ecodms.key
apt update
ecoDMS installieren
apt install ecodmsserver
Postgres DB in eigene Partition verschieben
Zuerst alles stoppen (ecodms startet nach installation selber)
service ecodms stop
service postgresql stop
mv /var/lib/postgresql /opt/ecodms_database/postgresql
vi /etc/postgresql/16/main/postgresql.conf
Zeile ändern:
data_directory = '/opt/ecodms_database/postgresql/16/main'
service postgresql
start
pg_lsclusters
Dovecot installieren
Ich migriere hier die Daten vom alten Server. Daher mach ich noch einen Zwischenschritt bei den Configs:
Zuerst UID auf vorherigem Server prüfen:
id vmail
Dann auf dem neuen Server mit gleicher UID hinzufügen:
groupadd -g [GID_VON_VORHERIGEM_SERVER] vmail
useradd -u [UID_VON_VORHERIGEM_SERVER] -g vmail -d /mail -s /sbin/nologin vmail
apt install dovecot-core dovecot-imapd dovecot-mysql
Config Files anpassen (siehe Dovecot Install)
.

