Kuweka OpenERP (Odoo) 9 na Nginx kwenye RHEL/CentOS na Debian/Ubuntu


Odoo, ambayo zamani ilijulikana kama OpenERP, ni programu ya biashara ya Open Source Enterprise Resource Planning ERP iliyoandikwa kwa Python ambayo inakuja na kundi la programu za wavuti zilizoundwa kwa kila biashara, kama vile Wajenzi wa Tovuti, moduli za eCommerce, Bili na Uhasibu, Rasilimali Watu, Sehemu ya Uuzaji, Usimamizi wa Uhusiano wa Wateja, moduli ya Malipo, Gumzo la Moja kwa Moja na programu na vipengele vingine vingi.

Mafunzo haya yatakuongoza jinsi ya kusakinisha toleo thabiti la hivi punde la Odoo (toleo la 9) kwenye mifumo ya RHEL/CentOS/Fedora au Debian/Ubuntu yenye seva ya Nginx ili kufanya kazi kama proksi ya nyuma ili kufikia wavuti. kiolesura cha haraka, salama na kutoka kwa bandari za kawaida za kuvinjari za wavuti, bila hitaji la kuwaelemea watumiaji kutumia milango inayoelekeza kwingine ya kivinjari.

Hatua ya 1: Sakinisha na Uhifadhi Hifadhidata ya PostgreSQL

1. Kabla ya kuanza kusakinisha Odoo kwanza hakikisha kwamba mfumo wako utasafirishwa na vifurushi vilivyotolewa na hazina za Epel ili kusakinisha hifadhidata ya nyuma ya PostgreSQL.

Pia hakikisha seva imesasishwa na vifurushi vya hivi karibuni vya usalama na viraka kwa kutoa amri zilizo hapa chini:

----------- 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. Kisha, endelea na usakinishe seva ya hifadhidata ya PostgreSQL, ambayo ni hifadhidata chaguomsingi inayotumiwa na Odoo kuhifadhi taarifa.

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

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

Anzisha hifadhidata ya PostgreSQL.

# postgresql-setup initdb	

Sasa hatimaye anza hifadhidata ya PostgreSQL kwa kutoa amri ifuatayo:

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

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

Kama hatua ya ziada ya kupata mtumiaji chaguo-msingi wa PostgreSQL, ambaye ana nenosiri tupu, toa amri iliyo hapa chini na marupurupu ya mizizi ili kubadilisha nenosiri:

sudo -u postgres psql
postgres=# \password postgres

Hatua ya 2: Sakinisha Odoo 9 - OpenERP

3. Ili kusakinisha Odoo 9 kutoka kwenye hazina rasmi, kwanza unda faili mpya ya hazina ya yum ya Odoo iliyo na maudhui yafuatayo:

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

Ongeza dondoo lifuatalo kwenye faili 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

Kwenye Debian/Ubuntu toa amri ifuatayo ya kuongeza hazina za 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. Ifuatayo sakinisha programu ya Odoo 9 kutoka kwa jozi.

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

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

Ifuatayo, ianze na uangalie hali ya daemon kwa kutoa amri zilizo hapa chini:

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

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

Kama hatua ya ziada unaweza kuthibitisha mlango wa kusikiliza wa huduma ya Odoo kwa kuendesha ss au netstat amri:

# ss -tulpn
OR
# netstat -tulpn

Kwa chaguomsingi, Odoo husikiliza miunganisho ya mtandao kwenye bandari 8069/TCP.

Hatua ya 3: Sanidi Odoo kutoka Kiolesura cha Wavuti

5. Ili kusanidi Odoo anzisha kivinjari zaidi na ufikie kiolesura cha wavuti cha Odoo kwenye URI ifuatayo:

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

6. Kisha utaombwa kuunda hifadhidata mpya ya Odoo na kuweka nenosiri thabiti kwa akaunti ya msimamizi.

7. Mara tu hifadhidata itakapoundwa utaelekezwa kwenye paneli ya wavuti ya usimamizi ambapo unaweza kusakinisha zaidi programu na kusanidi ERP yako. Kwa sasa acha programu kama chaguo-msingi na utoke nje.

8. Mara tu inaporudishwa kwenye skrini ya kuingia, gonga kwenye kiungo cha Dhibiti Hifadhidata na Weka nenosiri kuu ili kupata kidhibiti hifadhidata cha Odoo.

9. Ukishapata kidhibiti hifadhidata cha Odoo unaweza kuingia kwenye programu yako na kuanza kuisanidi zaidi kwa programu na mipangilio yako inayohitajika.

Hatua ya 4: Fikia Odoo kutoka kwa Nginx Frontend

Unaweza kusanidi mfumo ili watumiaji waweze kufikia paneli ya wavuti ya Odoo kupitia seva mbadala ya Nginx. Hii inaweza kuwezesha watumiaji kusogeza kiolesura cha wavuti cha Odoo kwa haraka zaidi, kutokana na baadhi ya uhifadhi wa mazingira ya mbele ya Nginx, kwenye milango ya kawaida ya HTTP bila hitaji la kuingiza kibinafsi lango la http 8069 kwenye vivinjari vyao.

Ili kusanidi mpangilio huu kwanza unahitaji kusakinisha na kusanidi Nginx kwenye mfumo wako kwa kutoa hatua zifuatazo.

10. Sakinisha kwanza seva ya wavuti ya Nginx kwa amri ifuatayo:

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

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

11. Kisha, fungua faili kuu ya usanidi wa Nginx na kihariri cha maandishi na uweke kizuizi kifuatacho baada ya mstari unaobainisha eneo la mizizi ya hati ya Nginx.

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

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

Ongeza dondoo lifuatalo la usanidi kwenye faili ya 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;

Pia, toa maoni ya taarifa ya Nginx location kwa kuweka # mbele ya mistari ifuatayo. Tumia picha ya skrini iliyo hapa chini kama mwongozo.

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

12. Baada ya kufanya mabadiliko yote hapo juu, anzisha upya daemon ya Nginx lakini si kabla ya kutekeleza amri ya getenforce ili kuangalia ikiwa Selinux imewashwa kwenye mashine yako.

Ikiwa sera itawekwa Imetekelezwa kuizima kwa kutoa amri zilizo hapa chini:

# setenforce 0
# getenforce

Ili kuzima kabisa Selinux, fungua /etc/selinux/config faili na kihariri cha maandishi na uweke mstari wa SELINUX kulemazwa.

Ikiwa hutaki kuzima kabisa sera ya Seliux na unataka tu kulegeza sheria ili kutoa wakala wa Nginx na ufikiaji unaoruhusiwa wa soketi ya mtandao endesha amri ifuatayo:

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

Kisha, anzisha tena daemon ya Nginx ili kuonyesha mabadiliko yaliyofanywa hapo juu:

# systemctl restart nginx
OR
# service nginx restart

13. Hatua hii inayofuata ni kipengele cha hiari cha usalama na inamaanisha mabadiliko ya soketi ya mtandao ambayo programu ya Odoo inasikiliza, kubadilisha anwani ya kuunganisha kutoka kwa violesura vyote (au anwani) hadi mwenyeji wa ndani pekee.

Mabadiliko haya lazima yafanywe tu kwa kushirikiana na seva mbadala ya Nginx kwa sababu ya ukweli kwamba kufunga programu kwenye mwenyeji wa ndani kunamaanisha tu kwamba Odoo haitapatikana kutoka kwa watumiaji ndani ya LAN au mitandao mingine.

Ili kuwezesha mabadiliko haya, fungua faili ya /etc/odoo/openerp-server.conf na uhariri xmlrpc_interface laini ili kubandika kwenye localhost pekee kama inavyopendekezwa kwenye picha ya skrini iliyo hapa chini.

xmlrpc_interface = 127.0.0.1

Ili kuonyesha mabadiliko anzisha tena huduma ya Odoo kwa kutekeleza amri ifuatayo:

# systemctl restart odoo.service
OR
# service odoo restart

14. Iwapo mashine yako ina safu ya ulinzi ya mtandao iliyotolewa na ngome, toa amri zifuatazo ili kufungua milango ya ngome kwa ulimwengu wa nje kwa seva mbadala ya 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. Hiyo ndiyo! Sasa unaweza kufikia ombi lako la ERP Odoo kwa mafanikio kwa kutembelea Anwani ya IP ya seva yako au jina la kikoa.

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

16. Ili kuendesha huduma kiotomatiki baada ya kuwasha upya mfumo toa amri ifuatayo ili kuwezesha mfumo mzima wa daemoni kwa risasi moja.

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

KUMBUKA: Kwa ripoti za PDF, lazima upakue mwenyewe na usakinishe vifurushi vya jozi vya wktmltopdf kwa usambazaji wako mwenyewe kwa kutembelea kiungo kifuatacho Sakinisha wkhtmltopdf ili Kubadilisha Ukurasa wa HTML kuwa PDF.