???? إعداد Odoo على Ubuntu مع تحسين PostgreSQL وربط Redis — دليل شامل
في هذا المقال، سنشرح خطوات إعداد Odoo ERP على سيرفر Ubuntu 22.04 مع:
- ✅ تفعيل Redis لتحسين الكاش
- ✅ ضبط PostgreSQL لتسريع الأداء
- ✅ مراقبة وتحليل الأداء باستخدام أدوات PostgreSQL
هذا الدليل موجه للمطورين ومديري الأنظمة الذين يرغبون بتثبيت Odoo بكفاءة.
???? المتطلبات الأساسية
- سيرفر Ubuntu 22.04 أو أعلى
- صلاحية
rootأوsudo - PostgreSQL 16
- Redis
- Odoo 17 (أو الإصدار الذي تستخدمه)
- Python 3.10+
????️ خطوات الإعداد التفصيلية
1. تثبيت Redis وPostgreSQL
sudo apt update && sudo apt install redis postgresql -y
2. إعداد PostgreSQL
إنشاء مستخدم وقاعدة بيانات:
sudo -u postgres createuser --interactive
sudo -u postgres createdb odoo
تعديل الإعدادات لرفع الأداء:
sudo nano /etc/postgresql/16/main/postgresql.conf
shared_buffers = 2GB
work_mem = 64MB
maintenance_work_mem = 512MB
effective_cache_size = 6GB
ثم أعد تشغيل PostgreSQL:
sudo systemctl restart postgresql
3. تثبيت وتكوين Odoo
إنشاء ملف التكوين:
sudo nano /etc/odoo/odoo.conf
مثال للإعدادات:
[options]
addons_path = /odoo/odoo/addons,/odoo/extra,/odoo/enterprise
data_dir = /home/odoo/.local/share/Odoo
logfile = /var/log/odoo/odoo-server.log
db_host = False
db_port = False
db_user = odoo
db_password = False
admin_passwd = YOUR_ADMIN_HASHED_PASSWORD
list_db = False
proxy_mode = True
http_enable = True
http_port = 8069
longpolling_port = 8072
xmlrpc_interface = 0.0.0.0
workers = 4
limit_memory_soft = 2684354560
limit_memory_hard = 3221225472
limit_time_cpu = 360
limit_time_real = 720
limit_request = 8192
max_cron_threads = 4
cache = redis
redis_host = 127.0.0.1
redis_port = 6379
log_level = warn
log_handler = :INFO
4. إعداد وحدة Systemd لـ Odoo
sudo nano /etc/systemd/system/odoo.service
[Unit]
Description=Odoo
After=network.target postgresql.service redis-server.service
[Service]
Type=simple
User=odoo
ExecStart=/odoo/odoo/odoo-bin -c /etc/odoo/odoo.conf
Restart=always
[Install]
WantedBy=multi-user.target
تفعيل الخدمة:
sudo systemctl daemon-reexec
sudo systemctl enable --now odoo
✅ فحص الإعدادات والأداء
1. حالة Odoo:
sudo systemctl status odoo
2. حالة Redis:
redis-cli ping
3. التحقق من HTTP:
curl http://localhost:8069
4. فحص الكاش:
redis-cli monitor
5. نشاط PostgreSQL:
sudo -u postgres psql -c "SELECT * FROM pg_stat_activity;"
6. تحليل الاستعلامات:
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
SELECT query, total_exec_time, calls
FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 5;
???? الأداء المتوقع
| المؤشر | القيمة التقريبية |
|---|---|
| استجابة الصفحة الرئيسية | 200 - 400 مللي ثانية |
| عدد المستخدمين المتزامنين | حتى 200 مستخدم |
| توفير في استهلاك المعالج | حتى 30% |
???? سكربت اختبار جاهز
أنشئ سكربت لفحص الحالة:
nano check-odoo-status.sh
#!/bin/bash
echo "Checking Odoo..."
systemctl is-active --quiet odoo && echo "✅ Odoo running" || echo "❌ Odoo not running"
echo "Checking Redis..."
redis-cli ping
echo "Checking PostgreSQL tuning..."
sudo -u postgres psql -c "SHOW shared_buffers;"
✍️ الخلاصة
- ✅ تم تفعيل Redis لتحسين الكاش.
- ✅ تم ضبط PostgreSQL لأداء أعلى.
- ✅ تم تجهيز أدوات مراقبة الأداء وتحليل الاستعلامات.
- ✅ أصبح Odoo جاهزًا للعمل بكفاءة في بيئة إنتاجية.