Odoo ist die beliebteste All-in-One-Unternehmenssoftware der Welt. Es bietet eine Reihe von Geschäftsanwendungen, darunter CRM, Website, E-Commerce, Rechnungsstellung, Buchhaltung, Fertigung, Lager, Projektmanagement, Inventar und vieles mehr, die alle nahtlos integriert sind.
Odoo11 erfordert Python 3.5, das nicht in den CentOS-Repositories verfügbar ist. Aus diesem Grund können wir das Odoo-Paket nicht über yum aus dem Odoo-Repository installieren.
Wir führen Odoo entweder in einem Docker-Container aus oder installieren es in einer virtuellen Python-Umgebung.
In diesem Tutorial führen wir Sie durch die Installation von Odoo 11 mithilfe der Git-Quelle und der virtuellen Python-Umgebung auf einem CentOS 7-Computer.
Bevor Sie anfangen #
Melden Sie sich als sudo-Benutzer bei Ihrem CentOS-Computer an und aktualisieren Sie das System auf die neuesten Pakete:
sudo yum update
Aktivieren Sie das EPEL-Repository, indem Sie Folgendes eingeben:
sudo yum install epel-release
Wir werden Python 3.5-Pakete aus dem Software Collections (SCL)-Repository installieren.
Durch die Aktivierung von SCL erhalten Sie Zugriff auf die neueren Versionen von Programmiersprachen und Diensten, die nicht in den Core-Repositories verfügbar sind. Aktivieren Sie das SCL-Repository mit dem folgenden Befehl:
sudo yum install centos-release-scl
Installieren Sie Python 3.5-Pakete mit dem folgenden Befehl:
sudo yum install rh-python35
Installieren Sie schließlich git
, pip
und alle Tools, die zum Erstellen von Odoo-Abhängigkeiten erforderlich sind:
sudo yum install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel
Odoo-Benutzer # erstellen
Erstellen Sie einen neuen Systembenutzer und eine neue Gruppe mit dem Home-Verzeichnis /opt/odoo
das den Odoo-Dienst ausführt:
sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Sie können den Benutzer beliebig benennen, stellen Sie jedoch sicher, dass Sie einen PostgreSQL-Benutzer mit demselben Namen erstellen. Installieren und konfigurieren Sie PostgreSQL #
Installieren Sie den PostgreSQL-Server und erstellen Sie einen neuen PostgreSQL-Datenbankcluster:
sudo yum install postgresql-server
sudo postgresql-setup initdb
Aktivieren und starten Sie nach Abschluss der Installation den PostgreSQL-Dienst:
sudo systemctl enable postgresql
sudo systemctl start postgresql
Erstellen Sie einen PostgreSQL-Benutzer mit demselben Namen wie der zuvor erstellte Systembenutzer, in unserem Fall odoo
:
sudo su - postgres -c "createuser -s odoo"
Installieren Sie Wkhtmltopdf #
Die wkhtmltox
Paket bietet eine Reihe von Open-Source-Befehlszeilentools, die HTML in PDF und verschiedene Bildformate rendern können. Um PDF-Berichte zu drucken, benötigen Sie wkhtmltopdf
Werkzeug. Die empfohlene Version für Odoo ist 0.12.1
die nicht in den offiziellen CentOS 7-Repositories verfügbar ist.
Um die empfohlene Version herunterzuladen und zu installieren, führen Sie die folgenden Befehle aus:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installieren und konfigurieren Sie Odoo 11 #
Wir werden Odoo aus dem GitHub-Repository installieren, damit wir mehr Kontrolle über Versionen und Updates haben. Wir werden auch virtualenv verwenden, ein Tool zum Erstellen isolierter Python-Umgebungen.
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie [zum Benutzer wechseln] „odoo“:
sudo su - odoo
Um zu bestätigen, dass Sie als odoo
angemeldet sind Benutzer können Sie den folgenden Befehl verwenden:
whoami
Jetzt können wir mit dem Installationsprozess beginnen, klonen Sie zuerst das Odoo aus dem GitHub-Repository:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
Aktivieren Sie Softwaresammlungen, damit wir auf die Binärdateien von Python 3.5 zugreifen können:
scl enable rh-python35 bash
Erstellen Sie eine neue virtuelle Umgebung für unsere Odoo-Installation mit:
cd /opt/odoo
python3 -m venv odoo11-venv
Umgebung aktivieren:
source odoo11-venv/bin/activate
und alle erforderlichen Python-Module installieren:
pip3 install -r odoo11/requirements.txt
Wenn während der Installation Kompilierungsfehler auftreten, vergewissern Sie sich, dass Sie alle erforderlichen Abhängigkeiten installiert haben, die im Abschnitt Before you begin
aufgeführt sind Sektion. Sobald die Installation abgeschlossen ist, deaktivieren Sie die Umgebung und wechseln Sie mit den folgenden Befehlen zu Ihrem sudo-Benutzer zurück:
deactivate
exit
Wenn Sie benutzerdefinierte Module installieren möchten, ist es am besten, diese Module in einem separaten Verzeichnis zu installieren. Um ein neues Verzeichnis für die benutzerdefinierten Module zu erstellen, führen Sie Folgendes aus:
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Als nächstes müssen wir eine Konfigurationsdatei erstellen:
/etc/odoo11.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo11/addons
; If you are using custom modules
; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/odoo11-custom-addons
Vergessen Sie nicht, das superadmin_passwd
zu ändern zu etwas Sichererem und passen Sie den addons_path
an wenn Sie benutzerdefinierte Module verwenden. Erstellen Sie eine systemd-Unit-Datei #
Um Odoo als Dienst auszuführen, erstellen wir einen odoo11.service
Unit-Datei in /etc/systemd/system/
Verzeichnis mit folgendem Inhalt:
[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo11
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Benachrichtigen Sie systemd
dass wir eine neue Unit-Datei erstellt haben und den Odoo-Dienst starten, indem Sie Folgendes ausführen:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Sie können den Dienststatus mit dem folgenden Befehl überprüfen:
sudo systemctl status odoo11
● odoo11.service - Odoo11
Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
Main PID: 16174 (scl)
CGroup: /system.slice/odoo11.service
├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
├─16175 /bin/bash /var/tmp/sclihoNjg
└─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
und wenn es keine Fehler gibt, können Sie den Odoo-Dienst so aktivieren, dass er beim Booten automatisch gestartet wird:
sudo systemctl enable odoo11
Wenn Sie die vom Odoo-Dienst protokollierten Nachrichten sehen möchten, können Sie den folgenden Befehl verwenden:
sudo journalctl -u odoo11
Testen Sie die Installation #
Öffnen Sie Ihren Browser und geben Sie Folgendes ein:http://<your_domain_or_IP_address>:8069
Vorausgesetzt, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:
Wenn Sie nicht auf die Seite zugreifen können, blockiert wahrscheinlich Ihre Firewall Port 8069.