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:
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
если вы используете собственные модули.Создайте файл модуля systemd
Чтобы запустить odoo в качестве службы, мы создадим odoo11.service
модуля 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
Если установка прошла успешно, появится экран, подобный следующему:
Выводы
В этом руководстве вы познакомились с установкой Odoo 11 на CentOS 7 в виртуальной среде Python.
Вы также можете ознакомиться с нашим руководством о том, как создавать автоматические ежедневные резервные копии ваших баз данных Odoo .
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.