Поиск по сайту:

Настройка OpenERP (Odoo) 9 с Nginx на RHEL/CentOS и Debian/Ubuntu


Odoo, ранее известный как OpenERP, представляет собой веб-программное обеспечение для планирования ресурсов предприятия с открытым исходным кодом, написанное на Python и поставляемое с набором веб-интерфейсов. приложения, предназначенные для любого бизнеса, такие как конструкторы веб-сайтов, модули электронной коммерции, выставление счетов и бухгалтерский учет, человеческие ресурсы, точки продаж, управление взаимоотношениями с клиентами, модуль инвентаризации, чат и многие другие приложения и функции.

Из этого руководства вы узнаете, как установить последнюю стабильную версию Odoo (версия 9) на RHEL/CentOS/Fedora или . Системы на базе Strong>Debian/Ubuntu с сервером Nginx, который действует как обратный прокси-сервер во внешнем интерфейсе, чтобы получить доступ к веб-интерфейсу быстрее, безопаснее и через стандартные порты просмотра веб-страниц без необходимости обременять пользователей использованием портов перенаправления браузера.

Шаг 1. Установите и защитите базу данных PostgreSQL

1. Прежде чем приступить к установке Odoo, сначала убедитесь, что ваша система поставляется с пакетами, предоставленными репозиториями Epel, для установки серверной базы данных PostgreSQL. .

Также убедитесь, что на сервере установлены последние пакеты безопасности и исправления, выполнив следующие команды:

----------- On RedHat/CentOS based systems ----------- 
yum update
yum install -y epel-release

----------- On Debian/Ubuntu based systems ----------- 
apt-get update && sudo apt-get upgrade # On Debian 

2. Далее установите сервер базы данных PostgreSQL, который является базой данных по умолчанию, используемой Odoo для хранения информации.

----------- On RedHat/CentOS based systems -----------
yum install postgresql-server

----------- On Debian/Ubuntu based systems -----------
apt-get install postgresql postgresql-client

Инициализируйте базу данных PostgreSQL.

postgresql-setup initdb	

Теперь, наконец, запустите базу данных PostgreSQL, выполнив следующую команду:

----------- On SystemD systems -----------
systemctl start postgresql

----------- On SysVinit systems -----------
service postgresql start

В качестве дополнительного шага для защиты пользователя PostgreSQL по умолчанию с пустым паролем введите приведенную ниже команду с правами root, чтобы изменить пароль:

sudo -u postgres psql
postgres=# \password postgres

Шаг 2. Установите Odoo 9 – OpenERP

3. Чтобы установить Odoo 9 из официального репозитория, сначала создайте новый файл репозитория yum для Odoo со следующим содержимым:

В системах CentOS/RHEL

vi /etc/yum.repos.d/odoo.repo

Добавьте следующий отрывок в файл odoo.repo.

[odoo-nightly]
name=Odoo Nightly repository
baseurl=http://nightly.odoo.com/9.0/nightly/rpm/
enabled=1
gpgcheck=1
gpgkey=https://nightly.odoo.com/odoo.key

В системах Debian/Ubuntu

В Debian/Ubuntu введите следующую команду, чтобы добавить репозитории Odoo:

wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" >> /etc/apt/sources.list

4. Затем установите программное обеспечение Odoo 9 из двоичных файлов.

----------- On RedHat/CentOS based systems -----------
yum install odoo

----------- On Debian/Ubuntu based systems -----------
apt-get update && sudo apt-get install odoo

Затем запустите его и проверьте статус демона, выполнив следующие команды:

----------- On SystemD systems -----------
systemctl start odoo
systemctl status odoo

----------- On SysVinit systems -----------
service odoo start
service odoo status

В качестве дополнительного шага вы можете проверить порт прослушивания службы Odoo, выполнив команду ss или netstat:

ss -tulpn
OR
netstat -tulpn

По умолчанию Odoo прослушивает сетевые подключения через порт 8069/TCP.

Шаг 3. Настройте Odoo из веб-интерфейса

5. Чтобы настроить Odoo, запустите браузер и получите доступ к веб-интерфейсу Odoo по следующему URI:

http://host-or-IP-address:8069/

6. Далее вам будет предложено создать новую базу данных для Odoo и установить надежный пароль для учетной записи администратора.

7. После создания базы данных вы будете перенаправлены на веб-панель администрирования, где сможете далее устанавливать приложения и настраивать ERP. На данный момент оставьте приложение по умолчанию и выйдите из системы.

8. Вернувшись на экран входа в систему, нажмите ссылку Управление базами данных и установите главный пароль, чтобы защитить менеджер баз данных Odoo.

9. После того, как вы защитили менеджер баз данных Odoo, вы можете войти в свое приложение и начать его дальнейшую настройку с использованием необходимых приложений и настроек.

Шаг 4. Доступ к Odoo из внешнего интерфейса Nginx

Вы можете настроить систему так, чтобы пользователи могли получать доступ к веб-панели Odoo через обратный прокси-сервер Nginx. Это может облегчить пользователям навигацию по веб-интерфейсу Odoo быстрее благодаря некоторому кэшированию интерфейса Nginx на стандартных HTTP-портах без необходимости вручную вводить порт http 8069 в своих браузерах. .

Чтобы настроить этот параметр, сначала необходимо установить и настроить Nginx в вашей системе, выполнив следующие действия.

10. Сначала установите веб-сервер Nginx с помощью следующей команды:

----------- On RedHat/CentOS based systems -----------
yum install nginx

----------- On Debian/Ubuntu based systems -----------
apt-get install nginx

11. Затем откройте основной файл конфигурации Nginx в текстовом редакторе и вставьте следующий блок после строки, указывающей корневое расположение документа Nginx.

----------- On RedHat/CentOS based systems -----------
vi /etc/nginx/nginx.conf 

----------- On Debian/Ubuntu based systems -----------
nano /etc/nginx/sites-enabled/default

Добавьте следующий фрагмент конфигурации в файл nginx.conf:

 location / {
        proxy_pass http://127.0.0.1:8069;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

Кроме того, прокомментируйте оператор Nginx location, поместив # перед следующими строками. Используйте скриншот ниже в качестве руководства.

#location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
        #       try_files $uri $uri/ =404;
        #}

12. После внесения всех вышеуказанных изменений перезапустите демон Nginx, но не раньше, чем вы запустите команду getenforce, чтобы проверить, включен ли Selinux ваша машина.

В системах CentOS/RHEL

Если для политики установлено значение Enforced, отключите ее, выполнив следующие команды:

setenforce 0
getenforce

Чтобы полностью отключить Selinux, откройте файл /etc/selinux/config в текстовом редакторе и установите для строки SELINUX значение «отключено».

Если вы не хотите полностью отключать политику Seliux и просто хотите ослабить правила, чтобы предоставить прокси-серверу Nginx разрешительный доступ к сетевому сокету, выполните следующую команду:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Затем перезапустите демон Nginx, чтобы отразить внесенные выше изменения:

systemctl restart nginx
OR
service nginx restart

13. Этот следующий шаг является дополнительной функцией безопасности и подразумевает изменение сетевого сокета, который прослушивает приложение Odoo, изменение адреса привязки со всех интерфейсов (или адреса) на только локальный хост.

Это изменение необходимо внести только в сочетании с обратным прокси-сервером Nginx, поскольку привязка приложения к локальному хосту подразумевает только то, что Odoo не будет доступен пользователям внутри локальной сети или других сетей.

Чтобы активировать это изменение, откройте файл /etc/odoo/openerp-server.conf и отредактируйте строку xmlrpc_interface для привязки только к локальному хосту, как показано на снимке экрана ниже.

xmlrpc_interface = 127.0.0.1

Чтобы отразить изменения, перезапустите службу Odoo, выполнив следующую команду:

systemctl restart odoo.service
OR
service odoo restart

14. Если на вашем компьютере есть линия защиты сети, предоставляемая брандмауэром, введите следующие команды, чтобы открыть порты брандмауэра для внешнего мира для прокси-сервера Nginx:

----------- On FirewallD based systems -----------
firewall-cmd --add-service=http --permanent
firewall-cmd --reload
----------- On IPTables based systems -----------
iptables -A INPUT -p tcp -m tcp --sport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
/etc/init.d/iptables save
----------- On UFW Firewall systems -----------
ufw allow http

15. Вот и все! Теперь вы можете успешно получить доступ к своему приложению ERP Odoo, посетив IP-адрес или доменное имя вашего сервера.

http://192.168.1.40
http://domain.tld

16. Чтобы автоматически запускать службы после перезагрузки системы, введите следующую команду, чтобы одновременно включить все демоны в масштабе всей системы.

------------ On SystemD Systems ------------  
systemctl enable postgresql.service 
systemctl enable odoo.service
systemctl enable nginx.service
------------ On SysVinit Systems ------------ 

chkconfig postgresql on
chkconfig odoo on
chkconfig nginx on

ПРИМЕЧАНИЕ. Для отчетов в формате PDF необходимо вручную загрузить и установить двоичные пакеты wkhtmltopdf для собственного распространения, перейдя по следующей ссылке. Установите wkhtmltopdf для преобразования HTML-страницы в PDF.