
Odoo — самое популярное в мире комплексное программное обеспечение для бизнеса. Оно предлагает широкий спектр бизнес-приложений, включая CRM, веб-сайт, электронную коммерцию, выставление счетов, бухгалтерский учет, производство, склад, управление проектами, инвентаризацию и многое другое, — все они легко интегрируются.
Для работы Odoo 11 требуется Python 3.5, которого нет в репозиториях CentOS. Поэтому мы не можем установить пакет Odoo через yum из репозитория Odoo.
Мы либо запускаем Odoo в Docker-контейнере , либо устанавливаем его в виртуальную среду 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 в каталоге /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://
Если установка прошла успешно, появится экран, подобный следующему:

Если вы не можете получить доступ к странице, вероятно, ваш брандмауэр блокирует порт 8069.
Заключение
В этом руководстве вы узнаете, как установить Odoo 11 на CentOS 7 в виртуальной среде Python.
Вы также можете ознакомиться с нашим руководством о том, как создавать автоматические ежедневные резервные копии баз данных Odoo .
Если у вас возникла проблема или вы хотите оставить отзыв, оставьте комментарий ниже.
centos odoo postgresql python pip virtenv Не используете CentOS 7?
Выберите другую ОС: убунту 16.04 убунту 18.04
Связанные руководства