Odoo je sada softwarových nástrojů pro řízení podniku, včetně například CRM, elektronického obchodu, fakturace, účetnictví, výroby, skladu, řízení projektů a řízení zásob. Odoo 14 bylo vydáno 3. října 2020.
Ubuntu 22.04 je nejnovější dlouhodobá verze (LTS) vydaná společností Canonical Ltd., která stojí za softwarem Ubuntu a souvisejícími projekty.
V tomto tutoriálu nastavíme Odoo 14 pomocí virtuálního prostředí, abychom izolovali naši aplikaci a předešli konfliktům na systémové úrovni.
Začněme instalací.
1 Aktualizace systému
sudo apt update -y && apt upgrade -y
2 Instalace závislostí
Po aktualizaci systému musíme nainstalovat všechny potřebné závislosti.
sudo apt install python3-dev nodejs git build-essential node-less npm python3-pip python3-venv python3-wheel python3-setuptools libjpeg-dev libpq-dev liblcms2-dev libwebp-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev libldap2-dev libsasl2-dev libxslt1-dev zlib1g-dev libxml2-dev
3 Instalace a konfigurace databáze
Výchozí backendová databáze Odoo je PostgreSQL.
Nechte nás nainstalovat PostgreSQL.
sudo apt install postgresql -y
Po instalaci potřebujeme vytvořit databázového uživatele.
sudo su - postgres -c "createuser -s odoo14"
4 Vytvoření systémového uživatele
Vytvořme systémového uživatele pro naši instanci.
sudo useradd -m -d /opt/odoo14 -U -r -s /bin/bash odoo14
5 Instalace wkhtmltopdf
Wkhtmltopdf je balíček, který převádí HTML do formátu PDF pomocí vykreslovacího modulu Qt WebKit. Tento balíček je potřebný pro tisk PDF zpráv pro prodejní fakturu, prodejní zprávu a další.
Ubuntu 22.04 má ve svých úložištích balíček wkhtmltopdf, ale tento balíček nepodporuje záhlaví a zápatí. Poté použijeme balíček wkhtmltox(wkhtmltopdf) z Github.
Než si však stáhneme a nainstalujeme balíček wkhtmltox, musíme nainstalovat libssl1.1 za prvé, protože wkhtmltox závisí na tomto libssl verze.
Soubor libssl verze v Ubuntu 22.04 byla upgradována na verzi 3, takže musíme přidat zdroj Ubuntu 21.10, abychom vynutili instalaci na libssl verze 1 .
echo "deb http://security.ubuntu.com/ubuntu impish-security main" | sudo tee /etc/apt/sources.list.d/impish-security.list
Aktualizujte systém.
sudo apt-get update
Nainstalujte libssl verze 1.
sudo apt-get install libssl1.1 -y
UPDATE: If the impish repository failed to update, you can download the libssl1.1 package manually and install it.
Chcete-li jej nainstalovat ručně, postupujte takto.
sudo wget http://security.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb
Nechte nás stáhnout a nainstalovat balíček wkhtmltox z Github.
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
sudo chmod +x wkhtmltox_0.12.6-1.focal_amd64.deb
sudo apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb
Vytvořte symbolický odkaz.
ln -s /usr/local/bin/wkhtmltopdf /usr/bin/wkhtmltopdf
Zkontrolujte, zda byla instalace úspěšná.
wkhtmltopdf --version
Output:
wkhtmltopdf 0.12.6 (with patched qt)
6 Odoo 14 instalace a konfigurace
Než budeme pokračovat v instalaci, musíme se přepnout na uživatele Odoo14.
su - odoo14
Klonujte úložiště z Github.
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo
Změňte adresář na adresář Odoo14.
cd /opt/odoo14
Vytvořte virtuální prostředí.
python3 -m venv venv
Aktivujte virtuální prostředí.
source venv/bin/activate
Protože výchozí verze Pythonu ubuntu 22.04 je 3.10, musíme se ujistit, že moduly Pythonu uvedené v requirements.txt jsou kompatibilní s Pythonem 3.10. Upravme verzi některých modulů v souboru requirements.txt .
Nyní otevřete soubor request.txt pomocí svého oblíbeného textového editoru.
nano /opt/odoo15/odoo/requirements.txt
Upravte svůj aktuální soubor požadavků pomocí zvýrazněných modulů.
Babel==2.9.1
chardet==3.0.4
decorator==4.3.0
docutils==0.14
ebaysdk==2.1.5
freezegun==0.3.11; python_version < '3.8'
freezegun==0.3.15; python_version >= '3.8'
gevent==1.1.2 ; sys_platform != 'win32' and python_version < '3.7'
gevent==1.5.0 ; python_version == '3.7'
gevent>=20.9.0 ; python_version >= '3.8'
gevent==1.4.0 ; sys_platform == 'win32' and python_version < '3.7'
greenlet==0.4.10 ; python_version < '3.7'
greenlet==0.4.15 ; python_version == '3.7'
greenlet>=0.4.17 ; python_version > '3.7'
idna==2.6
Jinja2==2.10.1; python_version < '3.8'
# bullseye version, focal patched 2.10
Jinja2==2.11.2; python_version >= '3.8'
libsass==0.17.0
lxml==3.7.1 ; sys_platform != 'win32' and python_version < '3.7'
lxml==4.3.2 ; sys_platform != 'win32' and python_version == '3.7'
lxml==4.6.5 ; sys_platform != 'win32' and python_version > '3.7'
lxml ; sys_platform == 'win32'
Mako==1.0.7
MarkupSafe==1.1.0
num2words==0.5.6
ofxparse==0.19
passlib==1.7.1
Pillow==5.4.1 ; python_version <= '3.7' and sys_platform != 'win32'
Pillow==6.1.0 ; python_version <= '3.7' and sys_platform == 'win32'
Pillow==8.1.1 ; python_version > '3.7'
polib==1.1.0
psutil==5.6.6
psycopg2==2.7.7; sys_platform != 'win32' and python_version < '3.8'
psycopg2==2.8.5; sys_platform == 'win32' or python_version >= '3.8'
pydot==1.4.1
python-ldap==3.1.0; sys_platform != 'win32'
PyPDF2==1.26.0
pyserial==3.4
python-dateutil==2.7.3
pytz==2019.1
pyusb==1.0.2
qrcode==6.1
reportlab==3.5.13; python_version < '3.8'
reportlab==3.5.55; python_version >= '3.8'
requests==2.21.0
zeep==3.2.0
python-stdnum==1.8
vobject==0.9.6.1
Werkzeug==0.16.1
XlsxWriter==1.1.2
xlwt==1.3.*
xlrd==1.1.0; python_version < '3.8'
xlrd==1.2.0; python_version >= '3.8'
pypiwin32 ; sys_platform == 'win32'
Po úpravě souboru requirements.txt soubor uložte a ukončete.
Nainstalujte python module wheel.
(venv) $ pip3 install wheel
Nainstalujte moduly pythonu do souboru request.txt.
(venv) pip3 install -r odoo/requirements.txt
Deaktivujte virtuální prostředí.
(venv) deactivate
Vytvořte si vlastní adresář doplňků.
mkdir /opt/odoo14/custom-addons
Poté ukončete.
exit
Vytvořte konfigurační soubor.
sudo nano /etc/odoo14.conf
Vložte obsah níže.
[options]
; This is the password that allows database operations:
admin_passwd = admin_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
logfile = /var/log/odoo14/odoo.log
addons_path = /opt/odoo14/odoo/addons,/opt/odoo14/custom-addons
Změňte prosím „admin_password ” na vaše preferované heslo, poté soubor uložte a zavřete.
Nyní vytvořte adresář protokolu.
mkdir /var/log/odoo14
chown odoo14:root /var/log/odoo14
7 Vytvořte službu Systemd
Chcete-li snadno spravovat naši instanci, vytvořte službu systemd.
sudo nano /etc/systemd/system/odoo14.service
Vložte obsah níže.
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/venv/bin/python3 /opt/odoo14/odoo/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Uložte a zavřete soubor a znovu načtěte démona systemd, abyste použili změny.
sudo systemctl daemon-reload
Povolte a spusťte službu systemd.
sudo systemctl enable --now odoo14
Zkontrolujte stav.
systemctl status odoo14
To je to, co byste měli mít přístup ke své instanci na http://ipaddress:8069 .
Pokud potřebujete reverzní proxy, můžete se podívat na naši příručku, jak nakonfigurovat Odoo s Apache nebo Nginx jako reverzní proxy. Pokud potřebujete certifikát SSL, můžete si přečíst náš článek o Let’s Encrypt.
8 Závěr
V tomto tutoriálu jste se naučili, jak nainstalovat Odoo 14 na Ubuntu 22.04 a je to velmi náročné kvůli problémům s kompatibilitou, ale jsme schopni to vytáhnout. Pokud se vám tento článek líbí, mohl by se vám líbit také náš článek o Odoo 14 na Ubuntu 20.04.