Provision Services with GCP Marketplace, GCP Essentials - Qwiklabs Preview
Inhaltsverzeichnis:
- Bevor Sie beginnen
- Erstellen Sie einen Odoo-Benutzer
- Installieren und konfigurieren Sie PostgreSQL
- Installieren Sie Wkhtmltopdf
- Installieren und konfigurieren Sie Odoo
- Erstellen Sie eine Systemd Unit-Datei
- Testen Sie die Installation
- Konfigurieren Sie Nginx als SSL Termination Proxy
- Ändern Sie die Bindungsschnittstelle
- Multiprocessing aktivieren
- Fazit
Odoo ist die beliebteste All-in-One-Unternehmenssoftware der Welt. Es bietet eine Reihe von Geschäftsanwendungen, darunter CRM, Website, E-Commerce, Rechnungswesen, Buchhaltung, Fertigung, Lager, Projektmanagement, Inventar und vieles mehr, die nahtlos integriert sind.
Odoo kann auf verschiedene Arten installiert werden. Die einfachste und schnellste Möglichkeit, Odoo zu installieren, ist die Verwendung der offiziellen APT-Repositorys.
In diesem Tutorial werden die Schritte beschrieben, die zum Installieren und Konfigurieren von Odoo 12 für die Produktion mit Git Source und Python Virtual Environment auf einem Ubuntu 18.04-System erforderlich sind.
Bevor Sie beginnen
Melden Sie sich als sudo-Benutzer auf Ihrem Ubuntu-Rechner an und aktualisieren Sie das System auf die neuesten Pakete:
sudo apt update && sudo apt upgrade
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
Erstellen Sie einen Odoo-Benutzer
Erstellen
/opt/odoo12
mit dem folgenden Befehl einen neuen Systembenutzer für Odoo mit dem Namen
odoo12
/opt/odoo12
:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Sie können einen beliebigen Namen für Ihren Odoo-Benutzer verwenden, solange Sie einen PostgreSQL-Benutzer mit demselben Namen erstellen.
Installieren und konfigurieren Sie PostgreSQL
Installieren Sie das PostgreSQL-Paket aus den Ubuntu-Standardrepositorys:
sudo apt install postgresql
Erstellen Sie nach Abschluss der Installation einen PostgreSQL-Benutzer mit demselben Namen wie der zuvor erstellte Systembenutzer, in unserem Fall
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Installieren Sie Wkhtmltopdf
Das Paket
wkhtmltox
enthält eine Reihe von Open-Source-Befehlszeilentools, mit denen HTML in PDF- und verschiedene Bildformate
wkhtmltox
kann. Zum Drucken von PDF-Berichten benötigen Sie das Tool
wkhtmltopdf
. Die empfohlene Version für Odoo ist
0.12.1
die nicht in den offiziellen Ubuntu 18.04-Repositories verfügbar ist.
Laden Sie das Paket mit dem folgenden Befehl wget herunter:
wget
Sobald der Download abgeschlossen ist, installieren Sie das Paket, indem Sie Folgendes eingeben:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Installieren und konfigurieren Sie Odoo
Wir werden Odoo aus dem GitHub-Repository in einer isolierten virtuellen Python-Umgebung installieren.
Bevor Sie mit der Installation beginnen, wechseln Sie zu Benutzer "odoo12":
sudo su - odoo12
Beginnen Sie mit dem Klonen des Odoo 12-Quellcodes aus dem GitHub-Repository:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Erstellen Sie nach dem Herunterladen des Quellcodes eine neue virtuelle Python-Umgebung für die Odoo 12-Installation:
cd /opt/odoo12
python3 -m venv odoo-venv
Aktivieren Sie anschließend 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 Sie während der Installation auf Kompilierungsfehler stoßen, stellen Sie sicher, dass Sie alle erforderlichen Abhängigkeiten installiert haben, die im Abschnitt
Before you begin
.
Deaktivieren Sie die Umgebung mit dem folgenden Befehl:
deactivate
Erstellen Sie ein neues Verzeichnis für die benutzerdefinierten Addons:
mkdir /opt/odoo12/odoo-custom-addons
Wechseln Sie zurück zu Ihrem sudo-Benutzer:
exit
Erstellen Sie als Nächstes eine Konfigurationsdatei, indem Sie die enthaltene Beispielkonfigurationsdatei kopieren:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Öffnen Sie die Datei und bearbeiten Sie sie wie folgt:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Vergessen Sie nicht,
my_admin_passwd
in etwas
my_admin_passwd
zu ändern.
Erstellen Sie eine Systemd Unit-Datei
Um Odoo als Dienst auszuführen, müssen Sie eine Service-Unit-Datei im Verzeichnis
/etc/systemd/system/
erstellen.
Öffnen Sie Ihren Texteditor und fügen Sie die folgende Konfiguration ein:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Benachrichtigen Sie systemd, dass eine neue Unit-Datei vorhanden ist, und starten Sie den Odoo-Dienst, indem Sie Folgendes ausführen:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Überprüfen Sie den Servicestatus mit dem folgenden Befehl:
sudo systemctl status odoo12
Die Ausgabe sollte wie folgt aussehen und anzeigen, dass der Odoo-Dienst aktiv ist und ausgeführt wird.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Aktivieren Sie den Odoo-Dienst, damit er beim Booten automatisch gestartet wird:
sudo systemctl enable odoo12
Testen Sie die Installation
Ö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 Sie Nginx als SSL Termination Proxy
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. In diesem Tutorial verwenden wir das
example.com.Nginx-installierte.SSL-Zertifikat für Ihre Domain. Sie können ein kostenloses Let's Encrypt SSL-Zertifikat installieren.
Der Standard-Odoo-Webserver bedient den Datenverkehr über HTTP. Um unsere 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 unser Terminierungs-Proxy (Nginx) eingehende TLS-Verbindungen (HTTPS) verarbeitet und entschlüsselt und die unverschlüsselten Anforderungen an unseren internen Service (Odoo) weiterleitet, sodass der Datenverkehr zwischen Nginx und Odoo nicht verschlüsselt wird (HTTP).
Die Verwendung eines Reverse-Proxys bietet zahlreiche Vorteile, wie z. B. Lastenausgleich, SSL-Beendigung, Caching, Komprimierung, Bereitstellen statischer Inhalte und mehr.
In diesem Beispiel konfigurieren wir die SSL-Beendigung, die HTTP-zu-HTTPS-Umleitung, die WWW-zu-Nicht-WWW-Umleitung, zwischenspeichern die statischen Dateien und aktivieren die GZip-Komprimierung.
Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Datei:
sudo nano /etc/nginx/sites-enabled/example.com
/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 mit:
sudo systemctl restart nginx
Als nächstes müssen wir Odoo mitteilen, dass wir Proxy verwenden werden. Öffnen Sie dazu die Konfigurationsdatei und fügen Sie die folgende Zeile hinzu:
/etc/odoo12.conf
proxy_mode = True
Starten Sie den Odoo-Dienst neu, damit die Änderungen wirksam werden:
sudo systemctl restart odoo12
Zu diesem Zeitpunkt ist Ihr Server konfiguriert und Sie können unter
https://example.com
auf Ihre Odoo-Instanz zugreifen
Ändern Sie die Bindungsschnittstelle
Dieser Schritt ist optional, stellt jedoch eine gute Sicherheitspraxis dar.
Standardmäßig überwacht der Odoo-Server auf allen Schnittstellen den Port 8069. Wenn Sie den direkten Zugriff auf Ihre Odoo-Instanz deaktivieren möchten, können Sie entweder den Port
8069
für alle öffentlichen Schnittstellen blockieren oder erzwingen, dass Odoo nur die lokale Schnittstelle
8069
.
In dieser Anleitung konfigurieren wir Odoo so, dass es nur
127.0.0.1
. Ö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:
Multiprocessing aktivieren
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 Multiprocessing zu aktivieren, müssen Sie die Odoo-Konfiguration bearbeiten und eine von Null verschiedene Anzahl von Worker-Prozessen 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 verwenden wir die folgenden Formeln und Annahmen:
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 sind, während 80% leichtere 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, wir 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 wir 5 Arbeiter + 1 Arbeiter für den Cron-Arbeiter verwenden, was insgesamt 6 Arbeitern entspricht.
Berechnen Sie den RAM-Speicherverbrauch anhand der Anzahl der Worker:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Die obige Berechnung zeigt, dass unsere Odoo-Installation etwa 2 GB RAM benötigt.
Öffnen Sie die Konfigurationsdatei, und fügen Sie die folgenden Zeilen hinzu, um in den Mehrfachverarbeitungsmodus zu wechseln:
/etc/odoo12.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 odoo12
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 Ihrem Setup können auch andere Dienste auf Ihrem Server ausgeführt werden.
Fazit
Dieses Tutorial führte Sie durch die Installation von Odoo 12 unter Ubuntu 18.04 in einer virtuellen Python-Umgebung mit Nginx als Reverse-Proxy. Sie haben auch gelernt, wie Sie Multiprocessing aktivieren und Odoo für die Produktionsumgebung optimieren können.
Vielleicht möchten Sie auch in unserem Tutorial nachlesen, wie Sie automatische tägliche Backups Ihrer Odoo-Datenbanken erstellen.
ubuntu odoo postgresql python pip nginx proxy sslBereitstellen von Windows 7 Essential Guidance aus dem Windows 7 Resource Kit und TechNet Magazine von Microsoft
Laden Sie das neue eBook herunter: Bereitstellen von Windows 7 Essential Guidance from the Windows 7 Resource Kit und Microsoft TechNet Magazine.
Ausführen von Bash unter Ubuntu unter Windows 10
Wenn Sie Windows Subsystem für Linux aktivieren, können Sie Bash unter Ubuntu in Bash-Skripten von Windows 10 ausführen , Linux-Kommandozeilen-Tools, Linux-First-Tools.
Bereitstellen von odoo 11 unter Ubuntu 18.04
In diesem Handbuch werden die Schritte beschrieben, die zum Installieren und Konfigurieren von Odoo für die Produktion mit Git Source und Python Virtual Environment auf einem Ubuntu 18.04-System erforderlich sind.







