Odoo je nejpopulárnější all-in-one podnikový software na světě. Nabízí řadu podnikových aplikací včetně CRM, webových stránek, e-commerce, fakturace, účetnictví, výroby, skladu, projektového managementu, zásob a mnoha dalších, to vše je hladce integrované.
V tomto tutoriálu vám ukážeme, jak nainstalovat Odoo12 ze zdroje ve virtuálním prostředí Pythonu na počítači CentOS 7.
Předpoklady #
Než budete pokračovat ve výukovém programu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
Instalace závislostí Pythonu 3.6 a Odoo #
Nainstalujeme balíčky Python 3.6 z úložiště Software Collections (SCL).
Povolením SCL získáte přístup k novějším verzím programovacích jazyků a služeb, které nejsou dostupné v základních repozitářích.
Povolte úložiště EPEL a SCL pomocí následujícího příkazu:
sudo yum install epel-release centos-release-scl
Jakmile jsou úložiště povolena, nainstalujte Python 3.6 všechny nástroje potřebné k vytvoření závislostí Odoo:
sudo yum install rh-python36 git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
Během instalace budete vyzváni k přijetí klíčů GPG.
Vytvořit uživatele Odoo #
Vytvořte nového systémového uživatele a skupinu s domovským adresářem /opt/odoo
který bude provozovat službu Odoo:
sudo useradd -m -U -r -d /opt/odoo12 -s /bin/bash odoo12
Uživatele můžete pojmenovat jakkoli chcete, jen se ujistěte, že jste vytvořili uživatele PostgreSQL se stejným jménem. Instalace a konfigurace PostgreSQL #
V době psaní tohoto článku je nejnovější verzí PostgreSQL dostupnou z repozitářů CentOS PostgreSQL verze 9.2, kterou Odoo oficiálně nepodporuje.
PostgreSQL 10 nainstalujeme z oficiálních repozitářů PostgreSQL.
Začněte povolením úložiště PostgreSQL:
sudo yum install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-2.noarch.rpm
Nainstalujte PostgreSQLserver a vytvořte nový databázový cluster PostgreSQL:
sudo yum install postgresql10-server postgresql10-devel
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Po dokončení instalace povolte a spusťte službu PostgreSQL:
sudo systemctl enable postgresql-10
sudo systemctl start postgresql-10
Vytvořte uživatele PostgreSQL se stejným jménem jako dříve vytvořený systémový uživatel, v našem případě odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Instalovat Wkhtmltopdf #
wkhtmltox
balíček poskytuje sadu nástrojů příkazového řádku s otevřeným zdrojovým kódem, které dokážou vykreslit HTML do PDF a různých obrazových formátů. Abyste mohli tisknout zprávy ve formátu PDF, budete potřebovat wkhtmltopdf
nářadí. Doporučená verze pro Odoo je 0.12.1
který není dostupný v oficiálních repozitářích CentOS 7.
Stáhněte si doporučenou verzi pomocí následujícího příkazu wget:
wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Po dokončení stahování nainstalujte rpm
balíček zadáním:
sudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm
Instalovat a konfigurovat Odoo 12 #
Před zahájením procesu instalace se ujistěte, že jste přepnuli na uživatele „odoo12“:
sudo su - odoo12
Začněte klonováním zdrojového kódu Odoo 12 z úložiště Odoo GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Povolit kolekce softwaru, abychom měli přístup k binárním souborům pythonu 3.6:
scl enable rh-python36 bash
Vytvořte nové virtuální prostředí Pythonu pro instalaci Odoo pomocí:
cd /opt/odoo12
python3 -m venv venv
Aktivujte prostředí:
source venv/bin/activate
Nainstalujte všechny požadované moduly Pythonu:
pip3 install -r odoo/requirements.txt
Pokud během instalace narazíte na nějaké chyby kompilace, ujistěte se, že jste nainstalovali všechny požadované závislosti uvedené v Install Python 3.6 and Odoo Dependencies
sekce. Po dokončení instalace deaktivujte prostředí pomocí následujícího příkazu:
deactivate
Vytvořte nový adresář pro vlastní doplňky:
mkdir /opt/odoo12/odoo-custom-addons
Přepněte zpět na uživatele sudo:
exit
Dále otevřete textový editor a vytvořte následující konfigurační soubor:
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
Uložte a zavřete soubor.
Nezapomeňte změnitsuperadmin_passwd
na něco bezpečnějšího. Vytvořte soubor systemd unit #
Pro spuštění Odoo jako služby vytvoříme soubor jednotky.
Otevřete textový editor a vytvořte soubor s názvem odoo12.service
uvnitř /etc/systemd/system/
adresář:
sudo nano /etc/systemd/system/odoo12.service
Vložte následující obsah:
/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
Uložte soubor a zavřete editor.
Informujte Systemd, že jsme vytvořili nový soubor jednotky:
sudo systemctl daemon-reload
Spusťte a povolte službu Odoo spuštěním:
sudo systemctl enable odoo12
sudo systemctl start odoo12
Stav služby můžete zkontrolovat pomocí následujícího příkazu:
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
Pokud chcete vidět zprávy zaznamenané službou Odoo, můžete použít příkaz níže:
sudo journalctl -u odoo12
Otestujte instalaci #
Otevřete prohlížeč a zadejte:http://<your_domain_or_IP_address>:8069
Za předpokladu, že instalace proběhla úspěšně, objeví se obrazovka podobná následující:
Pokud se na stránku nemůžete dostat, pravděpodobně váš firewall blokuje port 8069
.
Pomocí následujících příkazů otevřete potřebný port:
sudo firewall-cmd --permanent --zone=public --add-port=8069/tcp
sudo firewall-cmd --reload