Android

Bagaimana untuk menggunakan odoo 11 pada ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

How to install Odoo 11 on Ubuntu 18.04

Isi kandungan:

Anonim

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.

Terdapat beberapa cara untuk memasang Odoo bergantung kepada kes penggunaan yang diperlukan. Cara paling mudah dan paling cepat untuk memasang Odoo adalah dengan menggunakan repositori APT rasmi mereka.

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.

Sebelum awak bermula

Masuk ke mesin Ubuntu anda 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 dan kumpulan dengan direktori rumah /opt/odoo yang akan menjalankan perkhidmatan Odoo.

sudo useradd -m -d /opt/odoo -U -r -s /bin/bash odoo Anda boleh menamakan pengguna apa sahaja yang anda suka, hanya pastikan anda membuat pengguna pasca pendaftaran dengan nama yang sama.

Pasang dan konfigurasi PostgreSQL

Pasang pakej PostgreSQL dari repositori lalai Ubuntu:

sudo apt install postgresql

Sebaik sahaja pemasangan selesai dibuat pengguna PostgreSQL dengan nama yang sama dengan pengguna sistem yang dibuat sebelumnya, dalam kes kami odoo :

sudo su - postgres -c "createuser -s odoo"

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 supaya kami dapat mengawal lebih banyak versi dan kemas kini.

Sebelum memulakan proses pemasangan, pastikan anda menukar kepada pengguna odoo .

sudo su - odoo

Untuk mengesahkan bahawa anda log masuk sebagai pengguna odoo anda boleh menggunakan arahan berikut:

whoami

Sekarang kita boleh mulakan dengan proses pemasangan. Pertama mengklonkan odoo dari repositori GitHub:

git clone https://www.github.com/odoo/odoo --depth 1 --branch 11.0 /opt/odoo/odoo11

  • Sekiranya anda ingin memasang versi Odoo yang berbeza, anda hanya perlu menukar nombor versi selepas --branch Anda boleh menamakan direktori yang anda suka, contohnya odoo11 anda boleh menggunakan nama domain anda.

Untuk mewujudkan persekitaran maya yang baru untuk menjalankan Odoo 11 contoh:

cd /opt/odoo python3 -m venv odoo11-venv

aktifkan alam sekitar dengan arahan berikut:

source odoo11-venv/bin/activate

dan pasang semua modul Python yang diperlukan dengan pip3:

pip3 install wheel pip3 install -r odoo11/requirements.txt

pip3 adalah alat untuk memasang dan menguruskan pakej Python.

Setelah pemasangan selesai menyahaktifkan persekitaran dan beralih kembali ke pengguna sudo anda menggunakan perintah berikut:

deactivate

exit

sudo mkdir /opt/odoo/odoo11-custom-addons sudo chown odoo: /opt/odoo/odoo11-custom-addons

Seterusnya, kita perlu membuat fail konfigurasi, kita boleh membuat yang baru dari awal atau salin fail konfigurasi yang disertakan:

sudo cp /opt/odoo/odoo11/debian/odoo.conf /etc/odoo11.conf

Buka fail dan editnya seperti berikut:

/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 Jangan lupa menukar my_admin_passwd ke sesuatu yang lebih selamat dan laraskan addons_path jika anda menggunakan modul tersuai.

Buat fail unit sistem

Untuk menjalankan odoo sebagai perkhidmatan kami akan membuat file unit odoo11.service dalam /etc/systemd/system/ directory dengan kandungan berikut:

/etc/systemd/system/odoo11.service

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

Beritahu sistem yang kami buat fail unit baru dan mulakan perkhidmatan Odoo dengan melaksanakan:

sudo systemctl daemon-reload sudo systemctl start odoo11

Anda boleh menyemak status perkhidmatan dengan arahan berikut:

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

dan jika tiada ralat, anda boleh mendayakan perkhidmatan Odoo untuk dimulakan secara automatik pada masa boot:

sudo systemctl enable odoo11

sudo journalctl -u odoo11

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

  • Anda mempunyai nama domain yang menunjuk ke IP pelayan awam anda. Dalam tutorial ini, kami akan menggunakan example.com . Anda mempunyai Nginx dipasang dengan mengikuti arahan ini. Anda mempunyai sijil SSL yang dipasang untuk domain anda. Anda boleh memasang percuma Sijil SSL Encrypt dengan mengikuti arahan ini.

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 memberi trafik kepada

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 diskret ke perkhidmatan dalaman kami (Odoo) supaya lalu lintas antara Nginx dan Odoo tidak akan disulitkan (HTTP).

Kita perlu memberitahu Odoo bahawa kita akan menggunakan proksi, buka fail konfigurasi dan tambah baris berikut:

/etc/odoo11.conf

proxy_mode = True

Mulakan semula perkhidmatan Odoo untuk perubahan yang berlaku:

sudo systemctl restart odoo11

Menggunakan Nginx sebagai proksi memberi kita beberapa faedah. Dalam contoh ini kita akan mengkonfigurasi Penamatan SSL, HTTP ke pengalihan HTTPS, WWW ke pengalihan bukan WWW, cache fail statik dan membolehkan pemampatan 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 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

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, jadi jika anda ingin melumpuhkan akses langsung kepada contoh Odoo anda, anda sama ada boleh menyekat pelabuhan 8069 untuk semua muka umum atau memaksa Odoo untuk mendengar hanya pada antara muka tempatan.

Dalam panduan ini kita akan memaksa Odoo untuk mendengar hanya pada 127.0.0.1 , buka konfigurasi Odoo tambahkan dua baris berikut pada akhir fail:

/etc/odoo11.conf

xmlrpc_interface = 127.0.0.1 netrpc_interface = 127.0.0.1

Simpan fail konfigurasi dan mulakan semula pelayan Odoo untuk melaksanakan perubahan:

sudo systemctl restart odoo

Dayakan 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 diijinkan = 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/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

Mulakan semula perkhidmatan Odoo untuk perubahan yang berlaku:

sudo systemctl restart odoo11

Selebihnya sumber sistem akan digunakan oleh perkhidmatan lain yang dijalankan di mesin kami. 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

Itu sahaja! Tutorial ini berjalan anda melalui pemasangan Odoo 11 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 ssl