Odoo 19 – vollständige Schritt‑für‑Schritt‑Installation


Hier findest du das vollständige Video dazu:
Odoo 19 auf einem Ubuntu VPS installieren – komplette Schritt-für-Schritt-Anleitung

1. Einführung & Voraussetzungen

Herzlich willkommen zu dieser Anleitung von Mavabit! In diesem Tutorial richten wir Odoo Community Edition auf einem gemieteten VPS-Server ein. Am Ende verfügst du über eine vollständige, aus dem Internet erreichbare Odoo-Installation – ideal zum Testen, Kennenlernen und für den Produktivbetrieb einsatzbereit.

Ein späteres Upgrade auf eine Odoo Enterprise-Lizenz ist jederzeit möglich. Für den Einstieg empfehlen wir jedoch zunächst diesen kostengünstigen Weg über die Community-Version.

Was du für diese Installation benötigst

  • Einen gemieteten VPS-Server (wir empfehlen Hetzner – nicht gesponsert)
  • Eine eigene Domain mit Zugriff auf die DNS-Einstellungen
  • Ubuntu 24.04 LTS oder Ubuntu 26.04 als Betriebssystem
  • Grundlegende Terminal-Kenntnisse (SSH, Dateioperationen)
  • Einen SFTP-Client wie z. B.FileZilla (für Dateiübertragungen)


Odoo Community vs. Enterprise: Die Community Edition ist vollständig kostenlos und Open Source. Sie eignet sich hervorragend für den Einstieg und für kleine Unternehmen. Enterprise bietet zusätzliche Module, offiziellen Support und erweiterte Funktionen gegen eine monatliche Lizenzgebühr.

Empfohlene Server-Mindestanforderungen

RessourceEmpfohlen (Test)Empfohlen (Produktion)
CPU2 vCPUs4+ vCPUs
RAM4 GB8–16 GB
SSD-Speicher40 GB80+ GB
BetriebssystemUbuntu 24.04 LTS oder 26.04
NetzwerkFeste IPv4-Adresse erforderlich

2. Haftungsausschluss (Disclaimer)

Haftungsausschluss

Bitte hier klicken um den vollständige Haftungsausschluss anzuzeigen

Haftungsausschluss

Mavabit ist eine Marke der Farbcraft UG (haftungsbeschränkt). Wenn im Rahmen dieses Angebots von „Mavabit“ gesprochen wird, ist damit die Farbcraft UG (haftungsbeschränkt) als Anbieter gemeint. Weitere Informationen finden Sie im Impressum.

Stand: 02.07.2026

1. Urheberrecht und Nutzungsrechte

Dieses Skript ist urheberrechtlich geschützt. Mavabit räumt dem Nutzer ein einfaches, nicht übertragbares und nicht ausschließliches Nutzungsrecht ein, das Skript ausschließlich zum Zweck der eigenen Serverinstallation zu verwenden. Eine Weitergabe, Veröffentlichung, Vervielfältigung oder kommerzielle Verwertung – auch in veränderter Form – ist ohne ausdrückliche schriftliche Genehmigung von Mavabit nicht gestattet. Der Quellcode darf zu eigenen, nicht-kommerziellen Anpassungszwecken eingesehen und modifiziert werden, jedoch nicht unter dem Namen oder der Marke „Mavabit" weiterverbreitet werden.

2. Rechtlicher Charakter der Überlassung / Schenkungsrecht

Die kostenlose Bereitstellung dieses Installationsskripts erfolgt im Sinne einer unentgeltlichen Zuwendung (Schenkung gemäß §§ 516 ff. BGB). Es besteht kein synallagmatisches Vertragsverhältnis; es werden keine gegenseitigen Pflichten begründet. Die Haftung von Mavabit richtet sich daher ausschließlich nach den für Schenkungen geltenden gesetzlichen Regelungen, insbesondere § 521 BGB, wonach der Schenker lediglich für Vorsatz und grobe Fahrlässigkeit einzustehen hat.

3. Nutzerbeschränkung / Zielgruppe

Dieses Skript richtet sich ausschließlich an technisch erfahrene Nutzer und gewerbliche Betreiber, die über grundlegende Kenntnisse in der Linux-Systemadministration und im Serverbetrieb verfügen. Es ist nicht für den Einsatz durch Verbraucher im Sinne von § 13 BGB bestimmt. Wer nicht über die erforderlichen Fachkenntnisse verfügt, wird ausdrücklich darauf hingewiesen, die Installation nicht eigenständig durchzuführen, sondern fachkundige Unterstützung hinzuzuziehen.

4. Bekannte Einschränkungen und Mängel

Das Skript wurde nach bestem Wissen und Gewissen zum Zeitpunkt seiner Erstellung getestet. Es wird jedoch darauf hingewiesen, dass die korrekte Funktion des Skripts von der jeweiligen Serverumgebung, dem Betriebssystem, der Internetverbindung und weiteren externen Faktoren abhängt, die von Mavabit weder kontrolliert noch beeinflusst werden können. Eventuelle zum Zeitpunkt der Veröffentlichung bekannte Einschränkungen werden, soweit möglich, in der begleitenden Dokumentation auf der Blogseite beschrieben.

5. Datenschutz

Im Rahmen der Bereitstellung dieses Skripts über die Mavabit-Blogseite können beim Seitenaufruf und Download technisch bedingt Nutzungsdaten (z. B. IP-Adresse, Zeitpunkt des Zugriffs) verarbeitet werden. Die Verarbeitung erfolgt auf Grundlage von Art. 6 Abs. 1 lit. f) DSGVO (berechtigtes Interesse zur Sicherstellung des Betriebs der Website). Weitere Informationen zur Datenverarbeitung sind der Datenschutzerklärung auf der Mavabit-Website (Datenschutzerklärung & AGB) zu entnehmen. Das Skript selbst erhebt oder übermittelt keinerlei personenbezogene Daten des Servernutzers an Mavabit oder Dritte.

6. Anwendbares Recht und Gerichtsstand

Auf alle sich aus der Nutzung dieses Skripts ergebenden Rechtsverhältnisse findet ausschließlich das Recht der Bundesrepublik Deutschland Anwendung, unter Ausschluss des UN-Kaufrechts (CISG). Soweit gesetzlich zulässig, ist Gerichtsstand für Streitigkeiten mit Unternehmern der Sitz von Mavabit in Halver (NRW). Gegenüber Verbrauchern gelten die gesetzlichen Zuständigkeitsregelungen.

7. Drittanbieter-Software und externe Komponenten

Bei seiner Ausführung lädt und installiert dieses Skript Software, die von externen Anbietern stammt und nicht von Mavabit entwickelt wurde. Hierzu gehören beispielsweise über das Ubuntu-Paketsystem bezogene Systembibliotheken, Odoo, PostgreSQL sowie weitere Abhängigkeiten aus öffentlichen Paketquellen. Mavabit hat weder Einblick in noch Kontrolle über den Inhalt, den Zustand, die Sicherheit oder die Lizenzbedingungen dieser extern bezogenen Pakete. Das Skript übernimmt in diesem Zusammenhang ausschließlich die Rolle eines technischen Auslösers; es wird keine Aussage darüber getroffen, ob die zum Installationszeitpunkt tatsächlich heruntergeladenen Pakete fehlerfrei funktionieren, auf dem neuesten Stand sind oder keine Sicherheitsschwachstellen aufweisen. Für die Prüfung und Einhaltung der jeweiligen Lizenzbedingungen der installierten Fremdsoftware ist allein der Nutzer verantwortlich. Mavabit tritt gegenüber diesen Drittanbieter-Softwareprodukten in keiner Rolle als Hersteller, Distributor oder Lizenzgeber auf und vermittelt keinerlei Nutzungsrechte daran.

8. Datenverlust und Pflicht zur Datensicherung

Durch die Ausführung dieses Skripts werden umfangreiche Eingriffe in die Konfiguration des Servers vorgenommen, die sich dauerhaft auf den Systemzustand auswirken können. Bestehende Konfigurationsdateien können dabei verändert oder überschrieben werden, laufende Dienste werden neu gestartet und Systemeinstellungen werden angepasst. Auf einem bereits produktiv eingesetzten Server besteht dabei ein erhöhtes Risiko für einen teilweisen oder vollständigen Verlust von Daten und Konfigurationen.

Mavabit haftet nicht für Datenverluste, beschädigte Daten oder veränderte Systemzustände, die sich direkt oder indirekt aus der Nutzung dieses Skripts ergeben. Dies gilt unabhängig davon, ob der Schaden durch einen Fehler im Skript selbst, durch das Betriebssystem, durch eine ungeeignete Serverumgebung, durch externe Softwarekomponenten oder durch andere Ursachen entstanden ist.

Vor der Ausführung des Skripts ist der Nutzer verpflichtet, vollständige Sicherungskopien aller relevanten Daten, Datenbanken und Konfigurationsdateien sowie des gesamten Systemzustands zu erstellen. Wer das Skript ohne eine solche vorherige Sicherung ausführt, trägt das damit verbundene Risiko in vollem Umfang selbst. Die Anfertigung einer vollständigen Datensicherung ist keine bloße Empfehlung, sondern eine ausdrückliche Voraussetzung für die Nutzung dieses Skripts.

9. Hinweis zum Produkthaftungsrecht

Durch die EU-Richtlinie 2024/2853 und ihre voraussichtlich zum 9. Dezember 2026 in Kraft tretende Umsetzung in das deutsche Produkthaftungsgesetz wird Software künftig ausdrücklich als Produkt im Sinne des Produkthaftungsrechts behandelt – unabhängig davon, ob sie kostenlos oder kostenpflichtig bereitgestellt wird. Mavabit stellt klar, dass dieses Skript nicht im Rahmen einer unternehmerischen oder beruflichen Tätigkeit im Sinne des Produkthaftungsrechts angeboten wird. Es handelt sich vielmehr um eine freiwillige, unentgeltliche Zuwendung ohne jede Gegenleistung im Sinne der Schenkungsvorschriften des BGB (§§ 516 ff.). Mavabit versteht sich daher nicht als Hersteller oder Inverkehrbringer eines Produkts nach dem reformierten Produkthaftungsgesetz und lehnt eine solche Einordnung ausdrücklich ab. Sollte diese Einordnung durch ein Gericht oder eine Behörde dennoch vorgenommen werden, bleibt die Haftungsbeschränkung auf Vorsatz und grobe Fahrlässigkeit gemäß § 521 BGB ergänzend und hilfsweise in vollem Umfang bestehen. Der Nutzer wird darauf hingewiesen, dass die rechtliche Behandlung kostenlos bereitgestellter Software unter dem neuen Produkthaftungsrecht zum Zeitpunkt der Erstellung dieses Hinweises noch nicht durch höchstrichterliche Rechtsprechung abschließend geklärt ist.

10. Salvatorische Klausel

Sollten einzelne Bestimmungen dieses Hinweistextes ganz oder teilweise unwirksam sein oder werden, berührt dies die Wirksamkeit der übrigen Bestimmungen nicht. Anstelle der unwirksamen Bestimmung gilt die gesetzliche Regelung.

3. VPS-Server bei Hetzner einrichten

Für dieses Tutorial nutzen wir einen gemieteten VPS-Server von Hetzner. Hetzner ist nicht Sponsor dieses Tutorials – wir empfehlen den Anbieter auf Basis eigener, positiver Erfahrungen. Du kannst selbstverständlich auch jeden anderen Hosting-Anbieter verwenden.

Schritt-für-Schritt: Server anlegen (Hetzner)

  1. Konto anlegen & einloggen: Erstelle ein Konto auf hetzner.com und melde dich in der Hetzner Cloud Console an.
  2. Neues Projekt erstellen: Klicke auf „Neues Projekt erstellen" (z. B. „Mein-Odoo-Server"). Projekte funktionieren wie Ordner zur Gruppierung deiner Server.
  3. Server erstellen: Klicke im Projekt auf „Ressource erstellen" → „Servers".
  4. Servertyp auswählen: Wähle einen x86 Shared vCPU (kostenoptimiert), z. B. den CX22 oder CX32. Diese reichen für Tests und kleine Unternehmen vollständig aus. Hetzner bietet eine Rescale-Funktion – du kannst jederzeit auf eine stärkere Instanz upgraden.
  5. Standort wählen (DSGVO!): Wähle ggf. einen europäischen Rechenzentrumsstandort (Nürnberg, Falkenstein etc.) für DSGVO-Konformität.
  6. Betriebssystem wählen: Wähle Ubuntu 24.04 oder Ubuntu 26.04. Das Mavabit-Installationsskript ist für beide Versionen optimiert.
  7. IPv4 aktivieren: Stelle sicher, dass eine feste IPv4-Adresse zugewiesen wird – diese benötigst du zwingend für die DNS-Konfiguration. (SSH-Key optional, aber empfohlen.)
  8. Server benennen & erstellen: Vergib einen aussagekräftigen Namen (z. B. „odoo-server-01") und klicke auf „Kostenpflichtig erstellen".

Tipp: Nach der Erstellung des Servers erhältst du das Root-Passwort per E-Mail an die in deinem Hetzner-Konto hinterlegte Adresse. Bewahre diese E-Mail sorgfältig auf – du benötigst sie für den ersten SSH-Login.

4. Domain & DNS-Subdomain konfigurieren

Damit deine Odoo-Installation über das Internet erreichbar ist, benötigst du eine Subdomain, die auf die IP-Adresse deines Servers zeigt. Die IP-Adresse deines neuen Servers findest du im Hetzner-Backend in der Server-Übersicht.

DNS-A-Record setzen

  1. Logge dich bei deinem Domain-Anbieter ein (z. B. IONOS, Strato, Namecheap, Netcup usw.).
  2. Navigiere zur DNS-Verwaltung deiner Domain.
  3. Erstelle einen neuen A-Record:
TypName / SubdomainZiel (Value)TTL
A odoo (ergibt odoo.euredomain.de) DEINE.SERVER.IP.ADRESSE 300–3600 Sek.

DNS-Propagation: DNS-Änderungen können bis zu 24–48 Stunden dauern, bis sie weltweit aktiv sind. In der Regel ist die Änderung jedoch innerhalb weniger Minuten bis Stunden wirksam.

Da sich die DNS-Oberflächen je nach Anbieter stark unterscheiden, kann dieser Schritt nicht universell gezeigt werden. Bei Unklarheiten findest du passende Anleitungen im Support-Bereich deines Domain-Anbieters.

5. Per SSH mit dem Server verbinden

Sobald der A-Record aktiv ist, kannst du dich per SSH mit deinem Server verbinden. Der folgende Befehl funktioniert auf Windows (PowerShell/Terminal), macOS und Linux gleichermaßen.


ssh root@odoo.euredomain.de

Host-Key-Bestätigung: Beim ersten Verbindungsaufbau wirst du gefragt, ob du dem Server-Fingerprint vertrauen möchtest. Bestätige mit yes – das ist normal bei einer neuen Verbindung.

Passwort setzen (erster Login)

Nach dem ersten Login mit dem Hetzner-Passwort aus deiner E-Mail wirst du aufgefordert, sofort ein neues, sicheres Passwort zu vergeben. Verwende dazu einen Passwort-Manager oder Generator.


Wichtig: Füge Passwörter im Terminal immer per Rechtsklick ein – niemals mit Strg+V! Das Tastenkürzel kann im Terminal zu Fehleingaben oder unerwarteten Befehlen führen.

Nach der Passwortvergabe wirst du automatisch ausgeloggt. Verbinde dich erneut mit demselben Befehl und dem neuen Passwort. Du erkennst eine erfolgreiche Anmeldung daran, dass der Prompt root@servername:~# anzeigt.


Tipp: Mit der Pfeiltaste ↑ kannst du im Terminal den zuletzt eingegebenen Befehl wiederherstellen – praktisch beim erneuten Verbinden.

6. Installationsskript herunterladen & ausführen

Ein System-Update vor der Installation ist in der Regel empfehlenswert – unser Skript führt dieses Update jedoch automatisch selbst durch, sodass du diesen Schritt überspringen kannst.

Skript herunterladen

Lade das Mavabit-Installationsskript mit folgendem Befehl herunter (den vollständigen Befehl findest du in der Video-Beschreibung bzw. in unserem Blog):

wget http://mavabit.com/media/other/install-odoo19-de.sh

Skript ausführbar machen

Mache das Skript ausführbar. Du kannst die Tab-Taste zur Autovervollständigung des Dateinamens verwenden:

chmod +x install-odoo19-de.sh

Skript starten

./install-odoo19-de.sh

Tipp: Tab-Vervollständigung nutzen! Tippe ./ins und drücke dann Tab – das Terminal vervollständigt automatisch den vollständigen Dateinamen.

7. Server-Konfiguration im Installationsskript

Das Installationsskript führt dich interaktiv durch alle notwendigen Konfigurationsschritte. Im Folgenden erklären wir jeden Dialog des Skripts detailliert.

Schritt 7.1 – Haftungsausschluss bestätigen

Das Skript zeigt zunächst den vollständigen Haftungsausschluss an. Lies diesen vollständig und sorgfältig durch. Bestätige erst mit JA, wenn du ihn verstanden hast.

Schritt 7.2 – Installationsmodus wählen

Das Skript bietet zwei Modi:

OptionModusVerwendungszweck
1 – Produktion Vollständige Installation mit SSL & Domain Server im Internet, über eigene Domain erreichbar (empfohlen)
2 – IP only Vereinfachte Installation ohne SSL Lokales Firmennetzwerk, Zugriff nur über IP-Adresse

Wir wählen Option 1 (Produktion), da wir die vollständige, internet-fähige Installation zeigen.

Schritt 7.3 – Domain eingeben

Gib die Subdomain ein, über die Odoo später erreichbar sein soll (z. B. odoo.euredomain.de). Prüfe die Schreibweise doppelt – ein Tippfehler hier führt zu einem Fehler beim SSL-Zertifikat.

Schritt 7.4 – E-Mail-Adresse für SSL-Zertifikat

Gib eine gültige E-Mail-Adresse an. Diese wird für die Ausstellung des kostenlosen Let's Encrypt SSL-Zertifikats benötigt und für wichtige Benachrichtigungen (z. B. bei ablaufenden Zertifikaten) verwendet.

Schritt 7.5 – Sudo-Benutzer anlegen

Das Skript legt einen neuen Linux-Systembenutzer an, mit dem du dich nach der Installation am Server anmeldest. Bestätige mit ja.


Wichtig: Dieser Benutzer ist ein Linux-Betriebssystem-Benutzer, kein Odoo-Anwendungsbenutzer. Den Odoo-Login erstellst du erst nach der Installation über den Webbrowser.

Schritt 7.6 – Benutzername festlegen

Der Standardname lautet odoo-admin. Du kannst ihn mit Enter bestätigen oder einen eigenen Namen vergeben. Merke dir diesen Namen gut – du brauchst ihn für alle zukünftigen Logins.

Schritt 7.7 – Installationspfad festlegen

Der Standardpfad ist das Home-Verzeichnis des neuen Benutzers. Bestätige einfach mit Enter, sofern du keinen abweichenden Pfad benötigst.

Schritt 7.8 – Weitere Einstellungen

  • Master-Passwort generieren: Bestätige mit ja – dieses Passwort schützt den Datenbankmanager.
  • Automatische Backups: Täglich um 3:00 Uhr werden Backups auf dem Server gespeichert.
  • Backup-Aufbewahrung: Standardmäßig 14 Tage (ältestes Backup wird nach 14 Tagen automatisch gelöscht).

Backups lokal sichern! Die automatischen Backups werden zunächst nur auf dem Server gespeichert. Stelle sicher, dass du die Backup-Dateien regelmäßig auf einen externen Speicherort (z. B. NAS, Cloud-Storage) überträgst. Anleitung dazu weiter unten im Abschnitt FileZilla.

Schritt 7.9 – Konfigurationsübersicht bestätigen

Das Skript zeigt eine vollständige Zusammenfassung aller gewählten Einstellungen. Prüfe diese genau und bestätige mit ja. Speichere diese Übersicht – wir werden sie später sicher vom Server entfernen.

Schritt 7.10 – Passwort für den neuen Benutzer

Vergib ein sehr sicheres Passwort für den Benutzer odoo-admin. Nutze einen Passwort-Generator. Füge das Passwort per Rechtsklick ein und wiederhole die Eingabe zur Bestätigung.


Installation abgeschlossen! Nach Abschluss dieser Schritte ist Odoo vollständig installiert. Die Ausgabe im Terminal enthält alle wichtigen Informationen – diese findest du auch auf dieser Seite.

8. Odoo im Browser: Datenbank anlegen

Nach erfolgreich abgeschlossener Installation rufst du deine Subdomain im Webbrowser auf (z. B. https://odoo.euredomain.de). Du siehst den Odoo-Datenbankmanager.

Datenbank erstellen

  1. Kopiere das Master-Passwort aus der Konfigurationsübersicht oder der Credentials-Datei.
  2. Füge das Master-Passwort in das Feld „Master Passwort" ein.
  3. Vergib einen Datenbanknamen (z. B. odoo).
  4. Trage deine E-Mail-Adresse als Odoo-Benutzernamen ein.
  5. Vergib ein sicheres Passwort für deinen Odoo-Account.
  6. Wähle Sprache (German) und Land (Germany).
  7. Entscheide, ob du Demo-Daten laden möchtest (empfohlen zum Testen).
  8. Klicke auf „Create Database" und warte ca. 20–30 Sekunden.

Odoo ist jetzt aktiv! Du siehst die Odoo App-Übersicht. Odoo ist ein modulares System – aktiviere gezielt die Module, die du benötigst (z. B. Verkauf, Lager, Buchhaltung). Installiere nur was du wirklich brauchst.


Achtung! Die Installation ist nun zwar funktionsfähig, aber noch nicht ausreichend abgesichert. Die folgenden Sicherheitsschritte sind zwingend erforderlich – überspringe sie nicht!

9. Sicherheit: Root-Login deaktivieren

Der Root-Benutzer ist das häufigste Ziel von Brute-Force-Angriffen auf SSH. Nach der Installation deaktivieren wir den Root-SSH-Login und verwenden ausschließlich den neuen odoo-admin-Benutzer.

SSH-Konfiguration anpassen

Öffne die SSH-Konfigurationsdatei mit dem Nano-Editor:

nano /etc/ssh/sshd_config

Suche nach dem Eintrag PermitRootLogin mit Strg+W (Suche in nano) und dem Suchbegriff Root. Ändere den Wert auf no:

PermitRootLogin no

Speichere die Datei mit Strg+O → Enter und verlasse den Editor mit Strg+X.

SSH-Dienst neu starten

Die Änderung wird erst nach einem Neustart des SSH-Dienstes wirksam:

service sshd restart

Verbindung trennen & als neuer Benutzer einloggen

Trenne die Verbindung und verifiziere, dass Root-Login gesperrt ist:

exit

Versuche erneut als root einzuloggen – du solltest die Meldung Permission denied erhalten. Melde dich nun als odoo-admin an:

ssh odoo-admin@odoo.euredomain.de
🔐

Gut gemacht! Kein externer Angreifer kann sich nun mehr über den Root-Account direkt an deinem Server anmelden. Der Zugriff ist auf deinen sicheren odoo-admin-Benutzer beschränkt.

10. Sicherheit: Datenbank-Endpunkte sperren

Standardmäßig ist der Odoo-Datenbankmanager öffentlich unter /web/database/manager erreichbar. Das ist ein erhebliches Sicherheitsrisiko: Unbefugte könnten Datenbanken herunterladen, löschen oder manipulieren. Diesen Endpunkt müssen wir sofort sperren.

Odoo Datenbank Zugriff verhindern - harden.sh

Härtungsskript ausführen

Wechsle in das Odoo-Installationsverzeichnis und führe das mitgelieferte Härtungsskript aus:

cd ~/odoo19
sudo ./harden.sh

Gib dein odoo-admin-Passwort ein, wenn du danach gefragt wirst.

Optionen des Härtungsskripts

OptionFunktionEmpfehlung
1 – Endpunkte sperren (Option A) Sperrt alle /web/database/*-URLs vollständig ✅ Sofort aktivieren
1 – Endpunkte sperren (feste IP) Zugriff nur von einer bestimmten IP-Adresse erlauben Optional (fortgeschritten)
2 – Endpunkte öffnen Datenbankmanager wieder freigeben Nur bei Bedarf temporär
4 – Automatische Updates Unbeaufsichtigte Sicherheitsupdates aktivieren Empfohlen bei Serverabwesenheit

Wähle Option 1 → A, um alle Datenbankendpunkte vollständig zu sperren. Nach einem Browser-Reload siehst du anstelle des Datenbankmanagers nur noch Not Found – das ist erwünscht.


Endpunkte temporär öffnen: Falls du später eine neue Datenbank anlegen oder Wartungsarbeiten am Datenbankmanager durchführen musst, kannst du ihn mit Option 2 wieder öffnen und danach erneut sperren.

11. Automatische Sicherheitsupdates (Optional)

Über Option 4 im Härtungsskript kannst du automatische unbeaufsichtigte Sicherheitsupdates aktivieren. Diese laden und installieren Betriebssystem-Patches automatisch im Hintergrund.

⚖️

Abwägung: Automatische Updates erhöhen die Sicherheit, können aber in seltenen Fällen zu unerwarteten Serververhalten führen. Unsere Empfehlung:

  • Bei regelmäßiger Wartung: Updates manuell durchführen, vorher Backup erstellen.
  • Bei längerer Serverabwesenheit: Automatische Updates aktivieren – besser als veraltete, unsichere Pakete.

12. Odoo-Server steuern (Docker-Befehle)

Die Odoo-Installation läuft in Docker-Containern. Alle Steuerungsbefehle werden aus dem Odoo-Installationsverzeichnis heraus ausgeführt. Wechsle dazu zuerst in das Verzeichnis:

cd ~/odoo19

Wichtige Docker-Befehle

BefehlFunktion
docker compose up -dOdoo starten (im Hintergrund)
docker compose downOdoo herunterfahren
docker compose restartOdoo neu starten
docker compose logs -fLive-Logs anzeigen (mit Strg+C beenden)
docker compose psStatus der Container anzeigen

Verzeichnisstruktur: Im Verzeichnis ~/odoo19 befinden sich alle Odoo-Konfigurationsdateien, die Datenbank und ein Unterordner addons für eigene Odoo-Module. In ~/odoo-backups werden die nächtlichen Backups gespeichert.

13. Dateien übertragen mit FileZilla (SFTP)

FileZilla Screenshot Daten verschiebung

Für die Übertragung von Dateien zwischen deinem lokalen Rechner und dem Server empfehlen wir den kostenlosen SFTP-Client wie z. B. FileZilla (verfügbar für Windows, macOS und Linux unter filezilla-project.org).

Verbindung herstellen

FeldEingabe
Serverodoo.euredomain.de (deine Subdomain)
Benutzernameodoo-admin
PasswortDein odoo-admin Passwort
Port22 (SFTP/SSH – zwingend angeben!)

Klicke auf „Verbinden" und bestätige den Serverschlüssel mit „OK".

Wichtige Aufgaben mit FileZilla

  • Credentials-Datei herunterladen und löschen: Navigiere zu ~/odoo19/credentials, lade die Datei auf deinen lokalen Rechner herunter, speichere sie an einem sicheren Ort (z. B. in deinem Passwort-Manager) und lösche die Datei anschließend vom Server.
  • Backups sichern: Im Ordner ~/odoo-backups findest du die nächtlichen Datenbankbackups. Lade diese regelmäßig lokal herunter.
  • Add-ons installieren: Eigene oder heruntergeladene Odoo-Module lädst du in den Ordner ~/odoo19/addons hoch. Dieser Ordner ist bereits in der Odoo-Konfiguration als Add-on-Verzeichnis eingetragen.

Credentials-Datei unbedingt löschen! Die Datei enthält dein Masterpasswort und weitere sensible Zugangsdaten im Klartext. Lade sie herunter, sichere sie lokal und lösche sie dann sofort vom Server – bevor ein möglicher Angreifer Zugriff darauf erhält.

14. Hetzner Cloud Firewall konfigurieren

Als zusätzliche Sicherheitsebene richtest du in der Hetzner-Cloud-Konsole eine Firewall ein, die den eingehenden Netzwerkverkehr auf das absolut notwendige Minimum beschränkt.

Firewall erstellen

  1. Gehe in der Hetzner-Cloud-Konsole auf FirewallsFirewall erstellen.
  2. Füge folgende eingehende Regeln hinzu:
ProtokollPortZweck
TCP22SSH (Serverzugriff via Terminal/FileZilla)
TCP443HTTPS (Odoo-Zugriff im Browser)

Port 80 (HTTP): Wird von Let's Encrypt für die Zertifikatserneuerung benötigt. Falls du Probleme mit der automatischen SSL-Erneuerung hast, füge Port 80 temporär hinzu.

  1. Weise die Firewall deinem Server zu (der Server wird in der Übersicht unten angezeigt).
  2. Vergib einen Namen und klicke auf Firewall anwenden.

Profi-Tipp: Port 22 nur bei Bedarf öffnen

Wenn du den Server gerade nicht aktiv administrierst (kein SSH/FileZilla benötigt), empfehlen wir, die SSH-Regel (Port 22) zu löschen. So ist wirklich nur der für Odoo nötige HTTPS-Port offen. Wenn du später wieder administrieren möchtest, fügst du die SSH-Regel temporär wieder hinzu.


Sicherheitsebenen im Überblick: Dein Server ist jetzt durch drei unabhängige Sicherheitsschichten geschützt: (1) Hetzner Cloud Firewall, (2) deaktivierter Root-SSH-Login, (3) gesperrte Odoo-Datenbank-Endpunkte.

Häufig gestellte Fragen (FAQ)

Kann ich Odoo Community später auf Enterprise upgraden?

Ja, ein Upgrade von der Community auf die Enterprise Edition ist möglich. Du benötigst dafür eine gültige Odoo Enterprise-Lizenz. Für Tests, den Einstieg und kleine Unternehmen empfehlen wir jedoch zunächst die kostenlose Community-Version – so kannst du Odoo risikofrei kennenlernen, bevor du in eine Lizenz investierst.

Welche Ubuntu-Version wird für die Installation benötigt?

Das Mavabit-Installationsskript ist für Ubuntu 24.04 LTS und Ubuntu 26.04 optimiert und getestet. Andere Distributionen werden derzeit nicht offiziell unterstützt.

Welcher Hetzner-Servertyp ist für Odoo geeignet?

Für Tests und den Einstieg reicht ein Shared vCPU (kostenoptimiert), z. B. der CX22 (2 vCPUs, 4 GB RAM). Hetzner bietet eine Rescale-Funktion, mit der du jederzeit auf mehr Leistung upgraden kannst – ohne Datenverlust. Für produktive Umgebungen mit mehreren gleichzeitigen Benutzern empfehlen wir mindestens einen CX32 oder dedizierte Instanzen.

Wie starte ich den Odoo-Server neu?

Wechsle per SSH in das Verzeichnis ~/odoo19 und verwende folgende Befehle:

  • docker compose restart – Server neu starten
  • docker compose down – Server herunterfahren
  • docker compose up -d – Server starten
Warum muss der Root-Login deaktiviert werden?

Der Root-Benutzer ist auf Linux-Systemen das Ziel automatisierter Brute-Force-Angriffe. Durch die Deaktivierung des Root-SSH-Logins und die Verwendung eines separaten Sudo-Benutzers (odoo-admin) erschwerst du es Angreifern erheblich, sich unbefugt Zugang zu verschaffen. Diese Maßnahme ist eine der grundlegendsten Linux-Sicherheitspraktiken.

Wie installiere ich eigene Odoo-Add-ons?

Eigene und heruntergeladene Odoo-Module lädst du per FileZilla in den Ordner ~/odoo19/addons auf deinen Server. Dieser Ordner ist bereits in der Odoo-Konfiguration als Add-on-Verzeichnis eingetragen. Anschließend musst du in Odoo unter Einstellungen die Add-on-Liste aktualisieren. Detaillierte Anleitungen dazu folgen in zukünftigen Mavabit-Videos.

Was kostet ein Odoo-VPS-Server monatlich bei Hetzner?

Einfache Instanzen bei Hetzner (z. B. CX22) kosten je nach Standort und aktueller Preisliste ca. 4–8 € pro Monat (Stand: 2026). Die genauen Preise findest du immer aktuell auf hetzner.com/cloud. Hinzu kommen ggf. Kosten für Traffic und Backups.

Ist diese Installation DSGVO-konform?

Die Installation selbst – auf einem europäischen Hetzner-Server (Deutschland oder Finnland) – erfüllt die technischen Grundvoraussetzungen für DSGVO-Konformität (Serverstandort EU, Datenverschlüsselung via HTTPS). Dennoch ersetzt diese technische Einrichtung keine vollständige DSGVO-Prüfung. Je nach Anwendungsfall und verarbeiteten Daten sind weitere rechtliche Maßnahmen (AV-Vertrag mit Hetzner, Datenschutzerklärung etc.) notwendig. Konsultiere im Zweifel einen Datenschutzbeauftragten.


Herzlichen Glückwunsch – dein Odoo-Server ist bereit!

Du hast Odoo Community erfolgreich auf einem VPS installiert und mit den grundlegenden Sicherheitsmechanismen ausgestattet. Für den produktiven Betrieb empfehlen wir jedoch, das Setup von einem IT-Experten bewerten zu lassen und regelmäßige Sicherheitsupdates sowie Backups sicherzustellen. Langfristig trägst du als Serverbetreiber die Verantwortung für Sicherheit und Wartung.



Hier findest du das vollständige Video dazu:
Odoo 19 auf einem Ubuntu VPS installieren – komplette Schritt-für-Schritt-Anleitung