Установите Odoo 11 на CentOS 7

Odoo — это самое популярное универсальное программное обеспечение для бизнеса в мире. Он предлагает широкий спектр бизнес-приложений, включая CRM, веб-сайт, электронную коммерцию, биллинг, бухгалтерский учет, производство, склад, управление проектами, инвентаризацию и многое другое, и все они полностью интегрированы.

Odoo 11 требует Python 3.5, которого нет в репозиториях CentOS. Из-за этого мы не можем установить пакет Odoo через yum из репозитория Odoo.

Мы либо запускаем Odoo в контейнере докеров, либо устанавливаем его в виртуальной среде Python.

В этом руководстве мы расскажем, как установить Odoo 11 с использованием исходного кода Git и виртуальной среды Python на машине с CentOS 7.

Подготовка

Войдите на свой компьютер CentOS как пользователь sudo и обновите систему до последних пакетов:

sudo yum update

Включите репозиторий EPEL , набрав:

sudo yum install epel-release

Мы установим пакеты Python 3.5 из репозитория Software Collections (SCL).

Включив SCL, вы получите доступ к новым версиям языков программирования и службам, которые недоступны в основных репозиториях. Включите репозиторий SCL с помощью следующей команды:

sudo yum install centos-release-scl

Установите пакеты Python 3.5 с помощью следующей команды:

sudo yum install rh-python35

Наконец, установите git , pip и все инструменты, необходимые для создания зависимостей Odoo:

sudo yum install git gcc wget nodejs-less libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel postgresql-devel

Создать пользователя Odoo

Создайте нового системного пользователя и группу с домашним каталогом /opt/odoo который будет запускать службу Odoo:

sudo useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Вы можете называть пользователя как хотите, просто убедитесь, что вы создали пользователя PostgreSQL с тем же именем.

Установить и настроить PostgreSQL

Установите сервер PostgreSQL и создайте новый кластер базы данных PostgreSQL:

sudo yum install postgresql-serversudo postgresql-setup initdb

После завершения установки включите и запустите службу PostgreSQL:

sudo systemctl enable postgresqlsudo systemctl start postgresql

Создайте пользователя PostgreSQL с тем же именем, что и ранее созданный системный пользователь, в нашем случае odoo :

sudo su - postgres -c "createuser -s odoo"

Установить Wkhtmltopdf

Пакет wkhtmltox предоставляет набор инструментов командной строки с открытым исходным кодом, которые могут преобразовывать HTML в PDF и различные форматы изображений. Чтобы распечатать отчеты в формате PDF, вам понадобится инструмент wkhtmltopdf . Рекомендуемая версия для Odoo — 0.12.1 которая недоступна в официальных репозиториях CentOS 7.

Чтобы загрузить и установить рекомендованную версию, выполните следующие команды:

wget https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.1/wkhtmltox-0.12.1_linux-centos7-amd64.rpmsudo yum localinstall wkhtmltox-0.12.1_linux-centos7-amd64.rpm

Установите и настройте Odoo 11

Мы установим Odoo из репозитория GitHub, чтобы иметь больший контроль над версиями и обновлениями. Мы также будем использовать virtualenv — инструмент для создания изолированных сред Python.

Перед тем, как начать процесс установки, убедитесь, что вы [переключитесь на пользователя] «odoo»:

sudo su - odoo

Чтобы подтвердить, что вы вошли в систему как пользователь odoo вы можете использовать следующую команду:

whoami

Теперь мы можем начать процесс установки, сначала клонируйте odoo из репозитория GitHub:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

Включите коллекции программного обеспечения, чтобы мы могли получить доступ к двоичным файлам python 3.5:

scl enable rh-python35 bash

Создайте новую виртуальную среду для нашей установки Odoo с помощью:

cd /opt/odoopython3 -m venv odoo11-venv

активировать среду:

source odoo11-venv/bin/activate

и установите все необходимые модули Python:

pip3 install -r odoo11/requirements.txt
Если вы обнаружите какие-либо ошибки компиляции во время установки, убедитесь, что вы установили все необходимые зависимости, перечисленные в разделе « Before you begin ».

После завершения установки деактивируйте среду и вернитесь к своему пользователю sudo, используя следующие команды:

deactivate
exit

Если вы планируете устанавливать собственные модули, лучше всего установить эти модули в отдельный каталог. Чтобы создать новый каталог для пользовательских модулей, выполните:

sudo mkdir /opt/odoo/odoo11-custom-addonssudo chown odoo: /opt/odoo/odoo11-custom-addons

Далее нам нужно создать файл конфигурации:

/etc/odoo11.conf
[options]
; This is the password that allows database operations:
admin_passwd = superadmin_passwd
db_host = False
db_port = False
db_user = odoo
db_password = False
addons_path = /opt/odoo/odoo11/addons
; If you are using custom modules
; addons_path = /opt/odoo/odoo11/addons,/opt/odoo/odoo11-custom-addons
Не забудьте изменить superadmin_passwd на что-нибудь более безопасное и настроить addons_path если вы используете собственные модули.

Создайте файл модуля systemd

Чтобы запустить odoo в качестве службы, мы создадим odoo11.service модуля odoo11.service каталоге /etc/systemd/system/ со следующим содержимым:

/etc/systemd/system/odoo11.service
[Unit]
Description=Odoo11
Requires=postgresql.service
After=network.target postgresql.service

[Service]
Type=simple
SyslogIdentifier=odoo11
PermissionsStartOnly=true
User=odoo
Group=odoo
ExecStart=/usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
StandardOutput=journal+console

[Install]
WantedBy=multi-user.target

Сообщите systemd что мы создали новый файл модуля, и запустите службу Odoo, выполнив:

sudo systemctl daemon-reloadsudo systemctl start odoo11

Вы можете проверить статус службы с помощью следующей команды:

sudo systemctl status odoo11
● odoo11.service - Odoo11
   Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2018-03-28 20:13:30 UTC; 6s ago
 Main PID: 16174 (scl)
   CGroup: /system.slice/odoo11.service
           ├─16174 /usr/bin/scl enable rh-python35 -- /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
           ├─16175 /bin/bash /var/tmp/sclihoNjg
           └─16178 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf

и если ошибок нет, вы можете включить автоматический запуск службы Odoo во время загрузки:

sudo systemctl enable odoo11

Если вы хотите увидеть сообщения, зарегистрированные службой Odoo, вы можете использовать следующую команду:

sudo journalctl -u odoo11

Проверить установку

Откройте браузер и введите: http://<your_domain_or_IP_address>:8069

Если установка прошла успешно, появится экран, подобный следующему:

Если вы не можете получить доступ к странице, возможно, ваш брандмауэр блокирует порт 8069.

Выводы

В этом руководстве вы познакомились с установкой Odoo 11 на CentOS 7 в виртуальной среде Python.

Вы также можете ознакомиться с нашим руководством о том, как создавать автоматические ежедневные резервные копии ваших баз данных Odoo .

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Оставьте комментарий