Как установить Odoo 17 на Ubuntu

Odoo, ранее известная как OpenERP, представляет собой набор бизнес-приложений с открытым исходным кодом. Это широко используемое программное обеспечение для планирования ресурсов предприятия (ERP) с открытым исходным кодом. Odoo предлагает множество модулей, которые могут быть установлены в рамках одного приложения, что способствует его нынешней популярности. В последней версии Odoo 17 появились дополнительные функции, повышающие удобство использования. В интерфейс последней версии интегрированы сочетания клавиш, что упрощает задачу выбора записей и позволяет без особых усилий делать множественный выбор. В этой статье мы покажем, как установить Odoo 17 на серверы Ubuntu 24.04.

Вы также можете посмотреть нашу статью про установку Oddoo 17 на Debian по ссылке ниже:

Как установить Odoo 17 на Debian 12

Необходимые условия

  • 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

Команда выше должна вернуть вас к предыдущему пользователю, в данном случае к root.

# 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. Теперь вы можете установить различные плагины, такие как счета-фактуры, бухгалтерский учет, инвентаризация и многие другие в зависимости от потребностей вашего бизнеса.

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x