Odoo, раніше відома як OpenERP, являє собою набір бізнес-додатків з відкритим вихідним кодом. Це широко використовуване програмне забезпечення для планування ресурсів підприємства (ERP) з відкритим вихідним кодом. Odoo пропонує безліч модулів, які можуть бути встановлені в рамках одного застосунку, що сприяє його нинішній популярності. В останній версії Odoo 17 з’явилися додаткові функції, що підвищують зручність використання. В інтерфейс останньої версії інтегровані поєднання клавіш, що спрощує завдання вибору записів і дає змогу без особливих зусиль робити множинний вибір. У цій статті ми покажемо, як встановити Odoo 17 на сервери Ubuntu 24.04.
Ви також можете подивитися нашу статтю про встановлення Oddoo 17 на Debian за посиланням нижче:
Необхідні умови
- Ubuntu 24.04 VPS з не менш ніж 2 ГБ оперативної пам’яті.
- SSH root-доступ або користувач із привілеями sudo.
Крок 1. Встановлення залежностей
На момент написання цієї статті Odoo 17 не підтримує Python 3.12. При спробі встановити Odoo за допомогою Python 3.12 ви побачите помилку. Тому, щоб продовжити встановлення, ми будемо використовувати Python 3.11, а також нам потрібно встановити деякі залежності Python. Давайте виконаємо цю команду нижче, щоб встановити їх.
# apt install build-essential wget git python3.11-dev python3.11-venv
libfreetype-dev libxml2-dev libzip-dev libsasl2-dev
node-less libjpeg-dev zlib1g-dev libpq-dev
libxslt1-dev libldap2-dev libtiff5-dev libopenjp2-7-dev libcap-dev
Крок 2. Додайте системного користувача
Існує кілька способів встановлення Odoo. Оскільки ми збираємося встановити його за допомогою віртуального середовища Python і будемо працювати під звичайним системним користувачем, нам потрібно створити нового системного користувача. Давайте створимо нового системного користувача, виконавши таку команду.
# /usr/sbin/adduser
--system
--shell /bin/bash
--gecos 'Odoo user'
--group
--home /opt/odoo17
odoo17
Ось і все! Новий системний користувач під ім’ям ‘odoo17’ доданий, а його домашній каталог – /opt/odoo17.
Крок 3. Встановіть PostgreSQL
Для зберігання даних Odoo підтримує тільки PostgreSQL. Давайте виконаємо наведену нижче команду, щоб встановити сервер PostgreSQL на нашу систему Ubuntu 24.04.
# apt install postgresql
Після встановлення PostgreSQL створіть користувача PostgreSQL з тим самим ім’ям, що й новий системний користувач. Виконайте таку команду для створення користувача PostgreSQL:
# su - postgres -c "createuser -s odoo17"
Усе готово, тепер у нас є системний користувач і користувач PostgreSQL з однаковим ім’ям ‘odoo17’. Ми можемо перейти до наступного кроку.
Крок 4. Встановіть wkhtmltopdf
Wkhtmltopdf, інструмент командного рядка, доступний як рішення з відкритим кодом для перетворення HTML-даних у формат PDF за допомогою Qt webkit. Однак, оскільки пакет .DEB для Ubuntu 24.04 все ще недоступний, ми можемо встановити його зі стандартного сховища Ubuntu.
# apt install wkhtmltopdf
Зверніть увагу, що wkhtmltopdf з репозиторію Ubuntu 24.04 зібрано не на основі форкнутої версії Qt, тому деякі опції не підтримуються. Ви можете перевірити та завантажити пакет .DEB для Ubuntu 24.04 за адресою https://wkhtmltopdf.org/downloads.html. Також ви можете завантажити та встановити пакет для Ubuntu 22.04.
Крок 5. Встановіть Odoo 17
У попередньому кроці ми додали нового системного користувача для встановлення та запуску Odoo. Давайте переключимося на системного користувача ‘odoo17’, щоб завантажити файли Odoo з GitHub і створити нове оточення Python.
# su - odoo17
Далі давайте завантажимо Odoo з GitHub
$ git clone https://www.github.com/odoo/odoo --depth 1 --branch 17.0 odoo17
Створення віртуального середовища Python
Використовуючи віртуальне середовище Python, цей метод інсталяції Odoo дає змогу встановити кілька версій Odoo на ваш сервер. Тепер, коли Odoo 17 завантажено в папку /opt/odoo/odoo17, настав час створити віртуальне середовище Python.
$ python3.11 -m venv odoo17-venv
Наразі в нас є нове віртуальне середовище Python у каталозі /opt/odoo17/odoo17-venv, яке необхідно активувати перед встановленням Odoo.
$ source odoo17-venv/bin/activate
Після виклику запрошення оболонки матиме такий вигляд:
(odoo17-venv) odoo17@ubuntu24:~$
Далі, давайте встановимо Odoo
(odoo17-venv) odoo17@ubuntu24:~$ pip3 install wheel setuptools pip --upgrade
(odoo17-venv) odoo17@ubuntu24:~$ pip3 install -r odoo17/requirements.txt
Ось і все. Odoo було встановлено в каталог /opt/odoo17/odoo17. Тепер ми можемо створити нову директорію для зберігання наших користувацьких доповнень Odoo.
$ mkdir /opt/odoo17/odoo17/custom-addons
Готово, давайте вийдемо від користувача ‘odoo17’ і створимо файл конфігурації Odoo.
$ exit
Готово, давайте вийдемо від користувача ‘odoo17’ і створимо файл конфігурації Odoo.
# nano /etc/odoo17.conf
Вставте у файл такий вміст.
[options]
admin_passwd = m0d1fyth15
db_host = False
db_port = False
db_user = odoo17
db_password = False
addons_path = /opt/odoo17/odoo17/addons,/opt/odoo17/odoo17/custom-addons
Замініть m0d1fyth15 на щось складніше і надійніше. Це буде ваш майстер-пароль Odoo. Збережіть файл і вийдіть із редактора nano.
Крок 6. Створення файлу Odoo Systemd Unit
Нам потрібно буде створити файл служби systemd для управління службою Odoo 17. На цьому кроці ми створимо файл systemd unit, який буде керувати нашою установкою Odoo, наприклад, запускати/зупиняти/перезапускати її.
# nano /etc/systemd/system/odoo17.service
Вставте такий вміст у файл блоку systemd.
[Unit]
Description=odoo17
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo17
PermissionsStartOnly=true
User=odoo17
Group=odoo17
ExecStart=/opt/odoo17/odoo17-venv/bin/python3 /opt/odoo17/odoo17/odoo-bin -c /etc/odoo17.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Збережіть файл і вийдіть. І не забудьте перезавантажити службу systemd, а потім запустити Odoo.
# systemctl daemon-reload
# systemctl enable --now odoo17
Перевірте, чи запускається Odoo, виконавши цю команду:
# systemctl status odoo17
Відкрийте ваш улюблений веб-браузер і перейдіть за адресою http://YOUR_SERVER_IP_ADDRESS:8069. Ви побачите сторінку Odoo за замовчуванням.
Під час роботи з базою даних Odoo вам буде запропоновано ввести майстер-пароль. Майстер-пароль знаходиться в конфігураційному файлі Odoo і являє собою значення admin_passwd. Переконайтеся, що ви використовуєте надійний пароль для майстер-пароля Odoo.
Крок 7. Встановлення та налаштування зворотного проксі
Щоб отримати доступ до вашого сайту Odoo за адресою http://yourdomain.com, а не http://YOUR_SERVER_IP_ADDRESS:8069, нам потрібно встановити веб-сервер і налаштувати його як зворотний проксі. Використання зворотного проксі має безліч переваг, таких як балансування навантаження, кешування, стиснення та обслуговування статичного контенту. На цьому етапі ми встановимо Nginx або Apache. Ви можете вибрати тільки один веб-сервер і пропустити інші варіанти.
Встановлення та налаштування Nginx
Щоб використовувати Nginx, ми можемо встановити його, виконавши таку команду:
# apt install nginx
На сервері Ubuntu 24 після встановлення має бути запущено nginx. Давайте створимо новий блок сервера Nginx.
# nano /etc/nginx/conf.d/odoo.conf
Вставте в цей файл таке.
upstream odoo17 {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name yourdomain.com;
access_log /var/log/nginx/odoo17.access.log;
error_log /var/log/nginx/odoo17.error.log;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
location / {
proxy_pass http://odoo17;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
}
location /longpolling {
proxy_pass http://odoochat;
}
location ~* /web/static/ {
proxy_cache_valid 200 60m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo17;
}
}
Замініть yourdomain.com на реальне доменне ім’я або ім’я піддомену, що вказує на IP-адресу вашого сервера. Потім збережіть файл і вийдіть із редактора.
Щоб застосувати зміни, ми можемо перезапустити Nginx
# systemctl restart nginx
Ось і все. Тепер ви повинні мати доступ до Odoo 17 за адресою http://yourdomain.com.
Встановлення та налаштування Apache
Якщо ви віддаєте перевагу Apache, а не Nginx, або у вас уже встановлено Apache, ви можете виконати цей крок.
# apt install apache2
Після встановлення Apache ми можемо створити новий віртуальний хост.
# nano /etc/apache2/sites-enabled/odoo.conf
Вставте наступне у файл odoo.conf.
<VirtualHost *:80>
ServerName yourdomain.com
ServerAlias www.yourdomain.com
ErrorLog ${APACHE_LOG_DIR}/yourdomain-error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyRequests Off
<Proxy *>
Order deny,allow
Require all granted
</Proxy>
ProxyPass / http://127.0.0.1:8069/
ProxyPassReverse / http://127.0.0.1:8069/
<Location />
Order allow,deny
Require all granted
</Location>
</VirtualHost>
Переконайтеся, що ви замінили yourdomain.com на своє справжнє доменне ім’я, а потім перезапустіть Apache.
# systemctl restart apache2
Вітаємо! Ви успішно встановили Odoo 17 на свій сервер Ubuntu 24.04. Тепер ви можете встановити різні плагіни, як-от рахунки-фактури, бухгалтерський облік, інвентаризація та багато інших залежно від потреб вашого бізнесу.