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, alles nahtlos integriert.
In diesem Tutorial zeigen wir Ihnen, wie Sie Odoo12 aus der Quelle in einer virtuellen Python-Umgebung auf einem CentOS 7-Computer installieren.
Voraussetzungen #
Stellen Sie sicher, dass Sie als Benutzer mit sudo-Berechtigungen angemeldet sind, bevor Sie mit dem Tutorial fortfahren.
Installieren Sie Python 3.6 und Odoo-Abhängigkeiten #
Wir werden Python 3.6-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 die EPEL- und SCL-Repositorys mit dem folgenden Befehl:
sudo yum install epel-release centos-release-scl
Sobald die Repositories aktiviert sind, installieren Sie Python 3.6 alle Tools, die zum Erstellen von Odoo-Abhängigkeiten erforderlich sind:
sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Während der Installation werden Sie aufgefordert, die GPG-Schlüssel zu akzeptieren.
Odoo-Benutzernummer 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/odoo12 -s /bin/bash odoo12
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 #
Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste Version von PostgreSQL, die in den CentOS-Repositories verfügbar ist, PostgreSQL Version 9.2, die nicht offiziell von Odoo unterstützt wird.
Wir installieren PostgreSQL 10 aus den offiziellen PostgreSQL-Repositories.
Beginnen Sie, indem Sie das PostgreSQL-Repository aktivieren:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
Installieren Sie den PostgreSQL-Server und erstellen Sie einen neuen PostgreSQL-Datenbankcluster:
sudo yum install postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Aktivieren und starten Sie nach Abschluss der Installation den PostgreSQL-Dienst:
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Erstellen Sie 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 #
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.
Laden Sie die empfohlene Version mit dem folgenden wget-Befehl herunter:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Sobald der Download abgeschlossen ist, installieren Sie rpm
Paket durch Eingabe von:
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Installieren und konfigurieren Sie Odoo 12 #
Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass Sie zum Benutzer „odoo12“ wechseln:
sudo su - odoo12
Klonen Sie zunächst den Quellcode von Odoo 12 aus dem Odoo GitHub-Repository:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Aktivieren Sie Softwaresammlungen, damit wir auf die Binärdateien von Python 3.6 zugreifen können:
scl enable rh-python36 bash
Erstellen Sie eine neue virtuelle Python-Umgebung für die Odoo-Installation mit:
cd /opt/odoo12
python3 -m venv venv
Umgebung aktivieren:
source venv/bin/activate
Installieren Sie alle erforderlichen Python-Module:
pip3 install -r odoo/requirements.txt
Wenn während der Installation Kompilierungsfehler auftreten, vergewissern Sie sich, dass Sie alle erforderlichen Abhängigkeiten installiert haben, die in Install Python 3.6 and Odoo Dependencies
aufgeführt sind Sektion. Sobald die Installation abgeschlossen ist, 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
Öffnen Sie als Nächstes Ihren Texteditor und erstellen Sie die folgende Konfigurationsdatei:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo12
db_password = False
addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
Speichern und schließen Sie die Datei.
Vergessen Sie nicht, dassuperadmin_passwd
zu ändern zu etwas Sichererem. Erstellen Sie eine Systemd-Unit-Datei #
Um Odoo als Dienst auszuführen, erstellen wir eine Unit-Datei.
Öffnen Sie Ihren Texteditor und erstellen Sie eine Datei namens odoo12.service
innerhalb von /etc/systemd/system/
Verzeichnis:
sudo nano /etc/systemd/system/odoo12.service
Fügen Sie den folgenden Inhalt ein:
/etc/systemd/system/odoo12.service[Unit]
Description=Odoo12
Requires=postgresql-10.service
After=network.target postgresql-10.service
[Service]
Type=simple
SyslogIdentifier=odoo12
PermissionsStartOnly=true
User=odoo12
Group=odoo12
ExecStart=/usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Speichern Sie die Datei und schließen Sie den Editor.
Systemd benachrichtigen, dass wir eine neue Unit-Datei erstellt haben:
sudo systemctl daemon-reload
Starten und aktivieren Sie den Odoo-Dienst, indem Sie Folgendes ausführen:
sudo systemctl enable odoo12
sudo systemctl start odoo12
Sie können den Dienststatus mit dem folgenden Befehl überprüfen:
sudo systemctl status odoo12
● odoo12.service - Odoo12
Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: disabled)
Active: active (running) since Tue 2018-10-30 16:35:09 UTC; 6s ago
Main PID: 24649 (scl)
CGroup: /system.slice/odoo12.service
├─24649 /usr/bin/scl enable rh-python36 -- /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
├─24650 /bin/bash /var/tmp/scldyaa9h
└─24653 /opt/odoo12/venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Wenn Sie die vom Odoo-Dienst protokollierten Nachrichten sehen möchten, können Sie den folgenden Befehl verwenden:
sudo journalctl -u odoo12
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 den Port 8069
.
Verwenden Sie die folgenden Befehle, um den erforderlichen Port zu öffnen:
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload