In diesem Tutorial zeigen wir Ihnen, wie Sie die Odoo 13 ERP-Software auf einem CentOS 8 VPS installieren. Odoo ist eine der beliebtesten ERP-Plattformen (Enterprise Resource Planning), die je entwickelt wurde. Odoo wurde unter Verwendung von Python und PostgresSQL für seine Datenbank entwickelt und ist zu 100 % Open Source und kostenlos. Odoo hat auch einen reichen Funktionsumfang – es kommt mit einer breiten Palette von Geschäftsanwendungen wie CRM, POS, Website-Builder, Lagerverwaltung, Projektmanagement, E-Commerce, Marketing, Abrechnung und Buchhaltung, Fertigung und vielem mehr.
Odoo-Apps sind miteinander integriert und ermöglichen Ihnen die vollständige Automatisierung Ihrer Geschäftsprozesse. Das Hauptmerkmal von Odoo ist seine intuitive Benutzeroberfläche und der Drag &Drop-Editor, mit dem Sie Ihre Inhalte schnell verwalten können. Odoo unterstützt auch Module von Drittanbietern, wodurch Sie die Funktionalität weiter erweitern können, um sie genau an Ihre Bedürfnisse anzupassen.
Beginnen wir mit der Installation, die nicht allzu lange dauern sollte.
Voraussetzungen
- Ein CentOS 8 VPS mit aktiviertem Root-Zugriff (unsere VPS haben alle Root-Zugriff) oder ein Benutzer mit sudo-Berechtigungen.
- Mindestens 2 GB RAM.
Melden Sie sich über SSH an und aktualisieren Sie Ihren Server
Zuerst müssen Sie sich über SSH als Root-Benutzer bei Ihrem CentOS 8 VPS anmelden:
ssh root@IP_ADDRESS -p PORT_NUMBER
Ersetzen Sie IP_ADRRESS und PORT_NUMBER durch die Werte für Ihr VPS. IP_ADDRESS ist erforderlich und PORT_NUMBER ist standardmäßig 22, kann aber je nach Konfiguration anders sein.
Führen Sie als Nächstes die folgenden Befehle aus, um alle installierten Pakete auf Ihrem VPS zu aktualisieren:
dnf update -y
Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen. Dies stellt eine saubere Weste sicher, auf der wir unsere Odoo-Instanz installieren werden.
Erforderliche Abhängigkeiten installieren
Zuerst müssen Sie das Python-Paket und andere Odoo-Abhängigkeiten in Ihrem System installieren. Sie können alle mit dem folgenden Befehl installieren:
dnf install python3 python3-devel git gcc redhat-rpm-config libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel curl unzip -y
Sobald alle Pakete installiert sind, müssen Sie das wkhtmltopdf-Paket in Ihrem System installieren. Wkhtmltopdf ist ein Open-Source-Tool, mit dem das HTML-Format in PDF konvertiert werden kann, sodass Odoo PDF-Berichte drucken kann.
Sie können es installieren, indem Sie den folgenden Befehl ausführen:
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpm
Wenn Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
PostgreSQL installieren und konfigurieren
Odoo verwendet PostgreSQL, um seine Daten zu speichern. Sie können den PostgreSQL-Server mit dem folgenden Befehl installieren:
dnf install postgresql postgresql-server postgresql-contrib -y
Sobald die Installation abgeschlossen ist, initialisieren Sie die Datenbank mit dem folgenden Befehl:
postgresql-setup initdb
Sie sollten die folgende Ausgabe erhalten:
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Starten Sie als Nächstes den PostgreSQL-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start postgresql
systemctl enable postgresql
Melden Sie sich als Nächstes bei der PostgreSQL-Shell an und erstellen Sie mit dem folgenden Befehl einen neuen PostgreSQL-Benutzer:
su - postgres -c "createuser -s odoo13"
Installieren und konfigurieren Sie Odoo 13
Bevor Sie beginnen, erstellen Sie einen separaten Benutzer in CentOS, den wir verwenden, um den Odoo-Dienst auszuführen.
useradd -m -U -r -d /opt/odoo13 -s /bin/bash odoo13
Hinweis :Stellen Sie sicher, dass der Benutzername mit dem PostgreSQL-Benutzer identisch sein muss.
Melden Sie sich als Nächstes mit Ihrem odoo13-Benutzer an und laden Sie Odoo 13 aus dem GitHub-Repository herunter:
su - odoo13
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Sie sollten die folgende Ausgabe erhalten:
Cloning into '/opt/odoo13/odoo'...
warning: redirecting to https://github.com/odoo/odoo.git/
remote: Enumerating objects: 28242, done.
remote: Counting objects: 100% (28242/28242), done
remote: Compressing objects: 100% (23893/23893), done.
Receiving objects: 96% (27370/28242), 110.95 MiB | 13.39 MiB/s
remote: Total 28242 (delta 8481), reused 10433 (delta 3462), pack-reused 0
Receiving objects: 100% (28242/28242), 120.16 MiB | 9.46 MiB/s, done.
Resolving deltas: 100% (8481/8481), done.
Checking out files: 100% (25288/25288), done.
Ändern Sie als Nächstes Ihr aktuelles Arbeitsverzeichnis in /opt/odoo13
und erstellen Sie mit dem folgenden Befehl eine neue virtuelle Python-Umgebung:
cd /opt/odoo13
python3 -m venv odooenv
Als nächstes aktivieren Sie die virtuelle Umgebung mit dem folgenden Befehl:
source odooenv/bin/activate
Sobald dies erledigt ist, installieren Sie alle erforderlichen Python-Module mit dem folgenden Befehl:
pip3 install -r odoo/requirements.txt
Nachdem Sie alle Module installiert haben, deaktivieren Sie die Umgebung mit dem folgenden Befehl:
deactivate
Erstellen Sie als Nächstes ein neues Verzeichnis zum Speichern der benutzerdefinierten Add-Ons:
mkdir /opt/odoo13/odoo-custom-addons
Beenden Sie von dort aus den Odoo13-Benutzer mit dem folgenden Befehl:exit
Erstellen Sie schließlich eine neue Odoo 13-Konfigurationsdatei mit Ihren Datenbankdetails, Ihrem Master-Passwort und dem Addons-Pfad:
nano /etc/odoo13.conf
Fügen Sie der Datei die folgenden Zeilen hinzu:
[options]
admin_passwd = your-secure-password
db_host = False
db_port = False
db_user = odoo13
db_password = False
addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Stellen Sie sicher, dass Sie ein sicheres Passwort festlegen. Speichern und schließen Sie die Datei.
Erstellen Sie eine Systemd-Unit-Datei für Odoo 13
Die Verwendung von systemd zum einfachen Starten und Stoppen Ihrer Odoo-Instanz ist sehr praktisch. Dieser Schritt ist nicht obligatorisch, fügt aber eine großartige Funktion hinzu, die angenehm zu haben ist, und macht die Verwaltung von Odoo so viel einfacher.
Sie können den Dienst mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/odoo13.service
Öffnen Sie die Datei und fügen Sie die folgenden Zeilen hinzu:
[Unit]
Description=Odoo13
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo13
PermissionsStartOnly=true
User=odoo13
Group=odoo13
ExecStart=/opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Speichern und schließen Sie die Datei und laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den Odoo 13-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start odoo13
systemctl enable odoo13
Sie können den Status von Odoo 13 mit dem folgenden Befehl überprüfen:
systemctl status odoo13
Sie sollten die folgende Ausgabe erhalten:
● odoo13.service - Odoo13
Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: disabled)
Active: active (running) since Sun 2020-05-24 08:35:45 EDT; 3s ago
Main PID: 23874 (python3)
Tasks: 4 (limit: 25028)
Memory: 60.8M
CGroup: /system.slice/odoo13.service
└─23874 /opt/odoo13/venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
May 24 08:35:45 centos8 systemd[1]: Started Odoo13.
May 24 08:35:46 centos8 odoo13[23874]: /opt/odoo13/venv/lib64/python3.6/site-packages/psycopg2/__init__.py:144: UserWarning: The psycopg2 whee>
May 24 08:35:46 centos8 odoo13[23874]: """)
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,298 23874 INFO ? odoo: Odoo version 13.0
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,299 23874 INFO ? odoo: Using configuration file at /etc/odoo13.conf
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: addons paths: ['/opt/odoo13/odoo/odoo/addons', '/opt/odoo13/>
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,300 23874 INFO ? odoo: database: odoo13@default:default
May 24 08:35:46 centos8 odoo13[23874]: 2020-05-24 12:35:46,893 23874 INFO ? odoo.addons.base.models.ir_actions_report: Will use the Wkhtmltopd>
May 24 08:35:47 centos8 odoo13[23874]: 2020-05-24 12:35:47,367 23874 INFO ? odoo.service.server: HTTP service (werkzeug) running on centos8:80>
lines 1-18/18 (END)
Zu diesem Zeitpunkt läuft Odoo und lauscht auf Port 8069. Sie können bereits von einem Browser aus darauf zugreifen, indem Sie die IP und den Port für Odoo angeben.
Nginx als Reverse-Proxy konfigurieren
Es ist eine gute Idee, Nginx als Reverse-Proxy für Odoo zu konfigurieren. Dies geschieht, damit Sie auf die Odoo-Instanz zugreifen können, ohne jedes Mal den Port angeben zu müssen. Nginx ist ein beliebter Webserver, der sich auf Anpassbarkeit und Vielseitigkeit konzentriert.
Installieren Sie zuerst Nginx mit dem folgenden Befehl:
dnf install nginx -y
Erstellen Sie nach der Installation eine neue Konfigurationsdatei für den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/odoo13.example.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo13.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;
# log files
access_log /var/log/nginx/odoo13.access.log;
error_log /var/log/nginx/odoo13.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Sie sollten „example.com“ durch Ihren registrierten Domainnamen ersetzen.
Speichern und schließen Sie die Datei. Dann müssen Sie hash_bucket_site
konfigurieren in der Nginx-Standardkonfigurationsdatei.
Öffnen Sie die Nginx-Standardkonfigurationsdatei wie unten gezeigt:
nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile unter der Zeile http {
hinzu :
server_names_hash_bucket_size 64;
Speichern und schließen Sie die Datei. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie schließlich den Nginx-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start nginx
systemctl enable nginx
Als nächstes müssen Sie Odoo auch konfigurieren, um den Proxy zu verwenden. Sie können dies tun, indem Sie die Datei /etc/odoo13.conf
bearbeiten :
nano /etc/odoo13.conf
Fügen Sie am Ende der Datei die folgende Zeile hinzu:
proxy_mode = True
Speichern und schließen Sie die Datei und starten Sie dann den Odoo 13-Dienst neu, um die Änderungen zu implementieren:
systemctl restart odoo13
Odoo 13 mit Let’s Encrypt sichern
Es wird empfohlen, die Odoo-Instanz mit Let’s Encrypt SSL zu sichern. Dies ist kein obligatorischer Schritt, bietet aber sichere Verbindungen für Ihre Odoo-Instanz.
Installieren Sie zuerst den Certbot-Client in Ihrem System, um SSL zu verwalten:
wget https://dl.eff.org/certbot-auto
mv certbot-auto /usr/local/bin/certbot-auto
chmod 0755 /usr/local/bin/certbot-auto
Führen Sie nun den folgenden Befehl aus, um ein SSL-Zertifikat für Ihre Odoo 13-Website zu erhalten und zu installieren. Ersetzen Sie „example.com“ durch Ihren registrierten Domainnamen.
certbot-auto --nginx -d odoo13.example.com
Der obige Befehl installiert zunächst alle erforderlichen Abhängigkeiten auf Ihrem Server. Nach der Installation werden Sie aufgefordert, eine E-Mail-
Adresse anzugeben und die Nutzungsbedingungen wie unten gezeigt zu akzeptieren:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): [email protected]
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N
Treffen Sie Ihre Wahl und drücken Sie Enter weitermachen. Nachdem das Zertifikat installiert wurde, sollten Sie die folgende Ausgabe sehen:
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for odoo13.example.com
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/nginx.conf
Redirecting all traffic on port 80 to ssl in /etc/nginx/nginx.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled https://odoo13.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=odoo13.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/odoo13.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/odoo13.example.com/privkey.pem
Your cert will expire on 2020-08-22. To obtain a new or tweaked
version of this certificate in the future, simply run certbot-auto
again with the "certonly" option. To non-interactively renew *all*
of your certificates, run "certbot-auto renew"
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Zu diesem Zeitpunkt ist Ihre Odoo 13-Instanz mit Let’s Encrypt SSL gesichert.
Greifen Sie auf die Odoo 13-Instanz zu
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL https://odoo13.example.com
ein . Sie sollten die folgende Seite sehen:
Geben Sie Ihr Master-Passwort, Datenbankdetails, E-Mail-Adresse und Passwort ein, bevor Sie auf Datenbank erstellen klicken Taste. Sie sollten das Odoo 13-Dashboard auf der folgenden Seite sehen:
Herzlichen Glückwunsch, wenn Sie unsere Anweisungen in diesem Tutorial sorgfältig befolgt haben, haben Sie das neueste Odoo 13 erfolgreich auf Ihrem CentOS 8 VPS installiert. Sie können Ihre erste Datenbank erstellen und die neueste Odoo 13-Version verwenden.
Natürlich müssen Sie Odoo 13 nicht auf CentOS 8 installieren, wenn Sie einen unserer Odoo VPS-Hosting-Dienste nutzen. In diesem Fall können Sie einfach unser Team aus erfahrenen Linux-Administratoren bitten, Odoo 13 für Sie zu installieren und zu konfigurieren. Sie sind 24×7 erreichbar und kümmern sich umgehend um Ihr Anliegen. Wir beseitigen das Rätselraten bei der Installation Ihrer Odoo-Plattform – sagen Sie uns einfach, was Sie brauchen, und es wird erledigt.
PS . Wenn Ihnen dieser Beitrag über die Installation von Odoo 13 auf CentOS 8 gefallen hat, teilen Sie ihn bitte mit Ihren Freunden in den sozialen Netzwerken, indem Sie die Freigabe-Shortcuts unten verwenden, oder hinterlassen Sie einfach eine Antwort im Kommentarbereich. Danke.