Ollama: تثبيت Ollama وإعداد البيئة
تثبيت Ollama يشبه إعطاء حاسوبك دماغًا محليًا — أمر واحد، جميع المنصات، جاهز للاستخدام فورًا.
⚠️ ملاحظة: ضبط
OLLAMA_HOST=0.0.0.0:11434 يكشف خدمة Ollama على جميع واجهات الشبكة، مما يعني أن أي شخص على نفس الشبكة يمكنه استدعاء نموذج الذكاء الاصطناعي الخاص بك. هذا مناسب للوصول من الشبكة المحلية في بيئة التطوير، لكنه يشكل مخاطر أمنية خطيرة إذا كان لديك عنوان IP عام أو لم تُعد جدار حماية. في الإنتاج، أضف دائمًا المصادقة عبر وكيل عكسي Nginx.
📋 المتطلبات المسبقة: يجب أن تتقن ما يلي أولًا
1. ماذا ستتعلم
- طرق التثبيت بنقرة واحدة على ثلاث منصات
- متطلبات hardware النظام وفحص التوافق
- بدء الخدمة وإعداد المنفذ
- مسارات مخصصة عبر المتغيرات البيئية
- حل مشاكل التثبيت الشائعة
2. قصة حقيقية من مؤسس SaaS
(1) المشكلة: كابوس إعداد البيئة
أسست أليس منصة التجارة الإلكترونية GlobalShop وكانت بحاجة لنشر خدمة عملاء مدعومة بالذكاء الاصطناعي على خوادم Linux الخاصة بالشركة وحاسوب Mac الخاص بها. جرّبت llama.cpp — تجميع CUDA، إعداد البيئات، حل تعارضات التبعيات — قضت يومين كاملين. الانتقال لجهاز آخر يعني البدء من الصفر.
(2) الحل: أمر واحد يفعل كل شيء
يُغلف Ollama التجميع والتبعيات وإدارة النماذج معًا. تحتاج أليس أمرًا واحدًا فقط للتثبيت، مُنجزةً النشر عبر المنصات في عشر دقائق.
BASH
# macOS / Linux: تثبيت بسطر واحد
curl -fsSL https://ollama.com/install.sh | sh
# التحقق من التثبيت
ollama --version
# ollama version is 0.5.x
3. متطلبات النظام والتوافق
(1) الحد الأدنى والإعدادات الموصى بها
| المكوّن | الحد الأدنى | الموصى به |
|---|---|---|
| المعالج | 4 أنوية x86_64 / ARM64 | 8 أنوية+ |
| الذاكرة | 8 غيغابايت (نموذج 3B) | 32 غيغابايت (نموذج 8B+) |
| بطاقة الرسوميات | لا شيء (استنتاج على CPU) | NVIDIA 8GB+ VRAM |
| القرص | 10 غيغابايت مساحة حرة | 50 غيغابايت+ SSD |
| نظام التشغيل | macOS 13+ / Ubuntu 20.04+ / Windows 10+ | أحدث إصدار LTS |
(2) مصفوفة دعم تسريع GPU
| بائع GPU | المنصة | طريقة الدعم | الكشف التلقائي |
|---|---|---|---|
| NVIDIA | Linux / Windows WSL2 | CUDA | ✅ تلقائي |
| AMD | Linux | ROCm | ✅ تلقائي |
| Apple | macOS | Metal | ✅ تلقائي |
| Intel | Linux | SYCL | ⚠️ تجريبي |
💡 نصيحة: يكتشف Ollama بطاقات GPU تلقائيًا عند البدء. لا حاجة لإعداد مسار المشغلات يدويًا — فقط ثبّت CUDA/ROCm وستكون جاهزًا.
▶ مثال 1: فحص توافق النظام (Linux)
BASH
# فحص معمارية المعالج
uname -m
# Expected: x86_64 or aarch64
# فحص الذاكرة المتاحة بالغيغابايت
free -g | awk '/^Mem:/{print $2}'
# فحص بطاقة NVIDIA GPU
nvidia-smi --query-gpu=name,memory.total --format=csv
# فحص مساحة القرص
df -h / | awk 'NR==2{print $4}'
الإخراج:
TEXT
# تم تنفيذ الأمر بنجاح
4. طرق التثبيت على ثلاث منصات
(1) التثبيت على macOS
flowchart LR
A[Download DMG] --> B[Drag to Applications]
B --> C[Launch Ollama]
C --> D[Auto-start Server]
D --> E[Verify: ollama --version]
| الطريقة | الأمر | ملاحظات |
|---|---|---|
| المثبّت الرسمي | تنزيل DMG من ollama.com | موصى به، يتضمن قائمة واجهة رسومية |
| Homebrew | brew install ollama | لمحبي سطر الأوامر |
| بدء يدوي | ollama serve | بدء الخدمة بعد التثبيت |
▶ مثال 2: تثبيت كامل على macOS
BASH
# الخيار أ: تثبيت عبر Homebrew
brew install ollama
# بدء الخادم
ollama serve
# الخيار ب: التحقق من تشغيل تطبيق الواجهة الرسومية
ps aux | grep ollama
# اختبار سريع
ollama run llama3.2 "Say hello in one sentence"
الإخراج:
TEXT
I'm a helpful AI assistant running locally on your machine...
(2) التثبيت على Linux
| الطريقة | الأمر | حالة الاستخدام |
|---|---|---|
| السكربت الرسمي | curl -fsSL https://ollama.com/install.sh | sh | موصى به، يكتشف GPU تلقائيًا |
| تنزيل يدوي | تنزيل tar.gz من ollama.com | البيئات بدون اتصال |
| systemd | يُسجَّل تلقائيًا كخدمة systemd | خوادم طويلة التشغيل |
▶ مثال 3: تثبيت على Linux وإدارة الخدمة
BASH
# التثبيت بالسكربت الرسمي (يكتشف GPU تلقائيًا)
curl -fsSL https://ollama.com/install.sh | sh
# فحص حالة خدمة systemd
sudo systemctl status ollama
# بدء/إيقاف/إعادة تشغيل الخدمة
sudo systemctl start ollama
sudo systemctl stop ollama
sudo systemctl restart ollama
# تفعيل البدء التلقائي عند الإقلاع
sudo systemctl enable ollama
الإخراج:
TEXT
# تم تنفيذ الأمر بنجاح
(3) التثبيت على Windows
| الطريقة | الأمر | ملاحظات |
|---|---|---|
| المثبّت الرسمي | تنزيل exe من ollama.com | موصى به، يتضمن أيقونة في شريط النظام |
| winget | winget install Ollama.Ollama | تثبيت من سطر الأوامر |
| WSL2 | التثبيت بطريقة Linux داخل WSL2 | يتطلب تمرير GPU |
▶ مثال 4: تثبيت على Windows والتحقق من GPU عبر WSL2
POWERSHELL
# التثبيت عبر winget
winget install Ollama.Ollama
# التحقق من التثبيت
ollama --version
# عند استخدام WSL2 مع بطاقة NVIDIA GPU، تحقق داخل WSL
wsl
nvidia-smi # Should show GPU inside WSL
ollama run llama3.2 "Hello"
الإخراج:
TEXT
// Execution successful
5. المتغيرات البيئية وإعداد المنفذ
💡 نصيحة: عند تنزيل عدة نماذج، تستهلك ملفات النماذج مساحة قرص كبيرة (نموذج 8B حوالي 5 غيغابايت، نموذج 70B حوالي 40 غيغابايت). يمكنك استخدام المتغير البيئي
OLLAMA_MODELS لتوجيه مسار تخزين النماذج إلى قسم قرص أكبر (مثلاً، /data/ollama/models)، لمنع نفاد مساحة قرص النظام. هذا مهم بشكل خاص في سيناريوهات النشر متعددة النماذج.
ℹ️ معلومة: يتحكم
OLLAMA_KEEP_ALIVE في المدة التي يبقى فيها النموذج في الذاكرة، افتراضيًا 5 دقائق. للاستخدام المتكرر، اضبطه على 30m أو أكثر لتجنب إعادة تحميل النموذج مع كل طلب (البدء البارد يستغرق 5-30 ثانية).
(1) المتغيرات البيئية الأساسية
| المتغير | الافتراضي | الغرض |
|---|---|---|
| OLLAMA_HOST | 127.0.0.1:11434 | عنوان ومنفذ استماع الخدمة |
| OLLAMA_MODELS | ~/.ollama/models | مسار تخزين ملفات النماذج |
| OLLAMA_KEEP_ALIVE | 5m | مدة بقاء النموذج في الذاكرة |
| OLLAMA_NUM_PARALLEL | 1 | عدد الطلبات المتوازية |
| OLLAMA_MAX_LOADED_MODELS | 1 | الحد الأقصى للنماذج المحملة في وقت واحد |
| OLLAMA_DEBUG | false | تبديل سجلات التصحيح |
(2) مقارنة أمان عنوان الاستماع
| الإعداد | الأمان | حالة الاستخدام |
|---|---|---|
| 127.0.0.1:11434 | ✅ وصول محلي فقط | بيئة التطوير |
| 0.0.0.0:11434 | ⚠️ يمكن الوصول من جميع الشبكات | خدمة الشبكة الداخلية، يتطلب جدار حماية |
| 0.0.0.0:11434 + Nginx | ✅ وكيل عكسي + مصادقة | بيئة الإنتاج |
⚠️ ملاحظة: بعد الربط بـ
0.0.0.0، يجب إعداد جدار حماية أو وكيل عكسي، وإلا يمكن لأي شخص الوصول إلى خدمة Ollama الخاصة بك.
▶ مثال 5: إعداد متغيرات بيئية مخصصة
BASH
# Linux/macOS: ضبط المتغيرات البيئية
# تعديل خدمة systemd (Linux)
sudo systemctl edit ollama
# أضف في ملف التجاوز:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"
# إعادة التحميل وإعادة التشغيل
sudo systemctl daemon-reload
sudo systemctl restart ollama
# macOS: الضبط عبر launchctl أو ملف shell profile
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
الإخراج:
TEXT
NAME ID SIZE
llama3.2:latest a80... 2.0 GB
mistral:latest 61... 4.1 GB
6. حل مشاكل التثبيت الشائعة
(1) جدول التشخيص السريع
| العَرَض | السبب | الحل |
|---|---|---|
| "connection refused" | الخدمة لم تبدأ | ollama serve أو أعد تشغيل systemd |
| "bind: address already in use" | تعارض المنفذ | lsof -i :11434 لمعرفة العملية المحتلة |
| "could not find GPU" | المشغلات غير مثبتة | ثبّت NVIDIA CUDA / AMD ROCm |
| "out of memory" | VRAM غير كافٍ | استخدم نموذجًا أصغر أو إصدارًا بتقدير كمي |
| "permission denied" | صلاحيات غير كافية | افحص مجموعات المستخدمين / صلاحيات الدليل على Linux |
| "model not found" | النموذج لم يُسحب | ollama pull <model> |
▶ مثال 6: تشخيص تعارض المنفذ
BASH
# فحص العملية التي تستخدم المنفذ 11434
lsof -i :11434
# أو على Linux
ss -tlnp | grep 11434
# إنهاء العملية المتعارضة إذا لزم الأمر
kill -9 `<PID>`
# أو تغيير منفذ Ollama
export OLLAMA_HOST=127.0.0.1:8080
ollama serve
الإخراج:
TEXT
NAME ID SIZE
llama3.2:latest a80... 2.0 GB
mistral:latest 61... 4.1 GB
7. مثال شامل: سكربت نشر خادم جديد
⚠️ تحذير:
OLLAMA_HOST=0.0.0.0:11434 في سكربت النشر مناسب لبيئات الشبكة الداخلية للخوادم. إذا كان الخادم يمتلك عنوان IP عام، تأكد من إعداد جدار حماية (ufw/iptables) لتقييد الوصول الخارجي للمنفذ 11434، أو أضف مصادقة عبر وكيل عكسي Nginx.
BASH
#!/bin/bash
# ============================================
# شامل: نشر Ollama على خادم جديد
# يفحص hardware، يثبّت Ollama، يتحقق من الخدمة
# ============================================
set -e
echo "=== Step 1: Hardware Check ==="
echo "CPU: $(nproc) cores"
echo "RAM: $(free -g | awk '/^Mem:/{print $2}')GB"
if command -v nvidia-smi &> /dev/null; then
echo "GPU: $(nvidia-smi --query-gpu=name --format=csv,noheader)"
echo "VRAM: $(nvidia-smi --query-gpu=memory.total --format=csv,noheader)"
else
echo "GPU: Not detected (CPU-only mode)"
fi
echo "Disk: $(df -h / | awk 'NR==2{print $4}') available"
echo ""
echo "=== Step 2: Install Ollama ==="
curl -fsSL https://ollama.com/install.sh | sh
echo ""
echo "=== Step 3: Configure Environment ==="
sudo mkdir -p /data/ollama/models
sudo systemctl edit ollama <<EOF
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"
EOF
sudo systemctl daemon-reload
sudo systemctl restart ollama
echo ""
echo "=== Step 4: Verify Service ==="
sleep 3
if curl -s http://localhost:11434/api/tags > /dev/null; then
echo "SUCCESS: Ollama is running on port 11434"
ollama --version
else
echo "FAILED: Check logs with: journalctl -u ollama"
fi
echo ""
echo "=== Step 5: Pull First Model ==="
ollama pull llama3.2
echo "Deployment complete! Run: ollama run llama3.2"
❓ أسئلة شائعة
س الأمر
ollama غير موجود بعد التثبيت، ماذا أفعل؟ج على Linux، تحقق مما إذا
/usr/local/bin في PATH. على macOS بعد التثبيت عبر Homebrew، شغّل brew link ollama. على Windows، أعد تشغيل الطرفية.س تثبيت Docker أم التثبيت المباشر — أيهما أختار؟
ج اختر التثبيت المباشر للتطوير المحلي (أبسط). اختر Docker لنشر الخوادم (عزل وعمليات أسهل). يغطي هذا الدرس التثبيت المباشر؛ Docker مفصل في الدرس 15.
س كيف أُعد الاستنتاج على GPU في WSL2؟
ج بعد تثبيت NVIDIA CUDA على Windows، يرث WSL2 بطاقة GPU تلقائيًا. شغّل
nvidia-smi في WSL2 للتحقق — إذا ظهرت بطاقة GPU، فأنت جاهز. لا حاجة لتثبيت CUDA داخل WSL2.س كيف أجعل Ollama يبدأ تلقائيًا عند الإقلاع؟
ج سكربت تثبيت Linux يُسجّل خدمة systemd تلقائيًا ويفعّل البدء عند الإقلاع. على macOS، يُضاف التطبيق لعناصر تسجيل الدخول تلقائيًا بعد التثبيت. على Windows، يُضاف لعناصر البدء.
س أين تُخزن ملفات النماذج افتراضيًا؟ هل يمكنني تغيير المسار؟
ج الافتراضي هو
~/.ollama/models. اضبط المتغير البيئي OLLAMA_MODELS لتغييره — مفيد عند انخفاض مساحة القرص والحاجة لتركيب تخزين خارجي.س كيف أتأكد أن تسريع GPU يعمل؟
ج شغّل
ollama run --verbose <model> وافحص السجلات. رسائل مثل using CUDA أو using Metal تشير إلى تفعيل تسريع GPU. يمكنك أيضًا استخدام nvidia-smi لمراقبة استخدام VRAM أثناء الاستنتاج.📖 ملخص
- يدعم Ollama التثبيت بنقرة واحدة على macOS / Linux / Windows
- الحد الأدنى 8 غيغابايت RAM لنماذج 3B، والموصى به 16 غيغابايت+ لنماذج 8B
- الاستماع الافتراضي على 127.0.0.1:11434، قابل للتغيير عبر OLLAMA_HOST
- المتغير البيئي OLLAMA_MODELS يسمح بمسار تخزين نماذج مخصص
- تسريع GPU يُكتشف تلقائيًا: NVIDIA CUDA / AMD ROCm / Apple Metal
- المشاكل الشائعة يمكن تشخيصها بسرعة عبر فحص المنافذ والتأكد من السجلات
📝 تمارين
- أساسي (صعوبة ⭐): ثبّت Ollama على نظامك الحالي وشغّل
ollama --versionلتأكيد النجاح. - متوسط (صعوبة ⭐⭐): اضبط المتغيرات البيئية
OLLAMA_HOSTوOLLAMA_MODELSلربط الخدمة بـ0.0.0.0:11434وتخزين النماذج في مسار مخصص، ثم تحقق من تفعيل الإعدادات. - متقدم (صعوبة ⭐⭐⭐): اكتب سكربت نشر آلي يغطي فحص hardware وتثبيت Ollama وإعداد البيئة وسحب النماذج، مع إصدار تقرير نشر.