2 месяца с Ubuntu 18.04 LTS - так ли она хороша?
İçindekiler:
- Sen başlamadan önce
- Odoo kullanıcısı oluştur
- PostgreSQL'i Kurma ve Yapılandırma
- 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 İş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.
Odoo birkaç farklı şekilde kurulabilir. Odoo'yu kurmanın en kolay ve en hızlı yolu, resmi APT depolarını kullanmaktı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.
Sen başlamadan önce
Bir sudo kullanıcısı olarak Ubuntu makinenize 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
Aşağıdaki komutu kullanarak
odoo12
için ana dizin
/opt/odoo12
ile odoo12 adlı yeni bir sistem kullanıcısı oluşturun:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Aynı ada sahip bir PostgreSQL kullanıcısı oluşturduğunuz sürece Odoo kullanıcınız için herhangi bir ad kullanabilirsiniz.
PostgreSQL'i Kurma ve Yapılandırma
Ubuntu'nun varsayılan depolarından PostgreSQL paketini kurun:
sudo apt install postgresql
Yükleme tamamlandıktan sonra, önceden oluşturulmuş sistem kullanıcısıyla aynı ada sahip bir PostgreSQL kullanıcısı oluşturun, bizim durumumuzda
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
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, yalıtılmış bir Python sanal ortamında GitHub deposundan kuracağız.
Kurulum işlemine başlamadan önce “odoo12” kullanıcısına geçin:
sudo su - odoo12
GitHub deposundan Odoo 12 kaynak kodunu klonlayarak başlayın:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Kaynak kodu indirildikten sonra, Odoo 12 kurulumu için yeni bir Python sanal ortamı oluşturun:
cd /opt/odoo12
python3 -m venv odoo-venv
Ardından, aşağıdaki komutla ortamı etkinleştirin:
source odoo-venv/bin/activate
Gerekli tüm Python modüllerini pip3 ile kurun:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Yükleme sırasında herhangi bir derleme hatasıyla karşılaşırsanız,
Before you begin
bölümünde listelenen tüm bağımlılıkları yüklediğinizden emin olun.
Aşağıdaki komutu kullanarak ortamı devre dışı bırakın:
deactivate
Özel eklentiler için yeni bir dizin oluşturun:
mkdir /opt/odoo12/odoo-custom-addons
Sudo kullanıcınıza geri dönün:
exit
Ardından, birlikte verilen örnek yapılandırma dosyasını kopyalayarak bir yapılandırma dosyası oluşturun:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Dosyayı açın ve aşağıdaki gibi düzenleyin:
sudo nano /etc/odoo12.conf
/etc/odoo12.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo12 db_password = False addons_path = /opt/odoo12/odoo/addons, /opt/odoo12/odoo-custom-addons
my_admin_passwd
daha güvenli bir şeye değiştirmeyi unutmayın.
Systemd Birim Dosyası Oluşturma
Odoo'yu bir hizmet olarak çalıştırmak için
/etc/systemd/system/
dizininde bir hizmet birimi dosyası oluşturmamız gerekir.
Metin düzenleyicinizi açın ve aşağıdaki yapılandırmayı yapıştırın:
sudo nano /etc/systemd/system/odoo12.service
/etc/systemd/system/odoo12.service
Description=Odoo12 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo12 PermissionsStartOnly=true User=odoo12 Group=odoo12 ExecStart=/opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf StandardOutput=journal+console WantedBy=multi-user.target
Systemd'e yeni bir birim dosyasının bulunduğunu bildirin ve Odoo hizmetini çalıştırarak başlatın:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Aşağıdaki komutla servis durumunu kontrol edin:
sudo systemctl status odoo12
Çıktı, Odoo hizmetinin etkin ve çalışır durumda olduğunu gösteren aşağıdaki gibi görünmelidir.
* odoo12.service - Odoo12 Loaded: loaded (/etc/systemd/system/odoo12.service; disabled; vendor preset: enabled) Active: active (running) since Tue 2018-10-09 14:15:30 PDT; 3s ago Main PID: 24334 (python3) Tasks: 4 (limit: 2319) CGroup: /system.slice/odoo12.service `-24334 /opt/odoo12/odoo-venv/bin/python3 /opt/odoo12/odoo/odoo-bin -c /etc/odoo12.conf
Odoo hizmetinin önyükleme zamanında otomatik olarak başlatılmasını sağlayın:
sudo systemctl enable odoo12
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
Bu bölüme devam etmeden önce aşağıdaki önkoşulları karşıladığınızdan emin olun:
- Genel sunucu IP'nizi gösteren alan adı. Bu eğitimde alan adınız için
example.com.Nginx yüklü.SSL sertifikasını kullanacağız. Ücretsiz 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.
Ters proxy kullanmak, Yük Dengeleme, SSL Sonlandırma, Önbellekleme, Sıkıştırma, Statik İçerik Sunma ve daha pek çok 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.
Metin düzenleyicinizi açın ve aşağıdaki dosyayı oluşturun:
sudo nano /etc/nginx/sites-enabled/example.com
/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:
sudo systemctl restart nginx
Sonra, Odoo'ya proxy kullanacağımızı söylemeliyiz. Bunu yapmak için yapılandırma dosyasını açın ve aşağıdaki satırı ekleyin:
/etc/odoo12.conf
proxy_mode = True
Değişikliklerin geçerli olması için Odoo hizmetini yeniden başlatın:
sudo systemctl restart odoo12
Bu noktada sunucunuz yapılandırılır ve Odoo örneğinize şu adresten erişebilirsiniz:
https://example.com
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. Odoo örneğinize doğrudan erişimi devre dışı bırakmak istiyorsanız, tüm genel arabirimler için
8069
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
dinleyecek şekilde yapılandıracağız. Yapılandırmayı açın, 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 İş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.Neded RAM = number_of_workers
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
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/odoo12.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 odoo12
Sistem kaynaklarının geri kalanı, bu sistemde ç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 eğitim, Nginx'i ters proxy olarak kullanan bir Python sanal ortamında Ubuntu 18.04 üzerine Odoo 12 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 11 nasıl dağıtılı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.
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.







