نرم افزار Odoo یک مجموعهی مبتنی بر وب از نرمافزارهای مدیریت کسبوکار متنباز است. این پلتفرم شامل راهکارهای مختلف تجاری مانند مدیریت ارتباط با مشتری (CRM)، مدیریت انبار، حسابداری، صدور صورتحساب، سازندهی وبسایت و … است. نسخهی کامیونیتی Odoo برای اوبونتو رایگان است، اما در صورت نیاز میتوانید آن را به نسخهی تجاری (Enterprise Edition) ارتقا دهید. در این آموزش، نحوهی نصب Odoo روی سیستمعامل اوبونتو در یک محیط مجازی پایتون توضیح داده شده است.
پیشنیازها
پیش از شروع فرایند نصب Odoo 18 بر روی Ubuntu 24.04، به موارد زیر نیاز خواهید داشت:
- یک سرور مجازی لینوکس با توزیع لینوکس اوبونتو (در این آموزش از اوبونتو 24.04 استفاده شده است).
- یک حساب کاربری با دسترسی روت (مدیر سیستم).
- نصب بودن گیت.
- نصب بودن Pip برای پایتون 3.
- نصب بودن NodeJS.
اگر قصد دارید این سیستم را روی یک سرور مجازی ایران یا حتی یک سرور اختصاصی ایران راهاندازی کنید، این مراحل به همان صورت قابل اجرا هستند. تنها کافیست سیستمعامل Ubuntu 24.04 روی سرور شما نصب باشد.
نصب Odoo روی Ubuntu
در این بخش نحوه نصب نرم افزار odoo روی یک محیط مجازی پایتون را بررسی میکنیم تا یک سیستم ایزوله بسازد و امکان آزمایش نسخههای مختلف روی همان رایانه را فراهم کند. پیش از شروع، اطمینان حاصل کنید که Git، pip و NodeJS روی سیستم نصب شده باشند، سپس مراحل زیر را دنبال کنید.
در زمان نگارش این مقاله، جدیدترین نسخهٔ منتشرشده Odoo 18 است؛ بنابراین در مثالها از همین نسخه استفاده میکنیم.
بهروزرسانی مخازن
ترمینال را باز کرده و برای اطمینان از دریافت جدیدترین بستهها، مخازن را بهروزرسانی کنید:
sudo apt update
صبر کنید تا فرایند بهروزرسانی تمام شود.
نصب وابستگیهای Odoo
Odoo یک نرمافزار مبتنی بر Python است. بنابراین باید Python و برخی وابستگیهای اضافی را روی سرور نصب کنید. میتوانید تمام وابستگیها را با دستور زیر نصب کنید:
sudo apt install -y build-essential wget python3-dev python3-venv python3-wheel \ libfreetype6-dev libxml2-dev libzip-dev libldap2-dev libsasl2-dev \ python3-setuptools node-less libjpeg-dev zlib1g-dev libpq-dev libxslt1-dev \ libldap2-dev libtiff5-dev libjpeg8-dev libopenjp2-7-dev liblcms2-dev \ libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev
این دستور تمام پیشنیازهای لازم برای نصب Odoo را دریافت و نصب میکند.
در مرحلهی بعد، پکیج منیجر NPM را نصب کنید:
apt-get install -y npm
سپس، با استفاده از NPM وابستگیهای دیگر را نصب کنید:
npm install -g less less-plugin-clean-css
در ادامه پکیج node-less را نصب کنید:
apt-get install -y node-less
اکنون بستهٔ wkhtmltopdf را دانلود و نصب نمایید:
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb dpkg -i wkhtmltox_0.12.6-1.bionic_amd64.deb apt install -f
نصب و پیکربندی PostgreSQL
Odoo از PostgreSQL بهعنوان پایگاه داده استفاده میکند. برای نصب آن از دستور زیر استفاده کنید:
sudo apt install postgresql -y
پس از نصب موفق، با دستور زیر وضعیت PostgreSQL را بررسی کنید:
systemctl status postgresql
خروجی نمونه:
postgresql.service - PostgreSQL RDBMS Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled) Active: active (exited) since Sat 2025-05-12 04:13:39 UTC; 9s ago Process: 16418 ExecStart=/bin/true (code=exited, status=0/SUCCESS) Main PID: 16418 (code=exited, status=0/SUCCESS) CPU: 1ms May 12 04:13:39 ubuntu24 systemd[1]: Starting PostgreSQL RDBMS... May 12 04:13:39 ubuntu24 systemd[1]: Finished PostgreSQL RDBMS.
اکنون یک کاربر برای Odoo ایجاد کنید:
useradd -m -U -r -d /opt/odoo18 -s /bin/bash odoo18
همچنین کاربر متناظر را برای PostgreSQL نیز بسازید:
su - postgres -c "createuser -s odoo18"
نصب و پیکربندی Odoo
ابتدا با کاربر Odoo وارد شوید و نسخه 18 را دانلود کنید:
su - odoo18 git clone https://www.github.com/odoo/odoo --depth 1 --branch 18.0 /opt/odoo18/odoo18
در ادامه، یک محیط مجازی پایتون برای Odoo ایجاد کنید:
cd /opt/odoo18 python3 -m venv odoo18-venv
محیط مجازی را فعال کنید:
source odoo18-venv/bin/activate
سپس pip را به آخرین نسخه ارتقا دهید:
pip install --upgrade pip
پکیج wheel را نصب کنید:
pip3 install wheel
سایر وابستگیهای پایتون را نصب کنید:
pip3 install -r odoo18/requirements.txt
در پایان، محیط مجازی را غیرفعال کرده و از حساب odoo خارج شوید:
deactivate exit
اکنون دایرکتوری مخصوص افزونههای Odoo را بسازید و مالکیت آن را تنظیم کنید:
mkdir /opt/odoo18/odoo18-custom-addons chown -R odoo18:odoo18 /opt/odoo18/odoo18-custom-addons
سپس دایرکتوری لاگ Odoo را بسازید و دسترسی مناسب بدهید:
mkdir -p /var/log/odoo18 touch /var/log/odoo18/odoo18.log chown -R odoo18:odoo18 /var/log/odoo18
اکنون فایل پیکربندی Odoo را ایجاد کنید:
nano /etc/odoo18.conf
محتوای زیر را در آن وارد کنید:
[options] admin_passwd = master-password db_host = False db_port = False db_user = odoo18 db_password = False xmlrpc_port = 8069 logfile = /var/log/odoo18/odoo18.log addons_path = /opt/odoo18/odoo18/addons,/opt/odoo18/odoo18-custom-addons
پس از طی تمام مراحل این آموزش، حالا میتوانید Odoo را در محیط واقعی اجرا و به نیازهای سازمان یا فروشگاه خود پاسخ دهید. اگر در مرحله انتخاب بستر هستید، توصیه میشود Odoo را روی یک سرور مجازی ایران نصب کنید تا بالاترین سرعت بارگذاری برای کاربران داخلی را داشته باشید. اما اگر با شرکتها یا مشتریان خارج از کشور در تعامل هستید، استقرار روی یک سرور مجازی خارج یا سرور مجازی آلمان میتواند تجربهای سریع و بدون محدودیت فراهم کند.
ایجاد فایل Systemd برای Odoo
برای مدیریت Odoo بهصورت سرویس، یک فایل systemd ایجاد کنید:
nano /etc/systemd/system/odoo18.service
محتوای زیر را وارد نمایید:
[Unit] Description=odoo18 After=network.target postgresql@14-main.service [Service] Type=simple SyslogIdentifier=odoo18 PermissionsStartOnly=true User=odoo18 Group=odoo18 ExecStart=/opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo18/odoo-bin -c /etc/odoo18.conf StandardOutput=journal+console [Install] WantedBy=multi-user.target
فایل را ذخیره و ببندید. سپس daemon مربوط به systemd را بازخوانی کنید:
systemctl daemon-reload
اکنون سرویس Odoo را اجرا و فعال کنید:
systemctl start odoo18 systemctl enable odoo18
برای بررسی وضعیت سرویس Odoo از دستور زیر استفاده کنید:
systemctl status odoo18
خروجی نمونه:
odoo18.service - odoo18 Loaded: loaded (/etc/systemd/system/odoo18.service; disabled; preset: enabled) Active: active (running) since Mon 2025-05-12 05:32:01 UTC; 3s ago Main PID: 32045 (python3) Tasks: 4 (limit: 4609) Memory: 90.4M (peak: 90.8M) CPU: 1.575s CGroup: /system.slice/odoo18.service └─32045 /opt/odoo18/odoo18-venv/bin/python3 /opt/odoo18/odoo18/odoo-bin -c /etc/odoo18.conf May 12 05:32:01 ubuntu systemd[1]: Started odoo18.service - odoo18.
تست و دسترسی به رابط وب Odoo
پس از نصب و پیکربندی Odoo، میتوانید سرویس آن را راهاندازی کرده و از طریق مرورگر تست کنید. برای این کار، مراحل زیر را دنبال نمایید:
برای اینکه Odoo هنگام روشن شدن سیستم بهطور خودکار اجرا شود، دستور زیر را وارد کنید:
sudo systemctl enable –now odoo
جهت اطمینان از اینکه سرویس با موفقیت اجرا شده، وضعیت آن را بررسی کنید:
sudo systemctl status odoo
در صورت اجرای صحیح، وضعیت سرویس باید به صورت active (running) نمایش داده شود.
اگر نیاز به بررسی خطاها یا گزارشهای سرویس داشتید، میتوانید از دستور زیر استفاده کنید. این دستور تمام لاگهای مرتبط با اجرای Odoo را نمایش میدهد:
sudo journalctl -u odoo
در این مرحله، Odoo شروع به شنود (Listen) روی پورت 8069 کرده است. اکنون میتوانید از طریق مرورگر و با استفاده از آدرس زیر به رابط کاربری آن دسترسی پیدا کنید:
http://your-server-ip:8069
در این صفحه، رمز عبور اصلی (Master Password) و مشخصات پایگاه داده Odoo را وارد کرده و روی گزینه Create Database کلیک کنید. سپس به صفحه ورود نسخه 18 Odoo هدایت میشوید.
در این مرحله، نام کاربری و رمز عبور مدیر سیستم را وارد کرده و روی Log in کلیک کنید. پس از ورود موفق، داشبورد Odoo برای شما نمایش داده خواهد شد.
فعالسازی حالت چندپردازشی (اختیاری)
بهطور پیشفرض، Odoo در حالت Multithreading اجرا میشود، که برای تست یا استفاده سبک مناسب است. اما برای استقرار در محیطهای واقعی یا پرکاربر، بهتر است Odoo را به حالت چندپردازشی یا Multiprocessing تغییر دهید تا منابع سختافزاری سیستم به شکل بهینهتری استفاده شوند و پایداری سیستم افزایش یابد.
محاسبه تعداد پردازشگرها (Workers)
برای محاسبه تعداد مناسب workerها، از فرمول زیر استفاده میشود:
حداکثر تعداد worker = (تعداد هستههای پردازنده × ۲) + ۱
مثلاً اگر سرور شما 4 هسته پردازنده داشته باشد:
(4 × 2) + 1 = 9 worker
توصیه میشود برای هر 6 کاربر همزمان یک worker در نظر بگیرید. بنابراین اگر شما 24 کاربر همزمان دارید، به دستکم 4 worker نیاز دارید. همچنین برای اجرای عملیات زمانبندیشده CronJob، یک worker جداگانه در نظر گرفته میشود.
پس برای مثال بالا (4 پردازنده و 24 کاربر همزمان)، حداقل به 6 worker (شامل 5 معمولی و 1 کرون جاب) نیاز دارید.
محاسبه میزان رم
میزان حافظه رم مورد نیاز بسته به نوع workerها محاسبه میشود:
رم کل = تعداد worker × ((درصد worker سبک × رم سبک) + (درصد worker سنگین × رم سنگین))
اگر 80٪ از workerها سبک (هرکدام 100MB رم) و 20٪ سنگین (هرکدام 1GB رم) باشند و 7 worker داشته باشیم، محاسبه به شکل زیر خواهد بود:
رم کل = 7 × ((100 × 0.8) + (1024 × 0.2)) = 1993.6MB ≈ 2GB
افزودن تنظیمات به فایل پیکربندی
مقادیر زیر را به فایل /etc/odoo.conf اضافه کنید:
[options] limit_memory_hard = 2684354560 limit_memory_soft = 2147483648 limit_request = 8192 limit_time_cpu = 600 limit_time_real = 1200 max_cron_threads = 1 workers = 6
مقادیر فوق شامل حدود 2.5 گیگابایت حافظه سخت (hard limit) و 2 گیگابایت حافظه نرم (soft limit) هستند.
برای اینکه تنظیمات جدید اعمال شوند، سرویس Odoo را مجددا راهاندازی کنید:
sudo systemctl restart odoo
با این کار، Odoo در حالت بهینهتر و پایدارتر اجرا میشود، در حالی که سایر منابع سیستم برای پایگاه داده PostgreSQL و سرویسهای دیگر آزاد باقی میمانند.
نتیجهگیری
Odoo یک پلتفرم قدرتمند برای مدیریت بخشهای مختلف کسبوکار شماست؛ از مدیریت ارتباط با مشتری (CRM) گرفته تا حسابداری، مدیریت پروژه و بسیاری موارد دیگر. با دنبال کردن مراحل این مطلب، میتوانید با موفقیت نسخه 18 نرم افزار Odoo را روی سرور لینوکس اوبونتو 24.04 خود راهاندازی کنید.