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-configuration

      Dann 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:


startxfce4

4. GParted öffnen: Applications → Run Program → gparted


Partitionsschema

PartitionGrösseFilesystemMountpoint
/dev/sda1105 MBFAT32/boot/efi (behalten)
/dev/sda220 GBext4/
/dev/sda35 GBext4/tmp
/dev/sda415 GBext4/var
/dev/sda55 GBext4/opt
/dev/sda650 GBext4/opt/ecodms/data
/dev/sda750 GBext4/opt/ecodms_database
/dev/sda815 GBext4/mail
/dev/sda9140 GBext4/backup

Schritt 1 — /dev/sda1 verkleinern

  1. Rechtsklick auf /dev/sda1Resize/Move
  2. Neue Grösse eingeben: 20480 MB (= 20 GB)
  3. Resize klicken

Schritt 2 — Neuen freien Speicher aufteilen

Im nun freien Bereich nacheinander neue Partitionen erstellen. Rechtsklick auf „unallocated“ → New:

PartitionGrösse (MB)FilesystemLabel
neue sda5120ext4tmp
neue sda15360ext4var
neue sda5120ext4opt
neue sda51200ext4ecodms-data
neue sda51200ext4ecodms-db
neue sda15360ext4mail
Rest (~143 GB)alles übrigeext4backup

„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/data
mkdir -p /opt/ecodms_database
systemctl daemon-reload
mount -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/dpkg
mkdir -p /var/backups
mkdir -p /var/local
mkdir -p /var/mail
mkdir -p /var/snap
mkdir -p /var/lib/python3
rm /usr/share/python3/runtime.d/byobu.rtupdate

 

Dann dpkg reparieren:

dpkg --configure -a
apt 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 fail2ban
systemctl start fail2ban
ufw allow 22/tcp
ufw enable
ufw status
systemctl 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

verschieben:

mv /var/lib/postgresql /opt/ecodms_database/postgresql

Config anpassen:

vi /etc/postgresql/16/main/postgresql.conf

Zeile ändern:

data_directory = '/opt/ecodms_database/postgresql/16/main'

 

starten + prüfen:

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


Installieren:

apt install dovecot-core dovecot-imapd dovecot-mysql


 

Config Files anpassen (siehe Dovecot Install)

.

 

nach oben