OpenERP (Odoo) 9'u RHEL/CentOS ve Debian/Ubuntu'da Nginx ile Kurma


Eskiden OpenERP olarak bilinen Odoo, Python'da yazılmış ve bir web paketiyle birlikte gelen Açık Kaynak Kurumsal Kaynak Planlama ERP web tabanlı iş yazılımıdır. Web Sitesi Oluşturucuları, e-Ticaret modülleri, Faturalandırma ve Muhasebe, İnsan Kaynakları, Satış Noktası, Müşteri İlişkileri Yönetimi, Envanter modülü, Canlı Sohbet ve diğer birçok uygulama ve özellik gibi her işletme için tasarlanmış uygulamalar.

Bu eğitim, Odoo'nun en son kararlı sürümünü (sürüm 9) RHEL/CentOS/Fedora veya 'ye nasıl yükleyeceğiniz konusunda size rehberlik edecektir. Web arayüzüne daha hızlı, güvenli bir şekilde ve standart web tarama bağlantı noktalarından, herhangi bir bağlantıya ihtiyaç duymadan erişmek için ön uçta ters proxy görevi görecek Nginx sunucusuna sahip güçlü>Debian/Ubuntu tabanlı sistemler kullanıcılara tarayıcı yönlendirme bağlantı noktalarını kullanma zorunluluğu getirir.

Adım 1: PostgreSQL Veritabanını Kurun ve Güvenliğini Sağlayın

1. Odoo kurulumuna devam etmeye başlamadan önce, arka uç PostgreSQL veritabanını kurmak için sisteminizin Epel depoları tarafından sağlanan paketlerle birlikte geldiğinden emin olun. .

Ayrıca aşağıdaki komutları vererek sunucunun en son güvenlik paketleri ve yamalarla güncel olduğundan emin olun:

----------- 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. Ardından, devam edin ve Odoo tarafından bilgileri depolamak için kullanılan varsayılan veritabanı olan PostgreSQL veritabanı sunucusunu yükleyin.

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

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

PostgreSQL veritabanını başlatın.

postgresql-setup initdb	

Şimdi son olarak aşağıdaki komutu vererek PostgreSQL veritabanını başlatın:

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

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

Boş parolası olan PostgreSQL varsayılan kullanıcısının güvenliğini sağlamak için ek bir adım olarak, parolayı değiştirmek amacıyla aşağıdaki komutu kök ayrıcalıklarıyla birlikte verin:

sudo -u postgres psql
postgres=# \password postgres

Adım 2: Odoo 9'u yükleyin – OpenERP

3. Odoo 9'u resmi depodan yüklemek için öncelikle Odoo için aşağıdaki içeriğe sahip yeni yum deposu dosyası oluşturun:

CentOS/RHEL Sistemlerinde

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

Aşağıdaki alıntıyı odoo.repo dosyasına ekleyin.

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

Debian/Ubuntu'da Odoo depolarını eklemek için aşağıdaki komutu verin:

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. Daha sonra ikili dosyalardan Odoo 9 yazılımını yükleyin.

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

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

Daha sonra başlatın ve aşağıdaki komutları vererek daemon durumunu kontrol edin:

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

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

Ek bir adım olarak ss veya netstat komutunu çalıştırarak Odoo hizmeti dinleme bağlantı noktasını doğrulayabilirsiniz:

ss -tulpn
OR
netstat -tulpn

Odoo varsayılan olarak 8069/TCP bağlantı noktasındaki ağ bağlantılarını dinler.

Adım 3: Odoo'yu Web Arayüzünden Yapılandırma

5. Odoo'yu daha da yapılandırmak için bir tarayıcıyı çalıştırın ve Odoo web arayüzüne aşağıdaki URI'den erişin:

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

6. Daha sonra Odoo için yeni bir veritabanı oluşturmanız ve yönetici hesabı için güçlü bir şifre belirlemeniz istenecektir.

7. Veritabanı oluşturulduktan sonra, uygulamaları yükleyebileceğiniz ve ERP'nizi yapılandırabileceğiniz yönetim web paneline yönlendirileceksiniz. Şimdilik uygulamayı varsayılan olarak bırakın ve oturumu kapatın.

8. Giriş ekranına geri döndüğünüzde Veritabanlarını Yönet bağlantısına tıklayın ve Odoo veritabanı yöneticisinin güvenliğini sağlamak için bir ana şifre belirleyin.

9. Odoo veritabanı yöneticisinin güvenliğini sağladıktan sonra uygulamanızda oturum açabilir ve onu gerekli uygulama ve ayarlarınızla daha ayrıntılı şekilde yapılandırmaya başlayabilirsiniz.

Adım 4: Odoo'ya Nginx Ön Uç'tan erişin

Kullanıcıların Odoo web paneline Nginx ters proxy aracılığıyla erişebilmesi için sistemi yapılandırabilirsiniz. Bu, kullanıcıların tarayıcılarında http bağlantı noktası 8069'u manuel olarak girmeye gerek kalmadan standart HTTP bağlantı noktalarında bazı Nginx ön uç önbelleğe alma işlemi nedeniyle Odoo web arayüzünde daha hızlı gezinmelerini kolaylaştırabilir. .

Bu ayarı yapılandırmak için öncelikle aşağıdaki adımları uygulayarak Nginx'i sisteminize kurup yapılandırmanız gerekmektedir.

10. İlk olarak Nginx web sunucusunu aşağıdaki komutla kurun:

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

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

11. Ardından, Nginx ana yapılandırma dosyasını bir metin düzenleyiciyle açın ve Nginx belgesinin kök konumunu belirten satırın sonrasına aşağıdaki bloğu ekleyin.

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

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

Aşağıdaki yapılandırma alıntısını nginx.conf dosyasına ekleyin:

 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;

Ayrıca aşağıdaki satırların önüne # koyarak Nginx location ifadesini yorumlayın. Aşağıdaki ekran görüntüsünü kılavuz olarak kullanın.

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

12. Yukarıdaki değişikliklerin tümünü yaptıktan sonra Nginx arka plan programını yeniden başlatın, ancak Selinux'un açık olup olmadığını kontrol etmek için getenforce komutunu çalıştırmadan önce değil. makineniz.

CentOS/RHEL Sistemlerinde

Politikanın Zorunlu olarak ayarlanması durumunda aşağıdaki komutları vererek politikayı devre dışı bırakın:

setenforce 0
getenforce

Selinux'u tamamen devre dışı bırakmak için /etc/selinux/config dosyasını bir metin düzenleyiciyle açın ve SELINUX satırını devre dışı olarak ayarlayın.

Seliux politikasını tamamen devre dışı bırakmak istemiyorsanız ve Nginx proxy'sine ağ soketine izin verilen erişim izni vermek için kuralları gevşetmek istiyorsanız aşağıdaki komutu çalıştırın:

setsebool httpd_can_network_connect on -P
getsebool -a | grep httpd 

Ardından yukarıda yapılan değişiklikleri yansıtmak için Nginx arka plan programını yeniden başlatın:

systemctl restart nginx
OR
service nginx restart

13. Bu sonraki adım isteğe bağlı bir güvenlik özelliğidir ve Odoo uygulamasının dinlediği ağ soketinin değiştirilmesini, tüm arayüzlerdeki (veya adresteki) bağlama adresinin değiştirilmesini ifade eder. yalnızca yerel ana bilgisayar.

Uygulamanın localhost'a bağlanmasının yalnızca Odoo'ya LAN veya diğer ağlar içindeki kullanıcılar tarafından erişilemeyeceği anlamına gelmesi nedeniyle bu değişiklik yalnızca Nginx ters proxy ile birlikte yapılmalıdır.

Bu değişikliği aktif hale getirmek için /etc/odoo/openerp-server.conf dosyasını açın ve xmlrpc_interface satırını aşağıdaki ekran görüntüsünde önerildiği gibi yalnızca localhost'a bağlanacak şekilde düzenleyin.

xmlrpc_interface = 127.0.0.1

Değişiklikleri yansıtmak için aşağıdaki komutu çalıştırarak Odoo hizmetini yeniden başlatın:

systemctl restart odoo.service
OR
service odoo restart

14. Makinenizde güvenlik duvarı tarafından sağlanan bir ağ savunma hattı varsa, Nginx proxy için güvenlik duvarı bağlantı noktalarını dış dünyaya açmak amacıyla aşağıdaki komutları verin:

----------- 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. İşte bu kadar! Artık sunucunuzun IP Adresini veya alan adını ziyaret ederek ERP Odoo uygulamanıza başarıyla erişebilirsiniz.

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

16. Sistemin yeniden başlatılmasının ardından hizmetleri otomatik olarak çalıştırmak için, sistem genelinde tüm arka plan programlarını tek seferde etkinleştirmek üzere aşağıdaki komutu verin.

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

NOT: PDF raporları için, aşağıdaki HTML Sayfasını PDF'ye Dönüştürmek için wkhtmltopdf'yi Yükle bağlantısını ziyaret ederek kendi dağıtımınız için wkhtmltopdf ikili paketlerini manuel olarak indirip yüklemelisiniz.