نرم افزار Odoo چیست؟ راهنمای کامل نصب روی سرور لینوکس

نرم افزار odoo

آنچه در مقاله می‌خوانید

نرم افزار Odoo یک مجموعه‌ی مبتنی بر وب از نرم‌افزارهای مدیریت کسب‌وکار متن‌باز است. این پلتفرم شامل راهکارهای مختلف تجاری مانند مدیریت ارتباط با مشتری (CRM)، مدیریت انبار، حسابداری، صدور صورت‌حساب، سازنده‌ی وب‌سایت و … است. نسخه‌ی کامیونیتی Odoo برای اوبونتو رایگان است، اما در صورت نیاز می‌توانید آن را به نسخه‌ی تجاری (Enterprise Edition) ارتقا دهید. در این آموزش، نحوه‌ی نصب Odoo روی سیستم‌عامل اوبونتو در یک محیط مجازی پایتون توضیح داده شده است.

پیش‌نیازها

پیش از شروع فرایند نصب Odoo 18 بر روی Ubuntu 24.04، به موارد زیر نیاز خواهید داشت:

اگر قصد دارید این سیستم را روی یک سرور مجازی ایران یا حتی یک سرور اختصاصی ایران راه‌اندازی کنید، این مراحل به همان صورت قابل اجرا هستند. تنها کافی‌ست سیستم‌عامل 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

اگر نیاز به بررسی خطاها یا گزارش‌های سرویس داشتید، می‌توانید از دستور زیر استفاده کنید. این دستور تمام لاگ‌های مرتبط با اجرای Odoo را نمایش می‌دهد:

sudo journalctl -u odoo

در این مرحله، Odoo شروع به شنود (Listen) روی پورت 8069 کرده است. اکنون می‌توانید از طریق مرورگر و با استفاده از آدرس زیر به رابط کاربری آن دسترسی پیدا کنید:

http://your-server-ip:8069

نرم افزار odoo

در این صفحه، رمز عبور اصلی (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 خود راه‌اندازی کنید.

5/5 - (1 امتیاز)
دیدن نظرات
small

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

10 + 10 =

عضویت در خبرنامه مبین هاست
مطالب کدام دسته‌بندی‌ها برای شما جذاب‌تر است؟

آنچه در مقاله می‌خوانید

مقالات مرتبط
آموزش لینوکس
آموزش سیستم عامل

آموزش لینوکس؛ یادگیری مفاهیم پایه به زبان ساده

لینوکس (Linux) یکی از محبوب‌ترین و قدرتمندترین سیستم‌عامل‌های متن‌باز (Open Source) جهان است که در قلب سیستم عامل بسیاری از سرورها، ابررایانه‌ها و حتی گوشی‌های

خدمات مبین هاست