Как установить Odoo ERP 13 на CentOS 8
На этой странице
- Требования
- Начало работы
- Создать пользователя Odoo
- Установка и настройка PostgreSQL
- Установить Wkhtmltopdf
- Установка и настройка Odoo 13
- Создайте файл службы Systemd для Odoo 13.
- Настройка Nginx в качестве обратного прокси-сервера для Odoo 13
- Настройка брандмауэра
- Доступ к веб-интерфейсу Odoo 13
- Заключение
Odoo — это бесплатное и самое популярное программное обеспечение ERP с открытым исходным кодом, которое предлагает широкий спектр бизнес-приложений, включая управление взаимоотношениями с клиентами (CRM), воронку продаж, управление проектами, производство, выставление счетов, бухгалтерский учет, электронную коммерцию и многое другое. Это полнофункциональное веб-приложение, которое поможет вам поддерживать ERP в любом бизнесе. Odoo поставляется с 30 основными модулями и более чем 4500 модулями, созданными сообществом, которые помогут вам превратить его из небольшого магазина в корпорацию уровня предприятия.
В этом руководстве мы узнаем, как установить и настроить Odoo 13 с Nginx в качестве обратного прокси-сервера на сервере CentOS 8.
Требования
- Сервер под управлением CentOS 8 с минимум 2 ГБ ОЗУ.
- Действительное доменное имя указывает на IP-адрес вашего сервера. В этом уроке мы будем использовать домен exmaple.com.
- На сервере настроен пароль root.
Начиная
Сначала обновите систему и установите репозиторий EPEL с помощью следующей команды:
dnf update
dnf install epel-release
Далее вам нужно будет установить некоторые инструменты и зависимости, необходимые для сборки Odoo в вашей системе.
Вы можете установить их все с помощью следующей команды:
dnf install python36 python36-devel git gcc wget nodejs libxslt-devel bzip2-devel openldap-devel libjpeg-devel freetype-devel
После установки всех пакетов можно переходить к следующему шагу.
Создать пользователя Odoo
Затем вам нужно будет создать нового системного пользователя с именем odoo и домашним каталогом /opt/odoo, используя следующую команду:
useradd -m -U -r -d /opt/odoo -s /bin/bash odoo
Как только вы закончите, вы можете перейти к следующему шагу.
Установите и настройте PostgreSQL.
Odoo использует PostgreSQL для хранения своих данных. Поэтому вам нужно будет установить PostgreSQL на свой сервер. Вы можете установить его с помощью следующей команды:
dnf install postgresql postgresql-server postgresql-contrib
После установки инициализируйте базу данных с помощью следующей команды:
/usr/bin/postgresql-setup initdb
Вы должны получить следующий результат:
* Initializing database in '/var/lib/pgsql/data' * Initialized, logs are in /var/lib/pgsql/initdb_postgresql.log
Затем запустите службу PostgreSQL и включите ее запуск после перезагрузки системы с помощью следующей команды:
systemctl start postgresql
systemctl enable postgresql
Теперь вы можете проверить PostgreSQL, используя следующую команду:
systemctl status postgresql
Вы должны увидеть следующий вывод:
? postgresql.service - PostgreSQL database server Loaded: loaded (/usr/lib/systemd/system/postgresql.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:01:44 EST; 6s ago Process: 31805 ExecStartPre=/usr/libexec/postgresql-check-db-dir postgresql (code=exited, status=0/SUCCESS) Main PID: 31808 (postmaster) Tasks: 8 (limit: 12552) Memory: 16.5M CGroup: /system.slice/postgresql.service ??31808 /usr/bin/postmaster -D /var/lib/pgsql/data ??31809 postgres: logger process ??31811 postgres: checkpointer process ??31812 postgres: writer process ??31813 postgres: wal writer process ??31814 postgres: autovacuum launcher process ??31815 postgres: stats collector process ??31816 postgres: bgworker: logical replication launcher
Затем вам нужно будет создать нового пользователя PostgreSQL с тем же именем, что и системный пользователь, как показано ниже:
su - postgres -c "createuser -s odoo"
Установить Wkhtmltopdf
Затем вам нужно будет установить в вашей системе инструмент wkhtmltopdf, чтобы Odoo мог печатать отчеты в формате PDF. Вы можете установить его с помощью следующей команды:
wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox-0.12.5-1.centos7.x86_64.rpm
dnf localinstall wkhtmltox-0.12.5-1.centos7.x86_64.rpm
После установки можно переходить к следующему шагу.
Установите и настройте Odoo 13
Сначала переключитесь на пользователя Odoo с помощью следующей команды:
su - odoo
Затем загрузите последнюю версию Odoo 13 из репозитория Git с помощью команды git:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo/odoo13
Затем создайте новую виртуальную среду для экземпляра Odoo 13 с помощью следующей команды:
cd /opt/odoo
python3 -m venv odoo13-venv
Затем активируйте виртуальную среду с помощью следующей команды:
source odoo13-venv/bin/activate
Вы должны получить следующий результат:
(odoo13-venv) [ ~]$
Затем установите все необходимые модули Python для Odoo 13 с помощью следующей команды:
pip3 install -r odoo13/requirements.txt
После установки всех необходимых модулей деактивируйте виртуальную среду с помощью следующей команды:
deactivate
Наконец, выйдите из пользователя Odoo с помощью следующей команды:
exit
Затем создайте новый каталог для хранения пользовательских модулей Odoo и журналов Odoo:
mkdir /opt/odoo/odoo13-custom-addons
mkdir /var/log/odoo13
touch /var/log/odoo13/odoo.log
Затем измените владельца обоих каталогов на пользователя odoo с помощью следующей команды:
chown -R odoo:odoo /opt/odoo/odoo13-custom-addons
chown -R odoo:odoo /var/log/odoo13/
Затем создайте новый файл конфигурации для Odoo 13, используя следующую команду:
nano /etc/odoo.conf
Добавьте следующие строки:
[options] admin_passwd = db_host = False db_port = False db_user = odoo db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo13/odoo.log logrotate = True addons_path = /opt/odoo/odoo13/addons,/opt/odoo/odoo13-custom-addons
Сохраните и закройте файл, когда закончите.
Создайте файл службы Systemd для Odoo 13
Затем вам нужно будет создать новый файл модуля systemd для Odoo 13, чтобы управлять службой Odoo.
Вы можете создать его с помощью следующей команды:
nano /etc/systemd/system/odoo13.service
Добавьте следующие строки:
[Unit] Description=Odoo13 #Requires=postgresql-10.6.service #After=network.target postgresql-10.6.service [Service] Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
Сохраните и закройте файл. Затем перезагрузите демон systemd с помощью следующей команды:
systemctl daemon-reload
Затем запустите службу Odoo и включите ее запуск после перезагрузки системы с помощью следующей команды:
systemctl start odoo13
systemctl enable odoo13
Вы также можете проверить статус Odoo с помощью следующей команды:
systemctl status odoo13
Вы должны получить следующий результат:
? odoo13.service - Odoo13 Loaded: loaded (/etc/systemd/system/odoo13.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-12-02 01:15:43 EST; 2s ago Main PID: 17022 (python3) Tasks: 4 (limit: 12552) Memory: 63.7M CGroup: /system.slice/odoo13.service ??17022 /opt/odoo/odoo13-venv/bin/python3 /opt/odoo/odoo13/odoo-bin -c /etc/odoo.conf Dec 02 01:15:43 centos8 systemd[1]: Started Odoo13.
По умолчанию Odoo прослушивает порт 8069. Вы можете проверить это с помощью следующей команды:
netstat -plntu | grep 8069
Вы должны увидеть следующий вывод:
tcp 0 0 0.0.0.0:8069 0.0.0.0:* LISTEN 17022/python3
Настройте Nginx в качестве обратного прокси-сервера для Odoo 13
Далее вам нужно будет установить и настроить Nginx в качестве обратного прокси-сервера для экземпляра Odoo 13.
Сначала установите веб-сервер Nginx с помощью следующей команды:
dnf install nginx
После установки создайте новый файл конфигурации виртуального хоста с помощью следующей команды:
nano /etc/nginx/conf.d/odoo13.conf
Добавьте следующие строки:
upstream odoo { server 127.0.0.1:8069; } server { listen 80; server_name example.com; access_log /var/log/nginx/odoo13.access.log; error_log /var/log/nginx/odoo13.error.log; location / { 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; proxy_redirect off; proxy_pass http://odoo; } location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Сохраните и закройте файл, когда закончите. Затем запустите службу 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 Mon 2019-12-02 01:25:15 EST; 6s ago Process: 17244 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 17241 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 17239 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 17245 (nginx) Tasks: 3 (limit: 12552) Memory: 5.4M CGroup: /system.slice/nginx.service ??17245 nginx: master process /usr/sbin/nginx ??17246 nginx: worker process ??17247 nginx: worker process Dec 02 01:25:15 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server... Dec 02 01:25:15 centos8 nginx[17241]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Dec 02 01:25:15 centos8 nginx[17241]: nginx: configuration file /etc/nginx/nginx.conf test is successful Dec 02 01:25:15 centos8 systemd[1]: Started The nginx HTTP and reverse proxy server.
Настроить брандмауэр
Затем вам нужно будет разрешить службе Nginx через firewalld доступ к экземпляру Odoo 13 из удаленной системы.
Вы можете запустить следующую команду, чтобы разрешить службу Nginx через firewalld:
firewall-cmd --permanent --zone=public --add-service=nginx
firewall-cmd --reload
По умолчанию SELinux включен в CentOS 8. Поэтому вам нужно будет разрешить HTTP через SELinux. Вы можете разрешить это с помощью следующей команды:
setsebool -P httpd_can_network_connect on
Доступ к веб-интерфейсу Odoo 13
Теперь Odoo 13 установлен и настроен. Пришло время получить доступ к веб-интерфейсу Odoo 13.
Откройте веб-браузер и введите URL-адрес http://example.com. Вы будете перенаправлены на следующую страницу:
Теперь укажите свой мастер-пароль, имя базы данных, адрес электронной почты, пароль, страну и нажмите кнопку «Создать базу данных». Вы будете перенаправлены на страницу администрирования Odoo 13:
Заключение
В приведенном выше руководстве вы узнали, как установить и настроить Odoo 13 на сервере CentOS 8. Вы также узнали, как настроить Nginx в качестве обратного прокси-сервера для Odoo 13. Теперь вы можете настроить свой экземпляр Odoo 13 в соответствии с потребностями вашего бизнеса.