2 месяца с Ubuntu 18.04 LTS - так ли она хороша?
İçindekiler:
- Sen başlamadan önce
- Odoo kullanıcısı oluştur
- PostgreSQL'i kurun ve yapılandırın
- Wkhtmltopdf Yükle
- Odoo'yu Yükleme ve Yapılandırma
- Systemd birim dosyası oluşturma
- Kurulumu Test Edin
- Nginx'i SSL sonlandırma proxy'si olarak yapılandırma
- Ciltleme arayüzünü değiştirme
- Çoklu işlemeyi etkinleştir
- Sonuç
Odoo, dünyanın en popüler hepsi bir arada iş yazılımıdır. CRM, web sitesi, e-Ticaret, faturalandırma, muhasebe, imalat, depo, proje yönetimi, envanter ve çok daha fazlasını içeren sorunsuz bir şekilde entegre edilmiş bir dizi iş uygulaması sunar.
Gerekli kullanım durumuna bağlı olarak Odoo'yu kurmanın birkaç yolu vardır. Odoo'yu kurmanın en kolay ve en hızlı yolu, resmi APT depolarını kullanmaktır.
Bu kılavuz, Ubuntu 18.04 sisteminde Git kaynağı ve Python sanal ortamını kullanarak üretim için Odoo'yu kurmak ve yapılandırmak için gerekli adımları kapsar.
Sen başlamadan önce
Ubuntu makinenize sudo kullanıcısı olarak giriş yapın ve sistemi en son paketlere güncelleyin:
sudo apt update && sudo apt upgrade
Git, Pip, Node.js ve Odoo bağımlılıkları oluşturmak için gerekli araçları yükleyin:
sudo apt install git python3-pip build-essential wget python3-dev python3-venv python3-wheel libxslt-dev libzip-dev libldap2-dev libsasl2-dev python3-setuptools node-less
Odoo kullanıcısı oluştur
Odoo hizmetini çalıştıracak giriş dizini
/opt/odoo
ile yeni bir sistem kullanıcısı ve grubu oluşturun.
sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo
Kullanıcıyı istediğiniz gibi adlandırabilirsiniz, sadece aynı ada sahip bir postgres kullanıcısı oluşturduğunuzdan emin olun.
PostgreSQL'i kurun ve yapılandırın
Ubuntu'nun varsayılan depolarından PostgreSQL paketini kurun:
sudo apt install postgresql
Kurulum tamamlandıktan sonra, önceden oluşturulmuş sistem kullanıcısıyla aynı ada sahip bir PostgreSQL kullanıcısı oluşturun, bizim durumumuzda
odoo
:
sudo su - postgres -c "createuser -s odoo"
Wkhtmltopdf Yükle
wkhtmltox
paketi, HTML'yi PDF'ye ve çeşitli görüntü formatlarına dönüştürebilen bir dizi açık kaynak komut satırı aracı sağlar. PDF raporlarını yazdırmak için
wkhtmltopdf
aracına ihtiyacınız olacaktır. Odoo için önerilen sürüm, resmi Ubuntu 18.04 depolarında bulunmayan
0.12.1
.
Aşağıdaki wget komutunu kullanarak paketi indirin:
wget
İndirme işlemi tamamlandıktan sonra paketi şunu yazarak yükleyin:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Odoo'yu Yükleme ve Yapılandırma
Odoo'yu GitHub deposundan yalıtılmış bir Python sanal ortamı içine kuracağız, böylece sürümler ve güncellemeler üzerinde daha fazla kontrole sahip olabiliriz.
Kurulum işlemine başlamadan önce
odoo
kullanıcısına
odoo
emin olun.
sudo su - odoo
odoo
kullanıcısı olarak oturum açtığınızı doğrulamak için aşağıdaki komutu kullanabilirsiniz:
whoami
Şimdi kurulum işlemiyle başlayabiliriz. İlk önce odoo'yu GitHub deposundan klonlayın:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11
- Farklı bir Odoo sürümü yüklemek istiyorsanız,
--branchanahtarından sonra sürüm numarasını değiştirin. Dizini istediğiniz gibi adlandırabilirsiniz, örneğinodoo11yerine alanodoo11adını kullanabilirsiniz.
Odoo 11 örneği için yeni bir sanal ortam oluşturmak üzere çalıştırın:
cd /opt/odoo
python3 -m venv odoo11-venv
aşağıdaki komutla ortamı etkinleştirin:
source odoo11-venv/bin/activate
ve pip3 ile gerekli tüm Python modüllerini kurun:
pip3 install wheel
pip3 install -r odoo11/requirements.txt
pip3
, Python paketlerini kurmak ve yönetmek için bir araçtır.
Kurulum tamamlandıktan sonra ortamı devre dışı bırakın ve aşağıdaki komutları kullanarak sudo kullanıcısına geri dönün:
deactivate
exit
sudo mkdir /opt/odoo/odoo11-custom-addons
sudo chown odoo: /opt/odoo/odoo11-custom-addons
Ardından, bir yapılandırma dosyası oluşturmamız gerekiyor, sıfırdan yeni bir tane oluşturabilir veya dahil edilen yapılandırma dosyasını kopyalayabiliriz:
sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf
Dosyayı açın ve aşağıdaki gibi düzenleyin:
/etc/odoo11.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo db_password = False addons_path = /opt/odoo/odoo11/addons; If you are using custom modules; addons_path = /opt/odoo/odoo11/addons, /opt/odoo/odoo11-custom-addons
my_admin_passwd
daha güvenli bir şeye değiştirmeyi ve özel modüller kullanıyorsanız
addons_path
ayarını değiştirmeyi unutmayın.
Systemd birim dosyası oluşturma
Odoo'yu bir hizmet olarak çalıştırmak için,
/etc/systemd/system/
dizininde aşağıdaki içeriğe sahip bir
odoo11.service
birim dosyası oluşturacağız:
Description=Odoo11 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo11 PermissionsStartOnly=true User=odoo Group=odoo ExecStart=/opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf StandardOutput=journal+console WantedBy=multi-user.target
Systemd'e yeni bir birim dosyası oluşturduğumuzu bildirin ve şu işlemleri yaparak Odoo hizmetini başlatın:
sudo systemctl daemon-reload
sudo systemctl start odoo11
Servis durumunu aşağıdaki komutla kontrol edebilirsiniz:
sudo systemctl status odoo11
● odoo11.service - Odoo11 Loaded: loaded (/etc/systemd/system/odoo11.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2018-05-03 21:23:08 UTC; 3s ago Main PID: 18351 (python3) Tasks: 4 (limit: 507) CGroup: /system.slice/odoo11.service └─18351 /opt/odoo/odoo11-venv/bin/python3 /opt/odoo/odoo11/odoo-bin -c /etc/odoo11.conf
ve herhangi bir hata yoksa, Odoo hizmetinin önyükleme zamanında otomatik olarak başlatılmasını sağlayabilirsiniz:
sudo systemctl enable odoo11
Kurulumu Test Edin
Tarayıcınızı açın ve
http://:8069
http://:8069
Kurulumun başarılı olduğu varsayıldığında, aşağıdakine benzer bir ekran görünecektir:

Nginx'i SSL sonlandırma proxy'si olarak yapılandırma
- Genel sunucu IP'nizi gösteren bir alan adınız var. Bu öğreticide
example.comkullanacağız. Bu talimatları izleyerek Nginx yüklü. Alanınız için bir SSL sertifikanız var. Bu talimatları izleyerek ücretsiz bir Let's Encrypt SSL sertifikası yükleyebilirsiniz.
Varsayılan Odoo web sunucusu HTTP üzerinden trafik yayınlıyor. Odoo dağıtımımızı daha güvenli hale getirmek için Nginx'i, HTTPS üzerinden trafiği sunacak bir SSL sonlandırma proxy'si olarak yapılandıracağız.
SSL sonlandırma proxy'si, SSL şifrelemesini / şifresini çözen bir proxy sunucusudur. Bu, sonlandırma proxy sunucumuzun (Nginx) gelen TLS bağlantılarını (HTTPS) işleyeceği ve şifresini çözeceği ve Nginx ile Odoo arasındaki trafiğin şifrelenmemesi için (HTTP) şifrelenmemiş istekleri dahili hizmetimize (Odoo) ileteceği anlamına gelir.
Odoo'ya bir proxy kullanacağımızı, yapılandırma dosyasını açacağımızı ve aşağıdaki satırı ekleyeceğimizi söylemeliyiz:
/etc/odoo11.conf
proxy_mode = True
Değişikliklerin geçerli olması için Odoo hizmetini yeniden başlatın:
sudo systemctl restart odoo11
Nginx'i proxy olarak kullanmak bize birkaç avantaj sağlar. Bu örnekte SSL Sonlandırmayı, HTTP'den HTTPS'ye yeniden yönlendirmeyi, WWW'den WWW'ye olmayan yeniden yönlendirmeyi yapılandıracağız, statik dosyaları önbelleğe alacak ve GZip sıkıştırmasını etkinleştireceğiz.
/etc/nginx/sites-enabled/example.com
# Odoo servers upstream odoo { server 127.0.0.1:8069; } upstream odoochat { server 127.0.0.1:8072; } # HTTP -> HTTPS server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } # WWW -> NON WWW server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; proxy_read_timeout 720s; proxy_connect_timeout 720s; proxy_send_timeout 720s; # Proxy headers proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; # SSL parameters ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; # log files access_log /var/log/nginx/odoo.access.log; error_log /var/log/nginx/odoo.error.log; # Handle longpoll requests location /longpolling { proxy_pass http://odoochat; } # Handle / requests location / { proxy_redirect off; proxy_pass http://odoo; } # Cache static files location ~* /web/static/ { proxy_cache_valid 200 90m; proxy_buffering on; expires 864000; proxy_pass http://odoo; } # Gzip gzip_types text/css text/less text/plain text/xml application/xml application/json application/javascript; gzip on; }
Example.com'u Odoo alan adınızla değiştirmeyi ve SSL sertifika dosyalarına doğru yolu ayarlamayı unutmayın. Bu yapılandırmada kullanılan snippet'ler bu kılavuzda oluşturulur.
İşiniz bittiğinde, Nginx hizmetini aşağıdakilerle yeniden başlatın:
Ciltleme arayüzünü değiştirme
Bu adım isteğe bağlıdır, ancak iyi bir güvenlik uygulamasıdır. Varsayılan olarak, Odoo sunucusu tüm arabirimlerde 8069 numaralı bağlantı noktasını dinler, bu nedenle Odoo örneğinize doğrudan erişimi devre dışı bırakmak isterseniz, tüm genel arabirimler için 8069 numaralı bağlantı noktasını engelleyebilir veya Odoo'yu yalnızca yerel arabirimde dinlemeye zorlayabilirsiniz.
Bu kılavuzda Odoo'yu yalnızca
127.0.0.1
dinlemeye zorlayacağız, Odoo yapılandırmasını açarak dosyanın sonuna aşağıdaki iki satırı ekleyin:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Yapılandırma dosyasını kaydedin ve değişikliklerin geçerli olması için Odoo sunucusunu yeniden başlatın:
Çoklu işlemeyi etkinleştir
Varsayılan olarak, Odoo çoklu kullanım modunda çalışır. Üretim dağıtımları için, kararlılığı artırdığı ve sistem kaynaklarını daha iyi kullanabildiği için çok işlemcili sunucuya geçmeniz önerilir. Çoklu işlemeyi etkinleştirmek için Odoo yapılandırmasını düzenlememiz ve sıfırdan farklı çalışan işlemi ayarlamamız gerekir.
Çalışan sayısı, sistemdeki CPU çekirdeklerinin sayısına ve kullanılabilir RAM belleğine göre hesaplanır.
Çalışan sayısını ve gerekli RAM bellek boyutunu hesaplamak için resmi Odoo belgelerine göre aşağıdaki formülleri ve varsayımları kullanacağız:
İşçi numarası hesaplama
- teorik maksimum işçi sayısı = (system_cpus * 2) + 11 işçi ~ = 6 eşzamanlı kullanıcıya hizmet verebilir
RAM bellek boyutu hesaplama
- Tüm taleplerin% 20'sinin ağır talepler, % 80'inin daha hafif talepler olduğunu düşüneceğiz. Ağır istekler yaklaşık 1 GB RAM kullanıyor, daha hafif olanlar ise yaklaşık 150 MB RAM kullanıyor
grep -c ^processor /proc/cpuinfo
4 CPU çekirdeği, 8 GB RAM belleği ve 30 eşzamanlı Odoo kullanıcısı olan bir sistemimiz olduğunu varsayalım.
-
30 users / 6 = **5**(5 teorik işçi sayısı gereklidir)(4 * 2) + 1 = **9**(9 teorik maksimum işçi sayısı)
Yukarıdaki hesaplamaya dayanarak, toplam 6 işçi olan cron işçisi için 5 işçi + 1 işçi kullanabiliriz.
RAM bellek tüketimini çalışanların sayısına göre hesaplayın:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Yukarıdaki hesaplama bize Odoo kurulumumuzun yaklaşık 2GB RAM'e ihtiyacı olacağını gösteriyor.
Çoklu işlem moduna geçmek için yapılandırma dosyasını açın ve aşağıdaki satırları ekleyin:
/etc/odoo11.conf
limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 5
Değişikliklerin geçerli olması için Odoo hizmetini yeniden başlatın:
sudo systemctl restart odoo11
Sistem kaynaklarının geri kalanı makinemizde çalışan diğer hizmetler tarafından kullanılacaktır. Bu kılavuzda Odoo'yu PostgreSQL ve Nginx ile birlikte aynı sunucuya kurduk ve kurulumunuza bağlı olarak sunucunuzda çalışan başka servisler de olabilir.
Sonuç
Bu kadar! Bu eğitim, Nginx'i ters proxy olarak kullanan bir Python sanal ortamında Ubuntu 18.04 üzerine Odoo 11 kurulumunda size yol gösterdi. Ayrıca, çoklu işlemeyi nasıl etkinleştireceğinizi ve Odoo'yu üretim ortamı için nasıl optimize edeceğinizi öğrendiniz. Ayrıca, Odoo veritabanlarınızın otomatik günlük yedeklemelerinin nasıl oluşturulacağı ile ilgili eğiticimizi kontrol etmek isteyebilirsiniz.
ubuntu odoo postgresql python pip nginx proxy sslUbuntu 18.04'te Odoo 12 nasıl dağıtılır
Bu eğitici, Ubuntu 18.04 sisteminde Git kaynağı ve Python sanal ortamını kullanarak üretim için Odoo 12'yi kurmak ve yapılandırmak için gereken adımları kapsar.
Ubuntu 18.04'te rocket.chat nasıl dağıtılır
Rocket.Chat açık kaynaklı bir takım iletişim platformudur, kendi kendine barındırılan bir Slack alternatifidir. Rocket.Chat, kendi sohbet sistemlerini barındırmak isteyen şirketler ve topluluklar için mükemmel bir çözümdür.
En önemli Ubuntu 18.04'te nasıl dağıtılır
Mattermost, tüm ekip iletişiminizi tek bir yere taşır ve dosya paylaşımı, bire bir ve grup mesajları, özel emojiler, video görüşmeleri ve daha pek çok özellik sunar.







