![](https://itshaman.ru/images/19539_800.webp)
Odoo, ранее известная как OpenERP, представляет собой набор бизнес-приложений с открытым исходным кодом. Это широко используемое программное обеспечение с открытым исходным кодом для планирования ресурсов предприятия (ERP). Odoo предоставляет множество модулей, которые могут быть установлены в рамках одного приложения, что способствует его нынешней популярности. В последней версии Odoo 17 появились дополнительные функции, повышающие удобство использования. В интерфейс последней версии интегрированы сочетания клавиш, что упрощает задачу выбора записей и позволяет без труда делать множественный выбор. В этой статье мы покажем, как установить Odoo 17 на серверы Ubuntu 24.04
Шаг 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. На данный момент вы можете установить различные плагины, такие как счета-фактуры, бухгалтерский учет, инвентаризация и многие другие в зависимости от потребностей вашего бизнеса.