Odoo 19 ni Linuxʼga oʻrnatish: toʻliq qoʻllanma
Odoo 19 ni Linuxga oʻrnatish uch usulda: rasmiy repozitoriy, tayyor .deb/.rpm paket yoki sourcedan. PostgreSQL, worker va tipik xatolar bilan.
Oldingi maqolada Windowsʼga oʻrnatishni koʻrib chiqdik va u yerda bitta ogohlantirish bor edi: Windows production uchun mos emas.
Linux — bu Odoo haqiqatan ishlashi uchun yaratilgan muhit. Barcha jonli serverlar shu yerda turadi.
Bu maqolada uchta usulni koʻrib chiqamiz, keyin esa production uchun eng muhim sozlamalarni. Barcha buyruqlar Odoo 19 uchun va rasmiy hujjatlardan olingan.
Qaysi usulni tanlash kerak
1. Repozitoriy orqali (apt / dnf)
Kimga: tez ishga tushirish kerak boʻlganlarga. Faqat Community.
Yangilanish: apt upgrade bilan avtomatik yangilanadi.
2. Tayyor paket (.deb / .rpm)
Kimga: Enterprise kerak boʻlganlarga yoki aniq versiya kerak boʻlsa.
Yangilanish: qoʻlda boʻladi.
3. Manbadan (git)
Kimga: dasturchilarga, custom modul yozadiganlarga.
Yangilanish: git pull bilan.
Agar modul yozmoqchi boʻlsangiz — faqat uchinchi usul(tavsiya etiladi). Qolgan ikkitasi tayyor tizimni ishga tushiradi.
Tayyorgarlik: PostgreSQL
Uchala usul ham PostgreSQL talab qiladi. Shuning uchun undan boshlaymiz.
Odoo 19 uchun minimal versiya — PostgreSQL 13. Bu Odoo 19 da oʻzgargan: avval 12 yetarli edi.
Ubuntu / Debian:
sudo apt install postgresql -yFedora / CentOS / RHEL:
Avval sudo buyrugʻi mavjud ekanligiga va toʻgʻri sozlanganiga ishonch hosil qiling, keyin:
sudo dnf install -y postgresql-serversudo postgresql-setup --initdb --unit postgresqlsudo systemctl enable postgresqlsudo systemctl start postgresql1-usul. Odoo repozitoriysi orqali
Eng tez yoʻl. Odoo S.A. oʻz repozitoriysini taqdim etadi — faqat Community versiyasi uchun.
Ubuntu / Debian:
wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpgecho 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/19.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.listsudo apt-get update && sudo apt-get install odooKeyinchalik yangilash uchun oddiy apt-get upgrade buyrugʻi yetarli.
Fedora:
sudo dnf config-manager --add-repo=https://nightly.odoo.com/19.0/nightly/rpm/odoo.reposudo dnf install -y odoosudo systemctl enable odoosudo systemctl start odooMuhim: Enterprise uchun nightly repozitoriy mavjud emas. Agar Enterprise kerak boʻlsa, 2-usulga oʻting.
2-usul. Tayyor paket (.deb yoki .rpm)
Bu usul Community va Enterprise uchun ishlaydi.
Paketni Odoo yuklab olish sahifasidan oling: odoo.com/page/download
Enterprise paketini yuklab olish uchun toʻlovchi on-premise mijoz yoki hamkor sifatida tizimga kirgan boʻlishingiz kerak.
Ubuntu
Odoo 19 ning****deb paketi hozircha Ubuntu Noble (24.04 LTS) ni qoʻllab-quvvatlaydi.
Yuklab olgandan keyin root sifatida bajaring:
apt updateapt install <paket_fayli_manzili>Bu buyruq uchta ishni birdan qiladi: Odooʻni xizmat (service) sifatida oʻrnatadi, kerakli PostgreSQL foydalanuvchisini yaratadi va serverni avtomatik ishga tushiradi.
Fedora
Odoo 19 ning****rpm paketi Fedora 42 ni qoʻllab-quvvatlaydi.
sudo dnf localinstall odoo_19.0.latest.noarch.rpmsudo systemctl enable odoosudo systemctl start odooBrauzerda oching: http://localhost:8069
3-usul. Manba(Source)dan oʻrnatish (dasturchilar uchun)
Agar modul yozmoqchi boʻlsangiz yoki kodni oʻzgartirmoqchi boʻlsangiz — bu yagona toʻgʻri yoʻl.
1-qadam. Python
Odoo 19 Python 3.10 yoki undan yuqori versiyani talab qiladi.
Paket menejeri orqali oʻrnating va tekshiring:
python3 --versionpip3 --versionUbuntu 24.04 da Python 3.12 oldindan oʻrnatilgan — qoʻshimcha ish shart emas.
2-qadam. PostgreSQL foydalanuvchisi
Odoo postgres foydalanuvchisi bilan ulanishni **taqiqlaydi, yani postgres userni ishlata olmaysiz.**Yangi foydalanuvchi yaratish shart:
sudo -u postgres createuser -d -R -S $USERcreatedb $USERBu yerda bitta qulaylik bor: PostgreSQL foydalanuvchisi Unix login bilan bir xil nomda boʻlgani uchun, bazaga parolsiz ulanish mumkin. Lokal ishlab chiqish uchun bu juda qulay.
3-qadam. Tizim kutubxonalari
Baʼzi Python paketlari kompilyatsiya qilinadi, shuning uchun tizim kutubxonalari kerak:
sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev4-qadam. Kodni yuklab olish
git clone --branch 19.0 --single-branch https://github.com/odoo/odoo.gitEnterprise ham kerak boʻlsa:
git clone --branch 19.0 --single-branch https://github.com/odoo/enterprise.gitBu yerni tushunib olish muhim. Enterprise repozitoriysi toʻliq Odoo kodini oʻz ichiga olmaydi — u faqat qoʻshimcha modullar toʻplami. Server kodi Communityʼda. Enterpriseʼni ishlatish degani — Community serverini ishga tushirib, addons-path ga Enterprise papkasini qoʻshish degani. Shuning uchun Enterprise uchun ikkala repozitoriy ham kerak.
5-qadam. Python kutubxonalari
Odoo papkasiga oʻting va oʻrnating:
cd /CommunityPathpip install -r requirements.txtMaslahat: bir nechta Odoo versiyasi bilan ishlasangiz yoki tizim Pythonʼini toza saqlamoqchi boʻlsangiz, virtualenv orqali alohida muhit yarating. Majburiy emas, lekin versiyalar aralashib ketishining oldini oladi.
Bir eslatma: requirements.txt dagi paket versiyalari Odoo chiqqan paytdagi Debian/Ubuntu LTS versiyalariga mos tanlangan. Shuning uchun ularni oʻzboshimchalik bilan yangilash tavsiya etilmaydi.
6-qadam. wkhtmltopdf
Bu paket pip orqali oʻrnatilmaydi. Qoʻlda oʻrnatish kerak va aynan 0.12.6 versiyasi — faqat shu versiya kolontitullarni (header, footer) qoʻllab-quvvatlaydi.
Yuklab olish: github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3
Agar buni oʻtkazib yuborsangiz, Odoo ishlaydi — lekin PDF hisobot chiqarmoqchi boʻlganingizda xatolik beradi.
7-qadam. rtlcss (ixtiyoriy)
Faqat arab yoki ibroniy tillari kerak boʻlsa. Oʻzbek va rus tili uchun kerak emas.
sudo npm install -g rtlcss8-qadam. Ishga tushirish
cd /CommunityPathpython3 odoo-bin --addons-path=addons -d mydbEnterprise bilan — Enterprise yoʻli birinchi turishi shart, aks holda modullar notoʻgʻri yuklanadi:
python3 odoo-bin --addons-path=../enterprise,addons -d mydbTerminalda shu qator chiqishini kuting:
odoo.modules.loading: Modules loaded.Brauzerda oching: http://localhost:8069
Kirish: email admin, parol admin.
Diqqat: bu Odoo interfeysiga kirish hisobi. U PostgreSQL foydalanuvchisidan butunlay boshqa narsa.
Konfiguratsiya fayli
Har safar uzun buyruq yozish noqulay. Sozlamalarni faylga yozing — /etc/odoo/odoo.conf:
[options]db_host = localhostdb_port = 5432db_user = odoodb_password = odooaddons_path = /opt/odoo/odoo/addons,/opt/odoo/custom-addonslogfile = /var/log/odoo/odoo.logIshga tushirish:
python3 odoo-bin -c /etc/odoo/odoo.conf -d mydbPaket orqali oʻrnatilgan boʻlsa, bu fayl allaqachon mavjud boʻladi.
Production uchun: eng muhim uchta narsa
Shu yergacha boʻlgan qismlar Odooʻni ishga tushiradi. Lekin real kompaniya ishlaydigan server uchun yana uchta narsa kerak.
1. Workers — koʻp jarayonli rejim
Standart holatda Odoo bitta jarayonda ishlaydi va Pythonʼning GIL cheklovi sababli protsessorning bir qismidan foydalanadi. Multi-processing rejimi esa ishni jarayonlar orasida taqsimlaydi.
U —workers parametri nolga teng boʻlmagan songa oʻrnatilganda yoqiladi.
Hisoblash qoidalari (rasmiy hujjatdan):
- Workers soni = (CPU soni × 2) + 1
- 1 worker ≈ 6 bir vaqtda ishlovchi foydalanuvchi
- Cron uchun alohida worker kerak
Operativ xotira. Hisob soʻrovlarning 20% ogʻir, 80% yengil degan taxminga asoslanadi. Ogʻir worker ≈ 1 GB, yengil worker ≈ 150 MB.
Kerakli RAM = workers × ((0.8 × 150MB) + (0.2 × 1024MB))Amaliy misol (rasmiy hujjatdagi namuna). Server: 4 CPU, 8 thread. 60 bir vaqtda ishlovchi foydalanuvchi.
- 60 ÷ 6 = 10 — nazariy kerakli workers soni
- (4 × 2) + 1 = 9 — nazariy maksimal workers soni
- Tanlov: 8 worker + 1 cron
- RAM = 9 × ((0.8×150) + (0.2×1024)) ≈ 3 GB
Konfiguratsiya fayliga:
[options]limit_memory_hard = 1677721600limit_memory_soft = 629145600limit_request = 8192limit_time_cpu = 600limit_time_real = 1200max_cron_threads = 1workers = 8Eslatma: multi-processing rejimi Linux serverlari uchun chuqur moslashtirilgan va Windowsʼda ishlamaydi. Bu Linuxʼni tanlashning yana bir sababi.
2. Reverse proxy (nginx)
Odooʻni toʻgʻridan-toʻgʻri 8069 portda internetga chiqarish kerak emas. Oldiga nginx qoʻyiladi — u HTTPS, statik fayllar va yuklamani taqsimlash bilan shugʻullanadi.
Ikkita narsani unutmang:
LiveChat uchun alohida yoʻnaltirish. Multi-processing rejimida LiveChat uchun alohida worker ishga tushadi va u —gevent-port da tinglaydi. Odatiy holda HTTP soʻrovlar oddiy workerlarga boradi. Shuning uchun proxyʼda /websocket/ bilan boshlanadigan soʻrovlarni LiveChat workerʼiga yoʻnaltirish shart.
Proxy rejimi. Odooʻni —proxy-mode bilan ishga tushiring — shunda u proxyʼniki emas, haqiqiy mijoz maʼlumotlarini (hostname, scheme, IP) ishlatadi.
3. systemd xizmati
Server qayta ishga tushganda Odoo ham avtomatik koʻtarilishi kerak. Paket orqali oʻrnatilgan boʻlsa, bu allaqachon sozlangan:
sudo systemctl enable odoosudo systemctl start odoosudo systemctl status odooManbadan oʻrnatgan boʻlsangiz, /etc/systemd/system/odoo.service faylini qoʻlda yaratish kerak boʻladi.
Eng koʻp uchraydigan xatolar
FATAL: role “odoo” does not exist
PostgreSQL foydalanuvchisi yaratilmagan yoki konfiguratsiyada boshqa nom koʻrsatilgan.
could not connect to server: Connection refused
PostgreSQL ishlamayapti: sudo systemctl status postgresql
pip install -r requirements.txt kompilyatsiya xatosi
Tizim kutubxonalari oʻrnatilmagan. libldap2-dev libpq-dev libsasl2-dev ni oʻrnating.
externally-managed-environment xatosi (Ubuntu 23.04+)
Yangi Ubuntu versiyalari tizim Pythonʼiga pip bilan oʻrnatishni bloklaydi. Yechim — virtualenv ishlatish. Bu aslida toʻgʻriroq yoʻl ham.
PDF hisobot chiqmaydi yoki kolontitulsiz
wkhtmltopdf oʻrnatilmagan yoki notoʻgʻri versiya. Aynan 0.12.6 kerak.
**Port band:**Address already in use
Boshqa Odoo nusxasi ishlab turibdi yoki port egallangan: —http-port=8070
Sayt sekin ishlaydi, foydalanuvchilar kutadi
Workers sozlanmagan. Standart bitta jarayonli rejim 5–10 foydalanuvchidan koʻpini koʻtarmaydi.
Qisqa xulosa
Linuxʼda Odoo oʻrnatish murakkab emas — murakkablik toʻgʻri usulni tanlashda.
- Tezda koʻrib chiqish kerakmi → repozitoriy
- Enterprise kerakmi → paket
- Modul yozasizmi → manbadan
- Real kompaniya ishlaydimi → manbadan yoki paket + workers + nginx + systemd
Oxirgi qatorni eʼtiborsiz qoldirmang. Odooʻni oʻrnatish — bu 20 daqiqalik ish. Uni production uchun toʻgʻri sozlash — bu alohida mavzu va u serverning qancha foydalanuvchi koʻtarishini belgilaydi.
Manbalar
- Packaged installers — Odoo 19.0 documentation www.odoo.com
- Source install — Odoo 19.0 documentation www.odoo.com
- Deploy — Odoo 19.0 documentation www.odoo.com