How to Install Ubuntu 16.04 LTS on VirtualBox in Windows 8 / Windows 10
Inhaltsverzeichnis:
- Installationsvoraussetzungen
- Systembenutzer anlegen
- PostgreSQL installieren und konfigurieren
- Installieren von Wkhtmltopdf
- Installation und Konfiguration von Odoo 13
- Erstellen einer Systemd Unit-Datei
- Installation testen
- Konfigurieren von Nginx als SSL Termination Proxy
- Ändern der Bindungsschnittstelle
- Aktivieren der Mehrfachverarbeitung
- Fazit
Odoo ist eine beliebte Open-Source-Suite für Geschäftsanwendungen. Es bietet eine Reihe von Anwendungen, darunter CRM, E-Commerce, Website-Erstellung, Rechnungswesen, Buchhaltung, Fertigung, Lager, Projektmanagement, Inventar und vieles mehr, die nahtlos integriert sind.
Odoo kann je nach Anwendungsfall und verfügbaren Technologien auf verschiedene Arten installiert werden. Die einfachste und schnellste Möglichkeit, Odoo zu installieren, ist die Verwendung der offiziellen Odoo APT-Repositorys.
Wenn Sie Odoo in einer virtuellen Umgebung installieren oder als Docker-Container bereitstellen, haben Sie mehr Kontrolle über die Einrichtung des Systems und können mehrere Odoo-Versionen auf demselben System ausführen.
In diesem Handbuch werden Sie durch die Installation und Bereitstellung von Odoo 13 in einer virtuellen Python-Umgebung unter Ubuntu 18.04 geführt. Wir werden Odoo von ihrem Github-Repository herunterladen und Nginx als Reverse-Proxy verwenden.
Installationsvoraussetzungen
Melden Sie sich als sudo-Benutzer bei Ihrem Ubuntu an und aktualisieren Sie den Apt-Cache:
sudo apt update
Installieren Sie Git, Pip, Node.js und die Tools, die zum Erstellen von Odoo-Abhängigkeiten erforderlich sind:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Systembenutzer anlegen
Erstellen Sie einen Systembenutzer, der Odoo mit dem Namen
odoo13
mit dem
odoo13
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Sie können den Namen des Benutzers nach Belieben festlegen, solange Sie einen PostgreSQL-Benutzer mit demselben Namen erstellen.
PostgreSQL installieren und konfigurieren
Odoo verwendet PostgreSQL als Datenbank-Backend. Um PostgreSQL zu installieren, führen Sie den folgenden Befehl aus:
sudo apt install postgresql
Erstellen Sie nach Abschluss der Installation einen PostgreSQL-Benutzer mit demselben Namen wie der zuvor erstellte Systembenutzer, in unserem Fall
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Installieren von Wkhtmltopdf
Das Paket
wkhtmltox
enthält eine Reihe von Open-Source-Befehlszeilentools, mit denen HTML in PDF und verschiedene Bildformate
wkhtmltox
kann. Um PDF-Berichte drucken zu können, müssen Sie das Tool
wkhtmltopdf
installieren. Die empfohlene Version für Odoo ist
0.12.5
, die in den Ubuntu 18.04-Standardrepositorys nicht verfügbar ist.
Laden Sie das Paket mit dem folgenden Befehl wget herunter:
wget
Wenn der Download abgeschlossen ist, installieren Sie das Paket, indem Sie Folgendes eingeben:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Installation und Konfiguration von Odoo 13
Wie bereits erwähnt, installieren wir Odoo von der Quelle in einer isolierten virtuellen Python-Umgebung.
Wechseln Sie zunächst zu Benutzer "odoo13":
sudo su - odoo13
Klonen Sie den Odoo 13-Quellcode von GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Sobald der Download abgeschlossen ist, erstellen Sie eine neue virtuelle Python-Umgebung für Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktivieren Sie die Umgebung mit dem folgenden Befehl:
source odoo-venv/bin/activate
Installiere alle benötigten Python-Module mit pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Wenn während der Installation ein Kompilierungsfehler auftritt, stellen Sie sicher, dass alle im Abschnitt
Installing Prerequisites
aufgeführten erforderlichen Abhängigkeiten installiert sind.
Deaktivieren Sie anschließend die Umgebung, indem Sie Folgendes eingeben:
deactivate
Wir erstellen ein neues Verzeichnis, das die Addons von Drittanbietern enthält.
mkdir /opt/odoo13/odoo-custom-addons
Später werden wir dieses Verzeichnis zum Parameter
addons_path
hinzufügen. Dieser Parameter definiert eine Liste von Verzeichnissen, in denen Odoo nach Modulen sucht.
Wechseln Sie zurück zu Ihrem sudo-Benutzer:
exit
Erstellen Sie eine Konfigurationsdatei mit folgendem Inhalt:
sudo nano /etc/odoo13.conf
/etc/odoo13.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Vergessen Sie nicht,
my_admin_passwd
in etwas
my_admin_passwd
zu ändern.
Erstellen einer Systemd Unit-Datei
Öffnen Sie Ihren Texteditor und erstellen Sie eine Service Unit-Datei mit dem Namen
odoo13.service
mit folgendem Inhalt:
sudo nano /etc/systemd/system/odoo13.service
/etc/systemd/system/odoo13.service
Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target
Benachrichtigen Sie systemd, dass eine neue Unit-Datei existiert:
sudo systemctl daemon-reload
Starten Sie den Odoo-Dienst und aktivieren Sie ihn für den Start beim Start, indem Sie Folgendes ausführen:
sudo systemctl enable --now odoo13
Überprüfen Sie den Servicestatus:
sudo systemctl status odoo13
Die Ausgabe sollte wie folgt aussehen und anzeigen, dass der Odoo-Dienst aktiv ist und ausgeführt wird.
● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
Verwenden Sie den folgenden Befehl, um die vom Odoo-Dienst protokollierten Nachrichten anzuzeigen:
Installation testen
Öffnen Sie Ihren Browser und geben Sie Folgendes ein:
http://:8069
http://:8069
Angenommen, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:

Konfigurieren von Nginx als SSL Termination Proxy
Der Standard-Odoo-Webserver bedient den Datenverkehr über HTTP. Um die Odoo-Bereitstellung sicherer zu machen, konfigurieren wir Nginx als SSL-Terminierungs-Proxy, der den Datenverkehr über HTTPS bereitstellt.
Der SSL-Beendigungs-Proxy ist ein Proxy-Server, der die SSL-Verschlüsselung / -Entschlüsselung übernimmt. Dies bedeutet, dass der Terminierungs-Proxy (Nginx) eingehende TLS-Verbindungen (HTTPS) verarbeitet und entschlüsselt und die unverschlüsselten Anforderungen an den internen Dienst (Odoo) weiterleitet. Der Datenverkehr zwischen Nginx und Odoo wird nicht verschlüsselt (HTTP).
Die Verwendung eines Reverse-Proxys bietet zahlreiche Vorteile, wie z. B. Lastenausgleich, SSL-Beendigung, Caching, Komprimierung, Bereitstellen statischer Inhalte und mehr.
Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Abschnitt fortfahren:
- Domänenname, der auf Ihre öffentliche Server-IP verweist. Wir verwenden das
example.com.Nginx-installierte.SSL-Zertifikat für Ihre Domain. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren.
Öffnen Sie Ihren Texteditor und erstellen / bearbeiten Sie den Domain-Server-Block:
sudo nano /etc/nginx/sites-enabled/example.com
Die folgende Konfiguration richtet die SSL-Beendigung, die HTTP-zu-HTTPS-Umleitung und die WWW-zu-Nicht-WWW-Umleitung ein, speichert die statischen Dateien im Cache und aktiviert die GZip-Komprimierung.
/etc/nginx/sites-enabled/example.com
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Vergessen Sie nicht, example.com durch Ihre Odoo-Domain zu ersetzen und den korrekten Pfad zu den SSL-Zertifikatdateien festzulegen. Die in dieser Konfiguration verwendeten Snippets werden in diesem Handbuch erstellt.
Sobald Sie fertig sind, starten Sie den Nginx-Dienst neu:
sudo systemctl restart nginx
Als Nächstes müssen wir Odoo anweisen, den Proxy zu verwenden. Öffnen Sie dazu die Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:
/etc/odoo13.conf
proxy_mode = True
Starten Sie den Odoo-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart odoo13
Zu diesem Zeitpunkt ist der Reverse-Proxy konfiguriert und Sie können unter
https://example.com
auf Ihre Odoo-Instanz zugreifen
Ändern der Bindungsschnittstelle
Dieser Schritt ist optional, stellt jedoch eine gute Sicherheitspraxis dar.
Standardmäßig
8069
Odoo-Server auf allen Schnittstellen den Port
8069
. Um den direkten Zugriff auf die Odoo-Instanz zu deaktivieren, können Sie entweder den Port
8069
für alle öffentlichen Schnittstellen blockieren oder erzwingen, dass Odoo nur die lokale Schnittstelle
8069
.
Wir werden Odoo so konfigurieren, dass es nur auf
127.0.0.1
hört. Öffnen Sie die Konfiguration und fügen Sie die folgenden zwei Zeilen am Ende der Datei hinzu:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Speichern Sie die Konfigurationsdatei und starten Sie den Odoo-Server neu, damit die Änderungen wirksam werden:
Aktivieren der Mehrfachverarbeitung
Standardmäßig arbeitet Odoo im Multithreading-Modus. Für Produktionsbereitstellungen wird empfohlen, auf den Multiprocessing-Server zu wechseln, um die Stabilität zu erhöhen und die Systemressourcen besser zu nutzen.
Um die Mehrfachverarbeitung zu aktivieren, müssen Sie die Odoo-Konfiguration bearbeiten und eine von Null verschiedene Anzahl von Arbeitsprozessen festlegen. Die Anzahl der Worker wird basierend auf der Anzahl der CPU-Kerne im System und dem verfügbaren RAM-Speicher berechnet.
Gemäß der offiziellen Odoo-Dokumentation zur Berechnung der Anzahl der Mitarbeiter und der erforderlichen RAM-Speichergröße können Sie die folgenden Formeln und Annahmen verwenden:
Berechnung der Arbeitsnummer
- Theoretische maximale Anzahl von Arbeitern = (system_cpus * 2) + 11 Arbeitern kann ~ = 6 gleichzeitige Benutzer bedienen
Berechnung der RAM-Speichergröße
- Wir werden davon ausgehen, dass 20% aller Anfragen schwere Anfragen und 80% leichte Anfragen sind. Starke Anforderungen belegen ungefähr 1 GB RAM, während die leichteren ungefähr 150 MB RAM
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Angenommen, Sie haben ein System mit 4 CPU-Kernen, 8 GB RAM-Speicher und 30 gleichzeitigen Odoo-Benutzern.
-
30 users / 6 = **5**(5 ist die theoretische Anzahl der benötigten Arbeitskräfte)(4 * 2) + 1 = **9**(9 ist die theoretische maximale Anzahl der Arbeitskräfte)
Basierend auf der obigen Berechnung können Sie 5 Arbeiter + 1 Arbeiter für den Cron-Arbeiter verwenden, dh insgesamt 6 Arbeiter.
Berechnen Sie den RAM-Speicherverbrauch anhand der Anzahl der Worker:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Die Berechnung zeigt, dass die Odoo-Installation etwa 2 GB RAM benötigt.
Um in den Multiprocessing-Modus zu wechseln, öffnen Sie die Konfigurationsdatei und hängen Sie die berechneten Werte an:
/etc/odoo13.conf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Starten Sie den Odoo-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart odoo13
Die restlichen Systemressourcen werden von anderen Diensten verwendet, die auf diesem System ausgeführt werden. In diesem Handbuch haben wir Odoo zusammen mit PostgreSQL und Nginx auf demselben Server installiert. Abhängig von Ihrer Konfiguration können auf Ihrem Server auch andere Dienste ausgeführt werden.
Fazit
Dieses Tutorial führte Sie durch die Installation von Odoo 13 unter Ubuntu 18.04 in einer virtuellen Python-Umgebung mit Nginx als Reverse-Proxy. Wir haben Ihnen auch gezeigt, wie Sie Multiprocessing aktivieren und Odoo für eine Produktionsumgebung optimieren können.
Sie können auch in unserem Tutorial nachlesen, wie Sie automatische tägliche Backups von Odoo-Datenbanken erstellen.
ubuntu odoo postgresql python pip nginx proxy sslWie lange dauert es, bis ich das Steam-Library-Backlog überbrückt habe? Wenn Sie diese Frage haben, erfahren Sie auf der Wie lange zu schlagen Rechner Website, wie viele Stunden Sie benötigen, um Ihre Steam Library fertig zu stellen. Gut für Spieler auf Steam, die mit einem Überhang an Spielen feststecken, die sie vielleicht niemals spielen können.
Wie lange dauert es, bis ich den Rückstand meiner Steam-Bibliothek überwunden habe? Wenn Sie diese Frage haben, wird Ihnen auf der Rechner-Website
Wie installiere ich remix os auf einer virtuellen Box auf einem beliebigen Computer?
Remix OS bietet eine Android-ähnliche Erfahrung auf einem Computer. Anstatt Dual-Boot zu verwenden, empfehlen wir die Installation auf der Virtual Box. Hier ist wie.
Wie installiere ich odoo 11 auf Ubuntu 16.04
Odoo ist eine der beliebtesten Business-Software der Welt. In diesem Handbuch werden die Schritte beschrieben, die zum Installieren und Konfigurieren von Odoo mit Git Source und der virtuellen Python-Umgebung unter Ubuntu 16.04 erforderlich sind







