RHEL/CentOS we Debian/Ubuntu-da Nginx bilen OpenERP (Odoo) 9 gurmak


Öň OpenERP ady bilen tanalýan Odoo, Python-da ýazylan açyk çeşme kärhanasynyň çeşmelerini meýilleşdiriş ERP web esasly iş programma üpjünçiligi bolup, web sahypasy gurluşykçylary, elektron telekeçilik modullary, hasaplaşyk we buhgalteriýa, adam resurslary, Satuw nokady, Müşderi bilen gatnaşyklary dolandyrmak, inwentar moduly, göni söhbetdeşlik we başga-da köp programmalar we aýratynlyklar.

Bu gollanma, Odoo-nyň iň soňky durnukly wersiýasyny (9-njy wersiýa) RHEL/CentOS/Fedora ýa-da Nginx serweri bilen Debian/Ubuntu esasly ulgamlara nädip gurmalydygyny görkezer, internete girmek üçin frontendde ters proksi hökmünde çykyş eder. brauzer gönükdirme portlaryny ulanmak üçin ulanyjylara ýüklemegiň zerurlygy bolmazdan has çalt, ygtybarly we adaty web brauzer portlaryndan interfeýs.

1-nji ädim: PostgreSQL maglumat bazasyny guruň we ygtybarly ediň

1. “Odoo” gurnamasyna başlamazdan ozal ulgamyňyzyň “PostgreSQL” maglumatlar bazasyny gurmak üçin “Epel” ammarlary tarapyndan üpjün edilen paketler bilen iberilýändigine göz ýetiriň.

Şeýle hem aşakdaky buýruklary bermek bilen serweriň iň soňky howpsuzlyk paketleri we ýamalary bilen täzelenendigine göz ýetiriň:

----------- 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. Ondan soň, Odoo tarapyndan maglumat saklamak üçin ulanylýan esasy maglumatlar bazasy bolan PostgreSQL maglumat bazasy serwerini guruň.

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

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

PostgreSQL maglumat bazasyny işe giriziň.

# postgresql-setup initdb	

Indi, aşakdaky buýrugy bermek bilen PostgreSQL maglumat bazasyna başlaň:

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

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

Boş paroly bolan PostgreSQL deslapky ulanyjysyny goramak üçin goşmaça ädim hökmünde paroly üýtgetmek üçin aşakdaky buýrugy kök aýratynlyklary bilen beriň:

sudo -u postgres psql
postgres=# \password postgres

2-nji ädim: Odoo 9 - OpenERP guruň

3. Resmi ammardan Odoo 9-ny gurmak üçin ilki bilen aşakdaky mazmunly Odoo üçin täze ýum ammar faýly dörediň:

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

odoo.repo faýlyna aşakdaky bölekleri goşuň.

[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-da Odoo ammarlaryny goşmak üçin aşakdaky buýruk berilýär:

# 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. Ondan soň ikilikden Odoo 9 programma üpjünçiligini guruň.

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

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

Ondan soň, aşakdaky buýruklary çykaryp, daemon ýagdaýyny barlaň:

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

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

Goşmaça ädim hökmünde ss ýa-da netstat buýrugyny işledip Odoo hyzmatyny diňlemek portuny barlap bilersiňiz:

# ss -tulpn
OR
# netstat -tulpn

Düzgüne görä, Odoo 8069/TCP portdaky tor birikmelerini diňleýär.

3-nji ädim: Web interfeýsinden Odoo-ny sazlaň

5. Odoo-ny mundan beýläk sazlamak we aşakdaky URI-de Odoo web interfeýsine girmek üçin:

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

6. Ondan soň Odoo üçin täze maglumat bazasyny döretmek we administrator hasaby üçin berk parol bellemek soralar.

7. Maglumat bazasy döredilenden soň, programmalary gurnap we ERP-ni sazlap boljak administrasiýa web paneline ugrukdyrylarsyňyz. Häzirki wagtda programmany deslapky görnüşde goýuň we çykyň.

8. Giriş ekranyna gaýdyp geleniňizden soň, Odoo maglumat bazasynyň dolandyryjysyny goramak üçin Maglumatlar bazalaryny dolandyrmak baglanyşygyna basyň we baş paroly belläň.

9. Odoo maglumat bazasynyň dolandyryjysyny üpjün edeniňizden soň, programmaňyza girip, zerur programmalar we sazlamalar bilen hasam düzüp bilersiňiz.

4-nji ädim: Nginx Frontend-den Odoo-a giriň

Ulanyjylar Odoo web paneline Nginx ters proksi arkaly girip biler ýaly ulgamy sazlap bilersiňiz. Bu, käbir Nginx frontend keş görnüşi sebäpli, adaty HTTP portlarynda öz brauzerlerinde http 8069 portuny el bilen girizmegiň zerurlygy bolmazdan, ulanyjylara Odoo web interfeýsini has çalt geçmegi aňsatlaşdyryp biler.

Bu sazlamany düzmek üçin ilki bilen aşakdaky ädimleri bermek bilen Nginx-i ulgamyňyza gurnamaly we sazlamaly.

10. Ilki bilen aşakdaky buýruk bilen Nginx web serwerini guruň:

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

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

11. Ondan soň, Nginx esasy konfigurasiýa faýlyny tekst redaktory bilen açyň we Nginx resminamasynyň kök ýerini kesgitleýän setirden soň aşakdaky blok goýuň.

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

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

nginx.conf faýlyna aşakdaky konfigurasiýa parçasyny goşuň:

 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;

Şeýle hem, aşakdaky setirleriň öňünde # goýup, Nginx ýerleşiş beýanyna düşündiriş beriň. Aşakdaky skrinshoty gollanma hökmünde ulanyň.

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

12. aboveokardaky üýtgeşmeleriň hemmesini edeniňizden soň, Nginx daemonyny täzeden açyň, ýöne enjamyňyzda Selinux-yň açykdygyny ýa-da ýokdugyny barlamak üçin getenforce buýrugyny işletmezden ozal başlaň.

Syýasat Güýçli düzülen bolsa, aşakdaky buýruklary bermek bilen ony öçüriň:

# setenforce 0
# getenforce

Selinux-y doly öçürmek üçin tekst redaktory bilen /etc/selinux/config faýly açyň we SELINUX setirini ýapyň.

Seliux syýasatyny düýbünden öçürmek islemeýän bolsaňyz we tor rozetkasyna rugsatly Nginx proksi bermek üçin düzgünleri gowşatmak isleseňiz, aşakdaky buýrugy işlediň:

# setsebool httpd_can_network_connect on -P
# getsebool -a | grep httpd 

Soňra, ýokarda edilen üýtgeşmeleri görkezmek üçin Nginx daemonyny täzeden açyň:

# systemctl restart nginx
OR
# service nginx restart

13. Bu indiki ädim, howpsuzlyk islege bagly aýratynlyk bolup, Odoo programmasynyň diňleýän tor rozetkasynyň üýtgemegini, ähli interfeýslerden (ýa-da salgydan) hökmany adresi diňe ýerlihostda üýtgetmegi göz öňünde tutýar.

Bu üýtgetme diňe Nginx ters proksi bilen bilelikde amala aşyrylmalydyr, sebäbi programmany ýerlihostda baglanyşdyrmak diňe Odoo-nyň LAN ýa-da beýleki ulgamlaryň ulanyjylaryndan girip bilmejekdigini aňladýar.

Bu üýtgeşmäni işjeňleşdirmek üçin /etc/odoo/openerp-server.conf faýly açyň we diňe aşakdaky skrinshotda görkezilişi ýaly ýerlihost bilen baglanyşdyrmak üçin xmlrpc_interface setirini redaktirläň.

xmlrpc_interface = 127.0.0.1

Üýtgeşmeleri görkezmek üçin aşakdaky buýrugy işledip Odoo hyzmatyny täzeden açyň:

# systemctl restart odoo.service
OR
# service odoo restart

14. Enjamyňyzda gorag diwary bilen üpjün edilen tor gorag liniýasy bar bolsa, Nginx proksi üçin daşarky diwar portlaryny açmak üçin aşakdaky buýruklary beriň:

----------- 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. Ine! Indi serweriňiziň IP adresine ýa-da domen adyna girip, ERP Odoo programmaňyza üstünlikli girip bilersiňiz.

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

16. Ulgam täzeden açylandan soň hyzmatlary awtomatiki işletmek üçin ulgamdaky ähli daemonlary bir ok bilen işletmek üçin aşakdaky buýrugy beriň.

------------ 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

ÜNS BERI PDF: PDF hasabatlary üçin aşakdaky baglanyşyga girip, wkhtmltopdf ikilik paketlerini el bilen göçürip almaly we HTML sahypasyny PDF-e öwürmek üçin wkhtmltopdf guruň.