[{"data":1,"prerenderedAt":151},["ShallowReactive",2],{"seo-verification":3,"blog-كيفية-استضافة-ollama-على-خادم-vps-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":12,"excerpt":13,"readTime":14,"views":15,"isPinned":16,"publishedAt":17,"category":18,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":99,"ctaBody":100,"ctaButton":101,"ctaUrl":102,"relatedPosts":103},11,"كيفية-استضافة-ollama-على-خادم-vps",{"fr":10,"en":11,"ar":8},"heberger-ollama-vps","how-to-host-ollama-on-a-vps","استضافة Ollama على خادم VPS: دليل التشغيل المتقدم","إعداد Ollama المتقدم على VPS: إدارة النماذج، وكيل عكسي nginx، أمان الواجهة البرمجية، تكميم Q4_K_M\u002FQ8، ثغرة CVE-2026-45672 في Open WebUI والتكامل الآمن.",10,0,false,"2026-06-09T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},1,"الذكاء الاصطناعي","intelligence-artificielle","bg-purple-500\u002F10 text-purple-400","ia",[25],{"id":19,"name":20,"slug":21,"color":22,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-ollama-vps-poster.svg",{"categorySlug":30,"appSlug":31},"الذكاء-الاصطناعي","ollama","بمجرد تشغيل Ollama على خادم VPS الخاص بك، يبدأ العمل الحقيقي: اختيار النماذج المناسبة لذاكرة RAM، وتأمين الواجهة البرمجية خلف وكيل عكسي، والحفاظ على الأداء مع التحديثات، ودمج محرك الاستدلال في بنيتك التقنية. يغطي هذا الدليل الجانب التشغيلي — كل ما يلي أول `docker run` — بما في ذلك ثغرة CVE-2026-45672 التي تؤثر على Open WebUI المقترن بـ Ollama، والخطوات اللازمة لتأمين هذا الاقتران.",[34,38,49,52,80,83,87,90,93,96],{"type":35,"title":36,"body":37},"h2","Ollama في الإنتاج: ما الذي يتغير بعد أول تشغيل","نشر Ollama يستغرق بضع دقائق. تشغيله بشكل موثوق على مدار الوقت يتطلب مزيدًا من الاهتمام. في بيئة الإنتاج، ثلاثة محاور تتركز فيها معظم المشكلات: إدارة النماذج (أيها تحمّل وأيها تحذف لتحرير مساحة القرص)، سطح هجوم الواجهة البرمجية (غير مصادق عليها افتراضيًا على المنفذ 11434)، واستهلاك الذاكرة (نموذج غير مناسب يشبع ذاكرة RAM ويتسبب في إنهاء العملية من قِبل النواة). ينطلق هذا الدليل من افتراض أن حاوية `ollama` تعمل بالفعل ويركز على هذه المحاور الثلاثة، إضافةً إلى التكامل مع أدوات بنيتك التقنية.",{"type":39,"title":40,"items":41},"ul","ما يقدمه الإدارة المتقدمة عمليًا",[42,43,44,45,46,47,48],"**سحب انتقائي** — تنزّل فقط النموذج الذي تحتاجه دون ملء القرص بمتغيرات غير مستخدمة.","**حذف نظيف** — `ollama rm` يحرر مساحة القرص ويقلل وقت تحميل النماذج المتبقية.","**واجهة REST موثقة** — يعرض Ollama المسارات `\u002Fapi\u002Fgenerate` و`\u002Fapi\u002Fchat` و`\u002Fv1\u002Fchat\u002Fcompletions`؛ وكيل عكسي أمامه يمنح نقطة ‎HTTPS مع مصادقة.","**تحكم في التزامن** — `OLLAMA_MAX_LOADED_MODELS` يمنع تحميل عدة نماذج في آنٍ واحد ونفاد ذاكرة ‎RAM.","**متغيرات بيئة دائمة** — تُضاف `OLLAMA_KEEP_ALIVE` و`OLLAMA_NUM_THREADS` و`OLLAMA_CONTEXT_SIZE` إلى أمر `docker run` أو ملف `compose.yml` خاضع للإصدارات.","**تدوير نماذج قابل للبرمجة** — استدعاء بسيط لـ `curl` على `\u002Fapi\u002Fpull` يكفي لأتمتة تحديث النموذج من مسار ‎CI.","**كشف انتقائي** — يمكنك كشف الواجهة البرمجية لأدواتك الداخلية فقط (Open WebUI وn8n وLangFlow) دون جعلها عامة.",{"type":35,"title":50,"body":51},"اختيار النماذج وإدارتها: الحجم وذاكرة RAM والتكميم","يُعبَّر عن حجم النموذج بمليارات المعاملات (B) وهو ما يحدد ذاكرة RAM المطلوبة. نموذج 1B\u002F3B يتّسع في 2 إلى 3 GB ويناسب المهام البسيطة (تصنيف، ملخص قصير) على خادم VPS متواضع. نموذج 7B\u002F8B يحتاج 5 إلى 6 GB في Q4: وهو أكثر نسب الجودة\u002Fالموارد شيوعًا. نموذج 13B يحتاج 9 إلى 10 GB، أما 70B فيتجاوز 40 GB — مخصص لخوادم VPS عالية الذاكرة أو تهيئات GPU. لكل حجم، يضبط التكميم مقايضة الجودة\u002Fالسرعة: Q4_K_M يوفر أفضل توازن على المعالج، وQ8 يحافظ على دقة أكبر بتكلفة ضعف ذاكرة RAM. قبل سحب نموذج، تحقق من المساحة الحرة بـ `df -h` وذاكرة RAM المتاحة بـ `free -h`.",{"type":53,"title":54,"steps":55},"steps","العمليات الشائعة: السحب والحذف وكشف الواجهة البرمجية",[56,59,62,65,68,71,74,77],{"title":57,"body":58},"سرد النماذج المتاحة","نفّذ `docker exec ollama ollama list` لرؤية النماذج المنزّلة مسبقًا وحجمها على القرص وتاريخ إضافتها.",{"title":60,"body":61},"تنزيل نموذج جديد","شغّل `docker exec ollama ollama pull llama3.2:3b` لنموذج خفيف، أو `docker exec ollama ollama pull qwen2.5:7b-instruct-q4_K_M` لنموذج 7B مكمَّم. اللاحقة `q4_K_M` تحدد التكميم مباشرة في الوسم.",{"title":63,"body":64},"حذف نموذج قديم","حرّر مساحة بـ `docker exec ollama ollama rm llama3.1:8b`. تحقق بعدها بـ `docker exec ollama ollama list` أن النموذج لم يعد يظهر.",{"title":66,"body":67},"اختبار الواجهة REST محليًا","استدعِ نقطة chat: `curl http:\u002F\u002F127.0.0.1:11434\u002Fapi\u002Fchat -d '{\"model\":\"qwen2.5:7b-instruct-q4_K_M\",\"messages\":[{\"role\":\"user\",\"content\":\"Ping\"}],\"stream\":false}'`. تحتوي استجابة JSON على الحقل `message.content`.",{"title":69,"body":70},"ضبط متغيرات البيئة","أعد تشغيل الحاوية بالخيارات المطلوبة : `docker run -d -v ollama:\u002Froot\u002F.ollama -p 127.0.0.1:11434:11434 -e OLLAMA_KEEP_ALIVE=-1 -e OLLAMA_MAX_LOADED_MODELS=1 -e OLLAMA_NUM_THREADS=4 --name ollama ollama\u002Follama`. تحافظ هذه المعاملات على النموذج في الذاكرة وتحدّ من حمل المعالج.",{"title":72,"body":73},"تطبيق حدّ معدّل الطلبات عبر nginx","في كتلة `server` الخاصة بـ nginx، أضف `limit_req_zone $binary_remote_addr zone=ollama:10m rate=10r\u002Fm;` في قسم `http`، ثم `limit_req zone=ollama burst=5 nodelay;` في `location`. يحمي هذا الواجهةَ البرمجية من الطلبات المتكررة المتسارعة.",{"title":75,"body":76},"تحديث Ollama نفسه","أوقف الحاوية واحذفها: `docker stop ollama && docker rm ollama`. اسحب الصورة الجديدة: `docker pull ollama\u002Follama`. أعد التشغيل بنفس المعاملات. النماذج مخزّنة في الحجم `ollama` ولا تتأثر.",{"title":78,"body":79},"التحقق من صحة الخدمة","شغّل `curl http:\u002F\u002F127.0.0.1:11434\u002Fapi\u002Ftags` للحصول على قائمة النماذج المحمّلة. استجابة HTTP 200 مع JSON صالح تؤكد أن الخدمة تستجيب بشكل صحيح.",{"type":35,"title":81,"body":82},"Ollama خلف وكيل عكسي nginx مع رمز مصادقة","يستمع Ollama افتراضيًا على `127.0.0.1:11434` دون مصادقة. لكشفه لأدواتك (Open WebUI وn8n وسكريبت بعيد)، ضع nginx في الواجهة مع رمز Bearer. تُفوِّض كتلة التهيئة أدناه الوصولَ إلى رمز سري معرَّف في المتغير `$api_token`، وتتحقق من ترويسة `Authorization` وتعيد التوجيه إلى Ollama. يُهيَّأ CORS لقبول طلبات واجهتك دون كشف الواجهة البرمجية لجميع المصادر.\n\nفي `\u002Fetc\u002Fnginx\u002Fsites-available\u002Follama`:\n\n```nginx\nmap $http_authorization $api_token_valid {\n    default 0;\n    \"Bearer YOUR_SECRET_TOKEN\" 1;\n}\nserver {\n    listen 443 ssl;\n    server_name api-ia.your-domain.com;\n    ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fapi-ia.your-domain.com\u002Ffullchain.pem;\n    ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fapi-ia.your-domain.com\u002Fprivkey.pem;\n    location \u002F {\n        if ($api_token_valid = 0) { return 401; }\n        proxy_pass http:\u002F\u002F127.0.0.1:11434;\n        proxy_set_header Host $host;\n        add_header Access-Control-Allow-Origin \"https:\u002F\u002Fui.your-domain.com\";\n    }\n}\n```\n\nفعّل بـ `ln -s \u002Fetc\u002Fnginx\u002Fsites-available\u002Follama \u002Fetc\u002Fnginx\u002Fsites-enabled\u002F` ثم `nginx -t && systemctl reload nginx`.",{"type":84,"title":85,"body":86},"tip","أداء المعالج: اختيار التكميم الصحيح","على المعالج، **Q4_K_M** هو نقطة التوازن الموصى بها: فقدان جودة هامشي مقارنةً بـ Q8، مع سرعة توليد أعلى بنحو 40٪ واستهلاك ذاكرة أقل بالنصف. احتفظ بـ **Q8** للحالات التي تكون فيها الدقة حاسمة (الشفرات البرمجية، المنطق الرسمي) وخادمك لديه 16 GB من ذاكرة RAM الحرة على الأقل. اضبط `OLLAMA_NUM_THREADS` على عدد النوى الفيزيائية (لا المنطقية) لتجنب التنازع: على خادم VPS بـ 4 vCPU، ابدأ بـ 3. يؤثر المعامل `OLLAMA_CONTEXT_SIZE` (الافتراضي: 2048 token) مباشرةً على ذاكرة RAM لكل طلب؛ قلّصه إذا كنت تعالج كثيرًا من الاستدعاءات القصيرة بالتوازي.",{"type":35,"title":88,"body":89},"استكشاف الأخطاء: الحالات الأكثر شيوعًا","أربع حالات تتكرر بانتظام في الإنتاج.\n\n**النموذج بطيء للغاية.** التوليد يتجاوز 2-3 رموز في الثانية على المعالج لنموذج 7B؟ تحقق أن `OLLAMA_NUM_THREADS` ليس عند القيمة 1 (الافتراضي إن لم يُضبط في بعض الصور). تحقق أيضًا أن نموذجًا واحدًا فقط محمّل (`OLLAMA_MAX_LOADED_MODELS=1`): نموذجان متزامنان يتنافسان على النوى وعرض نطاق الذاكرة.\n\n**ذاكرة VRAM غير كافية (GPU).** إذا أظهر سجل Docker رسالة `CUDA out of memory` أو `ROCm error`، فالنموذج لا يتّسع في VRAM. انتقل إلى وسم `q4_K_M` أو قلّص `OLLAMA_CONTEXT_SIZE`. يتراجع Ollama إلى المعالج إذا كانت VRAM غير كافية، لكن دون الإشارة إلى ذلك بوضوح: قارن سرعات التوليد للكشف عن ذلك.\n\n**رفض اتصال الواجهة البرمجية.** `curl: (7) Failed to connect` من الخارج بينما الخدمة تستمع؟ جدار الحماية يحجب المنفذ 11434، أو nginx غير مشغّل. تحقق بـ `ss -tlnp | grep 11434` (يجب أن يُظهر `127.0.0.1`، لا `0.0.0.0`) ثم `systemctl status nginx`.\n\n**Signal killed \u002F OOM.** العملية تُقتل من النواة (OOM killer). ذاكرة RAM للخادم غير كافية للنموذج المختار. انتقل إلى حجم أصغر أو فعّل swap بحجم 4 إلى 8 GB كمخزن مؤقت: `fallocate -l 4G \u002Fswapfile && chmod 600 \u002Fswapfile && mkswap \u002Fswapfile && swapon \u002Fswapfile`. يبطّئ swap التوليد لكنه يتجنب الإيقافات المفاجئة.",{"type":35,"title":91,"body":92},"التكامل مع أدوات أخرى على VPS","Ollama هو خلفية تقنية: تظهر قيمته الكاملة حين تتصل به خدمات أخرى. ثلاثة أدوات تتكامل بشكل طبيعي على نفس الخادم.\n\n**Open WebUI** يعرض واجهة محادثة مشابهة لـ ChatGPT مربوطة بواجهة Ollama المحلية. في ملف البيئة، عرّف `OLLAMA_BASE_URL=http:\u002F\u002Follama:11434` (إذا شاركت الحاويتان شبكة Docker) أو `OLLAMA_BASE_URL=http:\u002F\u002F127.0.0.1:11434` إذا كان Open WebUI يعمل على نفس المضيف. يتولى Open WebUI اختيار النموذج وسجل المحادثات وإدارة المستخدمين. **تنبيه**: يُضيف الاقتران بين Ollama وOpen WebUI سطح هجوم إضافيًا يستوجب المراقبة — راجع قسم CVE-2026-45672 أدناه.\n\n**LangFlow** هو منشئ مرئي لمسارات LLM. أضف عقدة `Ollama` في تدفقك، أدخل `http:\u002F\u002F127.0.0.1:11434` كعنوان URL أساسي واختر النموذج من القائمة المنسدلة. يستدعي LangFlow المسار `\u002Fapi\u002Fgenerate` مباشرةً دون مصادقة داخلية — ضعه على الشبكة الخاصة للخادم، لا مكشوفًا للعموم.\n\n**n8n** يتيح لك تشغيل استدعاءات Ollama من سير عمل الأتمتة. استخدم عقدة `HTTP Request` التي تشير إلى `http:\u002F\u002F127.0.0.1:11434\u002Fapi\u002Fchat` مع جسم JSON يحتوي على `model` و`messages`. من n8n يمكنك ربط استدعاء Ollama بخطوة استرجاع بيانات أو إرسال بريد أو webhook صادر دون كتابة شفرة برمجية.",{"type":35,"title":94,"body":95},"‏CVE-2026-45672: تجاوز التفويض في Open WebUI","نُشرت هذه الثغرة في 21 مايو 2026 (GHSA-482j-2pq6-q5w4)، وتؤثر على جميع إصدارات Open WebUI السابقة للإصدار 0.8.12. درجة CVSS: **8.8 (عالية)**.\n\n**آلية الهجوم.** يستطيع مستخدم موثَّق تنفيذ شفرة Python تعسفية عبر المسار `\u002Fapi\u002Fv1\u002Futils\u002Fcode\u002Fexecute`، حتى لو أوقف المسؤول تنفيذ الشفرات في الإعدادات (`ENABLE_CODE_EXECUTION=false`). الحارس مُعلَن في التهيئة لكنه لا يُطبَّق أبدًا على مستوى الواجهة البرمجية: أي حساب موثَّق على النظام يمكنه تشغيل التنفيذ.\n\n**الأثر.** يحصل المهاجم على وصول إلى خلفية Jupyter الأساسية ويمكنه قراءة ملفات تعسفية على الخادم، وسرقة الأسرار (مفاتيح API، ورمز Bearer لـ Ollama، ومتغيرات البيئة)، أو تأسيس تثبيت مستمر. السرية والسلامة والتوافر للخادم مخترَقة جميعًا.\n\n**لماذا يُعدّ هذا خطيرًا في اقتران Ollama مع Open WebUI.** يعمل Ollama وOpen WebUI في الغالب على نفس الخادم VPS، وأحيانًا في نفس شبكة Docker، مع أسرار مشتركة (مفتاح OpenAI الاحتياطي، ورمز Bearer لواجهة Ollama). وبالتالي يمنح وصول RCE على Open WebUI وصولًا مباشرًا لواجهة Ollama والنماذج في الذاكرة، متجاوزًا الوكيل العكسي بالكامل.\n\n**الإصلاح.** حدّث Open WebUI إلى الإصدار **0.8.12 أو أحدث**. يُطبِّق هذا الإصدار التحقق من `ENABLE_CODE_EXECUTION` على مستوى نقطة نهاية الواجهة البرمجية، حيث كان يجب دائمًا أن يكون.\n\n**التحقق من إصدارك.** من الحاوية: `docker exec open-webui cat \u002Fapp\u002Fpackage.json | grep '\"version\"'`. إذا كانت النتيجة أقل من `0.8.12`، فالتحديث عاجل: `docker pull ghcr.io\u002Fopen-webui\u002Fopen-webui:main && docker stop open-webui && docker rm open-webui` ثم أعد التشغيل بنفس معاملات البيئة.",{"type":84,"title":97,"body":98},"تصليب اقتران Ollama مع Open WebUI بعد CVE-2026-45672","أربعة إجراءات تكميلية يُطبَّق بعد التحديث إلى 0.8.12.\n\n**1. عزل شبكات Docker.** أنشئ شبكة bridge مخصصة (`docker network create llm-private`) وضع فيها الحاويتين. حينئذٍ لا يكون Ollama قابلًا للوصول من Open WebUI إلا عبر اسم الخدمة (`http:\u002F\u002Follama:11434`)، دون المرور بواجهة الخادم العامة.\n\n**2. عدم كشف المنفذ 11434 خارجيًا أبدًا.** أكّد أن الربط يبقى على `127.0.0.1:11434`. على شبكة Docker الداخلية، يستجيب Ollama على المنفذ 11434 دون مصادقة — هذا مقبول إذا كانت الشبكة خاصة؛ يصبح ناقلًا للهجوم فور إمكانية الوصول إليه من الخارج.\n\n**3. تعطيل تنفيذ الشفرات إن لم تحتج إليه.** في متغيرات بيئة Open WebUI، عيّن `ENABLE_CODE_EXECUTION=false`. بعد التحديث إلى 0.8.12، بات هذا الإعداد مُطبَّقًا على مستوى الواجهة البرمجية. إن لم يتضمن استخدامك تنفيذ شفرات، عطّله كتدبير دفاع في العمق.\n\n**4. تقييد التسجيل.** في واجهة إدارة Open WebUI (الإعدادات ← الإدارة)، أوقف التسجيل العلني (`ENABLE_SIGNUP=false`) إذا كان النظام مكشوفًا على الإنترنت. تتطلب ثغرة CVE-2026-45672 حسابًا موثَّقًا: تقليص سطح التسجيل يقلص سطح الهجوم.","خادم LLM خاص على VPS Cloud من ServOrbit","يوفر خادم VPS Cloud من ServOrbit ذاكرة RAM وقابلية التوسع اللازمتين لتشغيل نماذج Ollama في الإنتاج. توسّع الموارد عند الانتقال إلى نماذج أكبر دون هجرة أو توقف.","نشر Ollama على خادم VPS الخاص بي","\u002Fmarketplace\u002Fالذكاء-الاصطناعي\u002Follama",[104,123,138],{"id":105,"slug":106,"slugs":107,"title":110,"excerpt":111,"readTime":112,"views":15,"isPinned":16,"publishedAt":113,"category":114,"categories":119,"featuredImage":26,"bgImage":27,"posterImage":121,"relatedSolution":122},102,"ollama-مقابل-localai-أي-خادم-نماذج-llm-مستضاف-ذاتيا",{"fr":108,"en":109,"ar":106},"ollama-vs-localai","ollama-vs-localai-which-self-hosted-llm-model-server","Ollama مقابل LocalAI: أي خادم نماذج LLM مستضاف ذاتيًا؟","Ollama مقابل LocalAI على VPS: مقارنة التوافق مع واجهة OpenAI وإدارة النماذج وGPU\u002FCPU والمرونة لاستضافة نماذج LLM الخاصة بك.",4,"2026-03-10T00:00:00+00:00",{"id":115,"name":116,"slug":117,"color":118,"icon":117},5,"مقارنات","comparatif","bg-info\u002F10 text-info",[120],{"id":115,"name":116,"slug":117,"color":118,"icon":117},"\u002Fblog\u002Fcovers\u002Follama-vs-localai-poster.svg",{"categorySlug":30,"appSlug":31},{"id":124,"slug":125,"slugs":126,"title":129,"excerpt":130,"readTime":124,"views":15,"isPinned":16,"publishedAt":131,"category":132,"categories":133,"featuredImage":26,"bgImage":27,"posterImage":135,"relatedSolution":136},9,"كيفية-استضافة-anythingllm-على-خادم-vps",{"fr":127,"en":128,"ar":125},"heberger-anythingllm-vps","how-to-host-anythingllm-on-a-vps","AnythingLLM على VPS: دليل شامل مع أبرز الأخطاء","استضف AnythingLLM على VPS: Docker وHTTPS وتثبيت الإصدار إلزامي. أخطاء :latest وGemini v1.16 وشبكة Docker مع Ollama موثّقة.","2026-06-11T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[134],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fheberger-anythingllm-vps-poster.svg",{"categorySlug":30,"appSlug":137},"anything-llm",{"id":139,"slug":140,"slugs":141,"title":144,"excerpt":145,"readTime":115,"views":15,"isPinned":16,"publishedAt":146,"category":147,"categories":148,"featuredImage":26,"bgImage":27,"posterImage":150,"relatedSolution":26},214,"كيفية-نشر-خادم-mcp-على-vps",{"fr":142,"en":143,"ar":140},"mcp-serveur-ia-auto-heberge-vps","how-to-deploy-an-mcp-server-on-a-vps","كيفية نشر خادم MCP على VPS","أصبح Model Context Protocol المعيار الشامل لعملاء الذكاء الاصطناعي منذ إصدار مواصفات 2026-07-28. إليك كيفية استضافة خادمك الخاص على VPS.","2026-08-03T00:00:00+00:00",{"id":19,"name":20,"slug":21,"color":22,"icon":23},[149],{"id":19,"name":20,"slug":21,"color":22,"icon":23},"\u002Fblog\u002Fcovers\u002Fmcp-serveur-ia-auto-heberge-vps-poster.svg",1787580953303]