Настройка 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.