Установка Odoo · 6 min read · Sep 29, 2025
Установка Odoo на CentOS с Nginx
Odoo — это система ERP и CRM с открытым исходным кодом, используемая для управления основными потребностями компании, включая управление материалами и складом, человеческими ресурсами, финансами, бухгалтерией, продажами, запасами и многими другими функциями для предприятий. Она построена с использованием Python и использует PostgreSQL в качестве своей базы данных. Последняя версия Odoo 14 имеет удобные функции, включая новый конструктор сайтов, новые инструменты бизнес-аналитики, новые и улучшенные меню для управления запасами и MRP и многое другое.
Этот учебник покажет вам, как установить Odoo 14 с Nginx на CentOS 8.
Предварительные требования
- Сервер с установленным CentOS 8.
- Действительное доменное имя, указывающее на IP вашего сервера.
- Пароль root, настроенный на сервере.
Начало работы
Перед началом вам нужно будет установить Python, wkhtmltopdf и другие необходимые зависимости в вашу систему. Выполните следующую команду для установки всех из них:
dnf install python3 redhat-rpm-config libxslt-devel bzip2-devel openldap-devel python3-devel git gcc libjpeg-devel freetype-devel curl unzip -y
dnf install https://github.com/wkhtmltopdf/wkhtmltopdf/releases/download/0.12.5/wkhtmltox-0.12.5-1.centos8.x86_64.rpmПосле установки всех зависимостей вы можете перейти к следующему шагу.
Установка и настройка PostgreSQL
Odoo использует PostgreSQL в качестве базы данных. Поэтому вам нужно будет установить его в вашу систему. Выполните следующую команду для установки PostgreSQL:
dnf install postgresql postgresql-server postgresql-contrib -yПосле установки PostgreSQL инициализируйте базу данных с помощью следующей команды:
postgresql-setup initdbВы должны увидеть следующий вывод:
WARNING: using obsoleted argument syntax, try --help
WARNING: arguments transformed to: postgresql-setup --initdb --unit postgresql
* Initializing database in '/var/lib/pgsql/data'
* Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Далее запустите службу PostgreSQL и включите ее для автоматического запуска при перезагрузке системы:
systemctl start postgresql
systemctl enable postgresqlЗатем создайте нового пользователя для Odoo с помощью следующей команды:
su - postgres -c "createuser -s odoo14"Когда вы закончите, вы можете перейти к следующему шагу.
Установка Odoo 14
Рекомендуется устанавливать и запускать Odoo как отдельного пользователя. Вы можете создать нового пользователя для Odoo с помощью следующей команды:
useradd -m -U -r -d /opt/odoo14 -s /bin/bash odoo14Примечание: пользователь Odoo и пользователь PostgreSQL должны быть одинаковыми.
Далее переключитесь на пользователя Odoo 14 и загрузите последнюю версию Odoo 14 с помощью следующей команды:
su - odoo14
git clone https://www.github.com/odoo/odoo --depth 1 --branch 14.0 /opt/odoo14/odoo14После завершения загрузки измените директорию на odoo14 и создайте новую виртуальную среду Python с помощью следующей команды:
cd /opt/odoo14
python3 -m venv odooenvДалее активируйте виртуальную среду с помощью следующей команды:
source odooenv/bin/activateДалее установите другие зависимости Python с помощью следующей команды:
(odooenv) [odoo14@centos8 ~]$ pip3 install wheel
(odooenv) [odoo14@centos8 ~]$ pip3 install -r odoo14/requirements.txtДалее деактивируйте виртуальную среду и выйдите из пользователя Odoo с помощью следующей команды:
(odooenv) [odoo14@centos8 ~]$ deactivate
exitКогда вы закончите, вы можете перейти к следующему шагу.
Настройка Odoo 14
Далее вам нужно будет создать директорию для хранения дополнений Odoo 14. Вы можете создать ее с помощью следующей команды:
mkdir /opt/odoo14/odoo14-custom-addonsДалее установите правильные права собственности на директорию дополнений:
chown -R odoo14:odoo14 /opt/odoo14/odoo14-custom-addonsДалее создайте директорию и файл журнала для Odoo 14 и установите правильные права собственности:
mkdir /var/log/odoo14
touch /var/log/odoo14/odoo14.log
chown -R odoo14: /var/log/odoo14/Далее создайте файл конфигурации Odoo 14:
nano /etc/odoo14.confДобавьте следующие строки:
[options]
; Это пароль, который позволяет выполнять операции с базой данных:
admin_passwd = your_master_password
db_host = False
db_port = False
db_user = odoo14
db_password = False
xmlrpc_port = 8069
; longpolling_port = 8072
logfile = /var/log/odoo14/odoo14.log
logrotate = True
addons_path = /opt/odoo14/odoo14/addons,/opt/odoo14/odoo14-custom-addons
Сохраните и закройте файл, когда закончите.
Создание файла юнита Systemd для Odoo 14
Далее вам нужно будет создать файл службы systemd для управления службой Odoo 14. Вы можете создать его с помощью следующей команды:
nano /etc/systemd/system/odoo14.serviceДобавьте следующие строки:
[Unit]
Description=Odoo14
Requires=postgresql.service
After=network.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=odoo14
PermissionsStartOnly=true
User=odoo14
Group=odoo14
ExecStart=/opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
Сохраните и закройте файл, затем перезагрузите демон systemd с помощью следующей команды:
systemctl daemon-reloadДалее запустите службу Odoo 14 и включите ее для автоматического запуска при перезагрузке системы с помощью следующей команды:
systemctl start odoo14
systemctl enable odoo14Теперь вы можете проверить статус службы Odoo 14 с помощью следующей команды:
systemctl status odoo14Вы должны получить следующий вывод:
? odoo14.service - Odoo14
Loaded: loaded (/etc/systemd/system/odoo14.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:29:56 EDT; 5s ago
Main PID: 26505 (python3)
Tasks: 4 (limit: 25014)
Memory: 91.8M
CGroup: /system.slice/odoo14.service
??26505 /opt/odoo14/odooenv/bin/python3 /opt/odoo14/odoo14/odoo-bin -c /etc/odoo14.conf
May 01 06:29:56 centos8 systemd[1]: Started Odoo14.
Когда вы закончите, вы можете перейти к следующему шагу.
Установка и настройка Nginx для Odoo 14
На данный момент Odoo 14 установлена и работает. Теперь рекомендуется настроить Nginx в качестве обратного прокси для Odoo.
Сначала установите пакет Nginx с помощью следующей команды:
dnf install nginx -yПосле установки Nginx создайте новый файл конфигурации виртуального хоста Nginx с помощью следующей команды:
nano /etc/nginx/conf.d/odoo14.confДобавьте следующие строки:
upstream odoo {
server 127.0.0.1:8069;
}
upstream odoochat {
server 127.0.0.1:8072;
}
server {
listen 80;
server_name odoo.example.com;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Proxy headers
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
# log files
access_log /var/log/nginx/odoo.access.log;
error_log /var/log/nginx/odoo.error.log;
# Handle longpoll requests
location /longpolling {
proxy_pass http://odoochat;
}
# Handle / requests
location / {
proxy_redirect off;
proxy_pass http://odoo;
}
# Cache static files
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://odoo;
}
# Gzip
gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript;
gzip on;
}
Сохраните и закройте файл, затем проверьте Nginx на наличие синтаксических ошибок с помощью следующей команды:
ginx -tВы должны получить следующий вывод:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Далее запустите службу Nginx и включите ее для автоматического запуска при перезагрузке системы:
systemctl start nginx
systemctl enable nginxВы также можете проверить Nginx с помощью следующей команды:
systemctl status nginxВы должны получить следующий вывод:
? nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
Active: active (running) since Sat 2021-05-01 06:31:19 EDT; 3s ago
Process: 26627 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 26625 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 26623 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 26628 (nginx)
Tasks: 3 (limit: 25014)
Memory: 5.3M
CGroup: /system.slice/nginx.service
??26628 nginx: master process /usr/sbin/nginx
??26629 nginx: worker process
??26630 nginx: worker process
May 01 06:31:19 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
May 01 06:31:19 centos8 nginx[26625]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
May 01 06:31:19 centos8 nginx[26625]: nginx: configuration file /etc/nginx/nginx.conf test is successful
May 01 06:31:19 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
Далее отредактируйте файл конфигурации Odoo 14 и включите режим прокси:
nano /etc/odoo14.confДобавьте следующую строку:
proxy_mode = True
Сохраните и закройте файл, затем перезапустите службу Odoo 14, чтобы применить изменения:
systemctl restart odoo14Настройка брандмауэра
Далее вам нужно будет разрешить порт 80 через брандмауэр. Вы можете разрешить его с помощью следующей команды:
firewall-cmd --permanent --add-service=httpДалее перезагрузите брандмауэр, чтобы применить изменения:
firewall-cmd --reloadКогда вы закончите, вы можете перейти к следующему шагу.
Доступ к панели управления Odoo 14
Теперь откройте веб-браузер и получите доступ к веб-интерфейсу Odoo 14, используя URL http://odoo.example.com. Вы будете перенаправлены на следующую страницу:

Введите свой мастер-пароль Odoo, базу данных и нажмите кнопку Создать базу данных. Вы должны увидеть панель управления Odoo 14 на следующей странице:

Заключение
Поздравляем! вы успешно установили Odoo 14 ERP с Nginx на CentOS 8. Теперь вы можете внедрить Odoo в свою производственную среду и повысить продуктивность.
Get new posts in your inbox
No spam. Unsubscribe anytime.