How To Install Odoo 13 on Ubuntu 18.04
Daftar Isi:
- Menginstal Prasyarat
- Menciptakan Pengguna Sistem
- Menginstal dan Mengkonfigurasi PostgreSQL
- Menginstal Wkhtmltopdf
- Menginstal dan Mengkonfigurasi Odoo 13
- Membuat File Unit Systemd
- Menguji Instalasi
- Mengkonfigurasi Nginx sebagai Proxy Pengakhiran SSL
- Mengubah Antarmuka Yang Mengikat
- Mengaktifkan Multiprocessing
- Kesimpulan
Odoo adalah rangkaian aplikasi open-source populer untuk bisnis. Ini menawarkan berbagai aplikasi, termasuk CRM, e-Commerce, pembangun situs web, penagihan, akuntansi, manufaktur, gudang, manajemen proyek, inventaris, dan banyak lagi, semuanya terintegrasi dengan mulus.
Odoo dapat diinstal dengan berbagai cara tergantung pada kasus penggunaan dan teknologi yang tersedia. Cara termudah dan tercepat untuk menginstal Odoo adalah dengan menggunakan repositori Odoo APT resmi.
Menginstal Odoo di lingkungan virtual, atau menggunakan sebagai wadah Docker, memungkinkan Anda untuk memiliki kontrol lebih besar atas pengaturan sistem, dan menjalankan beberapa versi Odoo pada sistem yang sama.
Dalam panduan ini, kami akan memandu Anda dalam menginstal dan menggunakan Odoo 13 di dalam lingkungan virtual Python di Ubuntu 18.04. Kami akan mengunduh Odoo dari repositori Github mereka dan menggunakan Nginx sebagai proxy terbalik.
Menginstal Prasyarat
Masuk ke Ubuntu Anda sebagai pengguna sudo dan perbarui cache Apt:
sudo apt update
Instal Git, Pip, Node.js, dan alat yang diperlukan untuk membangun dependensi Odoo:
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
Menciptakan Pengguna Sistem
Buat pengguna sistem yang akan menjalankan Odoo, bernama
odoo13
dengan direktori home
/opt/odoo13
:
sudo useradd -m -d /opt/odoo13 -U -r -s /bin/bash odoo13
Anda dapat mengatur nama pengguna untuk apa pun yang Anda inginkan, selama Anda membuat pengguna PostgreSQL dengan nama yang sama.
Menginstal dan Mengkonfigurasi PostgreSQL
Odoo menggunakan PostgreSQL sebagai basis data back-end. Untuk menginstal PostgreSQL, jalankan perintah berikut:
sudo apt install postgresql
Setelah instalasi selesai, buat pengguna PostgreSQL dengan nama yang sama dengan pengguna sistem yang dibuat sebelumnya, dalam kasus kami yaitu
odoo13
:
sudo su - postgres -c "createuser -s odoo13"
Menginstal Wkhtmltopdf
Paket
wkhtmltox
menyediakan seperangkat alat baris perintah sumber terbuka yang dapat merender HTML ke dalam PDF dan berbagai format gambar. Agar dapat mencetak laporan PDF, Anda harus menginstal alat
wkhtmltopdf
. Versi yang direkomendasikan untuk Odoo adalah 0.12.5, yang tidak tersedia di repositori Ubuntu 18.04 default.
Unduh paket menggunakan perintah wget berikut:
wget
Setelah unduhan selesai, instal paket dengan mengetik:
sudo apt install./wkhtmltox_0.12.5-1.bionic_amd64.deb
Menginstal dan Mengkonfigurasi Odoo 13
Seperti yang disebutkan sebelumnya, kami akan menginstal Odoo dari sumber di dalam lingkungan virtual Python yang terisolasi.
Pertama, ubah ke pengguna "odoo13":
sudo su - odoo13
Mengkloning kode sumber Odoo 13 dari GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 13.0 /opt/odoo13/odoo
Setelah unduhan selesai, buat lingkungan virtual Python baru untuk Odoo:
cd /opt/odoo13
python3 -m venv odoo-venv
Aktifkan lingkungan dengan perintah berikut:
source odoo-venv/bin/activate
Instal semua modul Python yang diperlukan dengan pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Jika Anda menemukan kesalahan kompilasi selama instalasi, pastikan semua dependensi yang diperlukan tercantum di bagian
Installing Prerequisites
diinstal.
Setelah selesai, nonaktifkan lingkungan dengan mengetik:
deactivate
Kami akan membuat direktori baru yang akan menampung addon pihak ke-3.
mkdir /opt/odoo13/odoo-custom-addons
Nanti, kita akan menambahkan direktori ini ke parameter
addons_path
. Parameter ini mendefinisikan daftar direktori di mana Odoo mencari modul.
Beralih kembali ke pengguna sudo Anda:
exit
Buat file konfigurasi dengan konten berikut:
sudo nano /etc/odoo13.conf
/etc/odoo13.conf
; This is the password that allows database operations: admin_passwd = my_admin_passwd db_host = False db_port = False db_user = odoo13 db_password = False addons_path = /opt/odoo13/odoo/addons, /opt/odoo13/odoo-custom-addons
Jangan lupa untuk mengubah
my_admin_passwd
menjadi sesuatu yang lebih aman.
Membuat File Unit Systemd
Buka editor teks Anda dan buat file unit layanan bernama
odoo13.service
dengan konten berikut:
sudo nano /etc/systemd/system/odoo13.service
/etc/systemd/system/odoo13.service
Description=Odoo13 Requires=postgresql.service After=network.target postgresql.service Type=simple SyslogIdentifier=odoo13 PermissionsStartOnly=true User=odoo13 Group=odoo13 ExecStart=/opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf StandardOutput=journal+console WantedBy=multi-user.target
Beri tahu systemd bahwa ada file unit baru:
sudo systemctl daemon-reload
Mulai layanan Odoo dan aktifkan untuk memulai saat boot dengan menjalankan:
sudo systemctl enable --now odoo13
Verifikasi status layanan:
sudo systemctl status odoo13
Outputnya akan terlihat seperti di bawah ini, menunjukkan bahwa layanan Odoo aktif dan berjalan.
● odoo13.service Loaded: loaded (/etc/systemd/system/odoo13.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-10-19 20:06:23 UTC; 3s ago Main PID: 1860 (python3) Tasks: 4 (limit: 2362) CGroup: /system.slice/odoo13.service └─1860 /opt/odoo13/odoo-venv/bin/python3 /opt/odoo13/odoo/odoo-bin -c /etc/odoo13.conf
Untuk melihat pesan yang dicatat oleh layanan Odoo, gunakan perintah di bawah ini:
Menguji Instalasi
Buka browser Anda dan ketik:
http://:8069
http://:8069
Dengan asumsi instalasi berhasil, layar yang mirip dengan berikut ini akan muncul:
Mengkonfigurasi Nginx sebagai Proxy Pengakhiran SSL
Server web Odoo default melayani lalu lintas melalui HTTP. Untuk membuat penyebaran Odoo lebih aman, kami akan mengonfigurasi Nginx sebagai proxy terminasi SSL yang akan melayani lalu lintas melalui
Proxy terminasi SSL adalah server proxy yang menangani enkripsi / dekripsi SSL. Ini berarti bahwa proxy terminasi (Nginx) akan memproses dan mendekripsi koneksi TLS yang masuk (HTTPS), dan meneruskan permintaan yang tidak terenkripsi ke layanan internal (Odoo). Lalu lintas antara Nginx dan Odoo tidak akan dienkripsi (HTTP).
Menggunakan proxy terbalik memberi Anda banyak manfaat seperti Penyeimbangan Beban, Pengakhiran SSL, Caching, Kompresi, Menyajikan Konten Statis, dan banyak lagi.
Pastikan Anda telah memenuhi persyaratan berikut sebelum melanjutkan dengan bagian ini:
- Nama domain menunjuk ke IP server publik Anda. Kami akan menggunakan
example.com
.Nginx terinstal.SSL sertifikat untuk domain Anda. Anda dapat memasang sertifikat Mari Enkripsi SSL gratis.
Buka editor teks Anda dan buat / edit blok server domain:
sudo nano /etc/nginx/sites-enabled/example.com
Konfigurasi berikut ini mengatur Pemutusan SSL, pengalihan HTTP ke HTTPS, pengalihan WWW ke non-WWW, cache file statis, dan aktifkan kompresi GZip.
/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; }
Jangan lupa ganti example.com dengan domain Odoo Anda dan setel jalur yang benar ke file sertifikat SSL. Cuplikan yang digunakan dalam konfigurasi ini dibuat dalam panduan ini.
Setelah selesai, mulai ulang layanan Nginx:
sudo systemctl restart nginx
Selanjutnya, kita perlu memberi tahu Odoo untuk menggunakan proxy. Untuk melakukannya, buka file konfigurasi dan tambahkan baris berikut:
/etc/odoo13.conf
proxy_mode = True
Mulai ulang layanan Odoo agar perubahan diterapkan:
sudo systemctl restart odoo13
Pada titik ini, proksi terbalik dikonfigurasi, dan Anda dapat mengakses instance Odoo Anda di:
https://example.com
Mengubah Antarmuka Yang Mengikat
Langkah ini opsional, tetapi ini merupakan praktik keamanan yang baik.
Secara default, server Odoo mendengarkan port
8069
di semua antarmuka. Untuk menonaktifkan akses langsung ke instance Odoo, Anda bisa memblokir port
8069
untuk semua antarmuka publik atau memaksa Odoo hanya mendengarkan pada antarmuka lokal.
Kami akan mengonfigurasi Odoo untuk mendengarkan hanya di
127.0.0.1
. Buka konfigurasi, tambahkan dua baris berikut di akhir file:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Simpan file konfigurasi dan mulai ulang server Odoo agar perubahan diterapkan:
Mengaktifkan Multiprocessing
Secara default, Odoo bekerja dalam mode multithreading. Untuk penyebaran produksi, disarankan untuk mengubah ke server multiprosesing karena meningkatkan stabilitas, dan membuat penggunaan sumber daya sistem yang lebih baik.
Untuk mengaktifkan multi proses, Anda perlu mengedit konfigurasi Odoo dan mengatur jumlah proses pekerja yang tidak nol. Jumlah pekerja dihitung berdasarkan jumlah inti CPU dalam sistem dan memori RAM yang tersedia.
Menurut dokumentasi Odoo resmi untuk menghitung jumlah pekerja dan ukuran memori RAM yang diperlukan, Anda dapat menggunakan rumus dan asumsi berikut:
Perhitungan angka pekerja
- Jumlah maksimal teoretis pekerja = (system_cpus * 2) + 11 pekerja dapat melayani ~ = 6 pengguna secara bersamaan Pekerja pekerja juga membutuhkan CPU
Perhitungan ukuran memori RAM
- Kami akan mempertimbangkan bahwa 20% dari semua permintaan adalah permintaan berat, dan 80% adalah permintaan yang lebih ringan. Permintaan berat menggunakan sekitar 1 GB RAM sementara yang lebih ringan menggunakan sekitar 150 MB RAMNeeded RAM =
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Katakanlah Anda memiliki sistem dengan 4 core CPU, 8 GB memori RAM, dan 30 pengguna Odoo bersamaan.
-
30 users / 6 = **5**
(5 adalah jumlah teoritis yang dibutuhkan pekerja)(4 * 2) + 1 = **9**
(9 adalah jumlah maksimum teoritis pekerja)
Berdasarkan perhitungan di atas, Anda dapat menggunakan 5 pekerja + 1 pekerja untuk pekerja cron yaitu total 6 pekerja.
Hitung konsumsi memori RAM berdasarkan jumlah pekerja:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Perhitungan menunjukkan bahwa instalasi Odoo membutuhkan sekitar 2GB RAM.
Untuk beralih ke mode multi-pemrosesan, buka file konfigurasi dan tambahkan nilai yang dihitung:
/etc/odoo13.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
Mulai ulang layanan Odoo agar perubahan diterapkan:
sudo systemctl restart odoo13
Sisa sumber daya sistem akan digunakan oleh layanan lain yang berjalan di sistem ini. Dalam panduan ini, kami menginstal Odoo bersama dengan PostgreSQL dan Nginx di server yang sama. Tergantung pada pengaturan Anda, Anda mungkin juga memiliki layanan lain yang berjalan di server Anda.
Kesimpulan
Tutorial ini memandu Anda melalui pemasangan Odoo 13 di Ubuntu 18.04 di lingkungan virtual Python menggunakan Nginx sebagai proxy terbalik. Kami juga telah menunjukkan kepada Anda cara mengaktifkan multiprosesing dan mengoptimalkan Odoo untuk lingkungan produksi.
Anda juga mungkin ingin memeriksa tutorial kami tentang cara membuat backup harian otomatis dari database Odoo.
ubuntu odoo postgresql python pip nginx proxy sslBagaimana cara menyebarkan odoo 11 di ubuntu 18.04

Panduan ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi Odoo untuk produksi menggunakan Git source dan Python virtual environment pada sistem Ubuntu 18.04.
Bagaimana cara menyebarkan odoo 12 di ubuntu 18.04

Tutorial ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi Odoo 12 untuk produksi menggunakan Git source dan Python virtual environment pada sistem Ubuntu 18.04.
Cara menginstal odoo 11 di ubuntu 16.04

Odoo adalah salah satu perangkat lunak bisnis paling populer di dunia. Panduan ini mencakup langkah-langkah yang diperlukan untuk menginstal dan mengkonfigurasi Odoo menggunakan Git source dan Python virtual environment di Ubuntu 16.04