Odoo Linux - Cara Install Odoo 12 di Ubuntu 18.04
Isi kandungan:
- Sebelum awak bermula
- Buat pengguna Odoo
- Pasang dan Konfigurasikan PostgreSQL
- Pasang Wkhtmltopdfdf
- Pasang dan Konfigurasikan Odoo
- Buat Fail Unit Sistem
- Uji Pemasangan
- Konfigurasikan Nginx sebagai Proksi Penamatan SSL
- Tukar antara muka yang mengikat
- Membolehkan Multiprocessing
- Kesimpulannya
Odoo adalah perisian perniagaan semua-dalam-satu yang paling popular di dunia. Ia menawarkan pelbagai aplikasi perniagaan termasuk CRM, laman web, e-Niaga, bil, perakaunan, pembuatan, gudang, pengurusan projek, inventori dan banyak lagi, semuanya bersepadu dengan lancar.
Odoo boleh dipasang dengan beberapa cara yang berbeza. Cara paling mudah dan paling cepat untuk memasang Odoo adalah dengan menggunakan repositori APT rasmi mereka.
Tutorial ini merangkumi langkah-langkah yang diperlukan untuk memasang dan mengkonfigurasi Odoo 12 untuk pengeluaran menggunakan sumber Git dan persekitaran maya Python pada sistem Ubuntu 18.04.
Sebelum awak bermula
Log masuk ke mesin Ubuntu sebagai pengguna sudo dan kemas kini sistem ke pakej terkini:
sudo apt update && sudo apt upgrade
Pasang Git, Pip, Node.js dan alat yang diperlukan untuk membina kebergantungan 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
Buat pengguna Odoo
Buat pengguna sistem baru untuk Odoo bernama
odoo12
dengan direktori rumah
/opt/odoo12
menggunakan perintah berikut:
sudo useradd -m -d /opt/odoo12 -U -r -s /bin/bash odoo12
Anda boleh menggunakan mana-mana nama untuk pengguna Odoo anda selagi anda mencipta pengguna PostgreSQL dengan nama yang sama.
Pasang dan Konfigurasikan PostgreSQL
Pasang pakej PostgreSQL dari repositori lalai Ubuntu:
sudo apt install postgresql
Setelah pemasangan selesai, buat pengguna PostgreSQL dengan nama yang sama dengan pengguna sistem yang dibuat sebelumnya, dalam kes kami yang
odoo12
:
sudo su - postgres -c "createuser -s odoo12"
Pasang Wkhtmltopdfdf
Pakej
wkhtmltox
menyediakan satu set alat baris arahan sumber terbuka yang boleh menjadikan HTML menjadi PDF dan pelbagai format imej. Untuk mencetak laporan PDF, anda memerlukan alat
wkhtmltopdf
. Versi yang disyorkan untuk Odoo adalah
0.12.1
yang tidak tersedia di repositori Ubuntu 18.04 rasmi.
Muat turun pakej menggunakan perintah wget berikut:
wget
Setelah muat turun selesai pasangkan pakej dengan menaip:
sudo apt install./wkhtmltox_0.12.1.3-1~bionic_amd64.deb
Pasang dan Konfigurasikan Odoo
Kami akan memasang Odoo dari repositori GitHub dalam persekitaran maya Python yang terpencil.
Sebelum memulakan proses pemasangan, tukar kepada pengguna "odoo12":
sudo su - odoo12
Mulakan dengan mengkloning kod sumber Odoo 12 dari repositori GitHub:
git clone https://www.github.com/odoo/odoo --depth 1 --branch 12.0 /opt/odoo12/odoo
Setelah kod sumber dimuat turun, buat persekitaran maya Python baru untuk pemasangan Odoo 12:
cd /opt/odoo12
python3 -m venv odoo-venv
Seterusnya, aktifkan persekitaran dengan arahan berikut:
source odoo-venv/bin/activate
Pasang semua modul Python yang diperlukan dengan pip3:
pip3 install wheel
pip3 install -r odoo/requirements.txt
Jika anda menghadapi sebarang kesilapan kompilasi semasa pemasangan, pastikan anda memasang semua ketergantungan yang diperlukan yang disenaraikan di
Before you begin
bahagian.
Nyahaktifkan alam sekitar dengan menggunakan arahan berikut:
deactivate
Buat direktori baru untuk tambahan tersuai:
mkdir /opt/odoo12/odoo-custom-addons
Tukar kembali kepada pengguna sudo anda:
exit
Seterusnya, buat fail konfigurasi, dengan menyalin fail konfigurasi contoh yang disertakan:
sudo cp /opt/odoo12/odoo/debian/odoo.conf /etc/odoo12.conf
Buka fail dan editnya seperti berikut:
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
Jangan lupa menukar
my_admin_passwd
ke sesuatu yang lebih selamat.
Buat Fail Unit Sistem
Untuk menjalankan Odoo sebagai perkhidmatan, kita perlu membuat fail unit perkhidmatan dalam direktori
/etc/systemd/system/
.
Buka editor teks anda dan tampalkan konfigurasi berikut:
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
Beritahu systemd bahawa fail unit baru ada dan mulakan perkhidmatan Odoo dengan menjalankan:
sudo systemctl daemon-reload
sudo systemctl start odoo12
Semak status perkhidmatan dengan arahan berikut:
sudo systemctl status odoo12
Output seharusnya kelihatan seperti di bawah yang menunjukkan bahawa perkhidmatan Odoo aktif dan berjalan.
* 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
Dayakan perkhidmatan Odoo untuk dimulakan secara automatik pada masa boot:
sudo systemctl enable odoo12
Uji Pemasangan
Buka pelayar anda dan ketik:
http://:8069
http://:8069
Dengan mengandaikan pemasangan berjaya, skrin yang serupa dengan yang berikut akan muncul:

Konfigurasikan Nginx sebagai Proksi Penamatan SSL
Pastikan bahawa anda telah memenuhi prasyarat berikut sebelum meneruskan dengan bahagian ini:
- Nama domain yang menunjuk ke IP pelayan awam anda. Dalam tutorial ini, kami akan menggunakan
example.com.Nginx yang dipasang.SSL sijil untuk domain anda. Anda boleh memasang percuma Let's Encrypt SSL certificate.
Pelayan web Odoo lalai menghidupkan lalu lintas melalui HTTP. Untuk menjadikan deployment Odoo kami lebih aman, kami akan mengkonfigurasi Nginx sebagai proksi penamatan SSL yang akan melayani trafik melalui
Proksi penamatan SSL adalah pelayan proksi yang menangani penyulitan / penyahsulitan SSL. Ini bermakna proksi penamatan kami (Nginx) akan mengendalikan dan menyahsulit sambungan TLS yang masuk (HTTPS), dan ia akan menyampaikan permintaan yang tidak disenkrit ke perkhidmatan dalaman kami (Odoo) supaya lalu lintas antara Nginx dan Odoo tidak akan disulitkan (HTTP).
Menggunakan proksi terbalik memberikan anda banyak faedah seperti Load Balancing, Penamatan SSL, Caching, Compression, Servis Content Static dan banyak lagi.
Dalam contoh ini kita akan mengkonfigurasi Penamatan SSL, HTTP ke pengalihan HTTPS, WWW ke pengalihan bukan WWW, cache fail statik dan membolehkan pemampatan GZip.
Buka editor teks anda dan buat fail berikut:
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; }
Jangan lupa untuk mengganti example.com dengan domain Odoo anda dan tetapkan laluan yang betul ke fail sijil SSL. Coretan yang digunakan dalam konfigurasi ini dicipta dalam panduan ini.
Sebaik sahaja anda selesai, mulakan semula perkhidmatan Nginx dengan:
sudo systemctl restart nginx
Seterusnya, kami perlu memberitahu Odoo bahawa kami akan menggunakan proksi. Untuk berbuat demikian, buka fail konfigurasi dan tambahkan baris berikut:
/etc/odoo12.conf
proxy_mode = True
Mulakan semula perkhidmatan Odoo untuk perubahan yang berlaku:
sudo systemctl restart odoo12
Pada ketika ini, pelayan anda dikonfigurasi dan anda boleh mengakses contoh Odoo anda di:
https://example.com
Tukar antara muka yang mengikat
Langkah ini adalah pilihan, tetapi ia merupakan amalan keselamatan yang baik.
Secara lalai, pelayan Odoo mendengar kepada port 8069 pada semua antara muka. Jika anda ingin melumpuhkan akses langsung kepada contoh Odoo anda, anda boleh menyekat port
8069
untuk semua muka umum atau memaksa Odoo untuk mendengar hanya pada antara muka tempatan.
Dalam panduan ini kita akan mengkonfigurasi Odoo untuk mendengar hanya pada
127.0.0.1
. Buka konfigurasi itu menambah dua garisan berikut pada akhir fail:
xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1
Simpan fail konfigurasi dan mulakan semula pelayan Odoo untuk melaksanakan perubahan:
Membolehkan Multiprocessing
Secara lalai, Odoo bekerja dalam mod multithreading. Untuk penyebaran pengeluaran, disyorkan untuk beralih ke pelayan multiprocessing kerana ia meningkatkan kestabilan, dan membuat penggunaan sumber sistem yang lebih baik. Untuk membolehkan multiprocessing kita perlu mengedit konfigurasi Odoo dan menetapkan bilangan pekerja yang tidak sifar.
Bilangan pekerja dikira berdasarkan bilangan teras CPU dalam sistem dan memori RAM yang tersedia.
Mengikut dokumentasi rasmi Odoo untuk mengira bilangan pekerja dan saiz memori RAM yang diperlukan kami akan menggunakan formula dan andaian berikut:
Pengiraan nombor pekerja
- bilangan maksimum pekerja = (system_cpus * 2) + 11 pekerja boleh melayani ~ = 6 pengguna serentakCron pekerja juga memerlukan CPU
Pengiraan saiz memori RAM
- Kami akan mempertimbangkan bahawa 20% daripada semua permintaan adalah permintaan berat, manakala 80% adalah yang lebih ringan. Permintaan berat menggunakan sekitar 1 GB RAM manakala yang lebih ringan menggunakan sekitar 150 MB RAM RAM yang
number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))=number_of_workers * ((light_worker_ratio * light_worker_ram_estimation) + (heavy_worker_ratio * heavy_worker_ram_estimation))
grep -c ^processor /proc/cpuinfo
Katakan kita mempunyai sistem dengan 4 teras CPU, 8 GB memori RAM dan 30 pengguna Odoo yang bersamaan.
-
30 users / 6 = **5**(5 adalah bilangan pekerja yang diperlukan teoritis)(4 * 2) + 1 = **9**(9 adalah bilangan pekerja maksimum teoritis)
Berdasarkan pengiraan di atas kita boleh menggunakan 5 pekerja + 1 pekerja untuk pekerja cron yang berjumlah 6 pekerja.
Kira penggunaan memori RAM berdasarkan bilangan pekerja:
-
RAM = 6 * ((0.8*150) + (0.2*1024)) ~= 2 GB of RAM
Pengiraan di atas menunjukkan bahawa pemasangan Odoo kami memerlukan sekitar 2GB RAM.
Untuk bertukar ke mod multiprocessing, buka fail konfigurasi dan masukkan baris berikut:
/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
Mulakan semula perkhidmatan Odoo untuk perubahan yang berlaku:
sudo systemctl restart odoo12
Selebihnya sumber sistem akan digunakan oleh perkhidmatan lain yang berjalan pada sistem ini. Dalam panduan ini kami memasang Odoo bersama-sama dengan PostgreSQL dan Nginx pada pelayan yang sama dan bergantung pada persediaan anda, anda juga mungkin mempunyai perkhidmatan lain yang berjalan di server anda.
Kesimpulannya
Tutorial ini berjalan anda melalui pemasangan Odoo 12 pada Ubuntu 18.04 dalam persekitaran maya Python menggunakan Nginx sebagai proksi terbalik. Anda juga belajar bagaimana untuk membolehkan multiprocessing dan mengoptimumkan Odoo untuk persekitaran pengeluaran.
Anda juga mungkin ingin menyemak tutorial kami mengenai cara membuat backup harian harian pangkalan data Odoo anda.
ubuntu odoo postgresql python pip nginx proxy sslBagaimana untuk menggunakan odoo 11 pada ubuntu 18.04
Panduan ini merangkumi langkah-langkah yang diperlukan untuk memasang dan mengkonfigurasi Odoo untuk pengeluaran menggunakan sumber Git dan persekitaran maya Python pada sistem Ubuntu 18.04.
Bagaimana untuk memasang odoo 13 pada ubuntu 18.04
Dalam panduan ini, kami akan membimbing anda untuk memasang dan menggunakan Odoo 13 di dalam persekitaran maya Python di Ubuntu 18.04. Kami akan memuat turun Odoo dari repositori Github mereka dan menggunakan Nginx sebagai proksi terbalik.
Bagaimana untuk memasang odoo 11 pada ubuntu 16.04
Odoo adalah salah satu perisian perniagaan yang paling popular di dunia. Panduan ini merangkumi langkah-langkah yang diperlukan untuk memasang dan mengkonfigurasi Odoo menggunakan sumber Git dan persekitaran maya Python pada Ubuntu 16.04







