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
| Ressource | Empfohlen (Test) | Empfohlen (Produktion) |
|---|---|---|
| CPU | 2 vCPUs | 4+ vCPUs |
| RAM | 4 GB | 8–16 GB |
| SSD-Speicher | 40 GB | 80+ GB |
| Betriebssystem | Ubuntu 24.04 LTS oder 26.04 | |
| Netzwerk | Feste 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)
- Konto anlegen & einloggen: Erstelle ein Konto auf hetzner.com und melde dich in der Hetzner Cloud Console an.
- Neues Projekt erstellen: Klicke auf „Neues Projekt erstellen" (z. B. „Mein-Odoo-Server"). Projekte funktionieren wie Ordner zur Gruppierung deiner Server.
- Server erstellen: Klicke im Projekt auf „Ressource erstellen" → „Servers".
- 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.
- Standort wählen (DSGVO!): Wähle ggf. einen europäischen Rechenzentrumsstandort (Nürnberg, Falkenstein etc.) für DSGVO-Konformität.
- Betriebssystem wählen: Wähle Ubuntu 24.04 oder Ubuntu 26.04. Das Mavabit-Installationsskript ist für beide Versionen optimiert.
- 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.)
- 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
- Logge dich bei deinem Domain-Anbieter ein (z. B. IONOS, Strato, Namecheap, Netcup usw.).
- Navigiere zur DNS-Verwaltung deiner Domain.
- Erstelle einen neuen A-Record:
| Typ | Name / Subdomain | Ziel (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:
| Option | Modus | Verwendungszweck |
|---|---|---|
| 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
- Kopiere das Master-Passwort aus der Konfigurationsübersicht oder der Credentials-Datei.
- Füge das Master-Passwort in das Feld „Master Passwort" ein.
- Vergib einen Datenbanknamen (z. B.
odoo). - Trage deine E-Mail-Adresse als Odoo-Benutzernamen ein.
- Vergib ein sicheres Passwort für deinen Odoo-Account.
- Wähle Sprache (German) und Land (Germany).
- Entscheide, ob du Demo-Daten laden möchtest (empfohlen zum Testen).
- 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.
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
| Option | Funktion | Empfehlung |
|---|---|---|
| 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
| Befehl | Funktion |
|---|---|
docker compose up -d | Odoo starten (im Hintergrund) |
docker compose down | Odoo herunterfahren |
docker compose restart | Odoo neu starten |
docker compose logs -f | Live-Logs anzeigen (mit Strg+C beenden) |
docker compose ps | Status 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)
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
| Feld | Eingabe |
|---|---|
| Server | odoo.euredomain.de (deine Subdomain) |
| Benutzername | odoo-admin |
| Passwort | Dein odoo-admin Passwort |
| Port | 22 (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-backupsfindest 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/addonshoch. 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
- Gehe in der Hetzner-Cloud-Konsole auf Firewalls → Firewall erstellen.
- Füge folgende eingehende Regeln hinzu:
| Protokoll | Port | Zweck |
|---|---|---|
| TCP | 22 | SSH (Serverzugriff via Terminal/FileZilla) |
| TCP | 443 | HTTPS (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.
- Weise die Firewall deinem Server zu (der Server wird in der Übersicht unten angezeigt).
- 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 startendocker compose down– Server herunterfahrendocker 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.