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

Odoo 11 требуется Python 3.5, которого нет в репозиториях CentOS. Из-за этого мы не можем установить пакет Odoo через yum из репозитория Odoo.
Мы либо запускаем Odoo в Docker- контейнере, либо устанавливаем его в виртуальной среде Python. Войдите на свой компьютер 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:
sudo yum install postgresql-server
sudo postgresql-setup initdb
После завершения установки включите и запустите службу PostgreSQL:
sudo systemctl enable postgresql
sudo 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.rpm
sudo 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/odoo
python3 -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-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Далее нам нужно создать файл конфигурации:
[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
если вы используете пользовательские модули. Создать системный файл модуля
Чтобы запустить odoo как сервис, мы создадим odoo11.service
файл модуля в /etc/systemd/system/
со следующим содержимым:
[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-reload
sudo 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.