[{"data":1,"prerenderedAt":216},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-authelia-على-vps-مصادقة-ثنائية-ودخول-موحد-لمنظومتك-ma-ar":6,"promo-bar-likely":215},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-authelia-على-vps-مصادقة-ثنائية-ودخول-موحد-لمنظومتك-ma-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":35,"sections":36,"ctaTitle":149,"ctaBody":150,"ctaButton":151,"ctaUrl":152,"relatedPosts":153},162,"استضافة-authelia-على-vps-مصادقة-ثنائية-ودخول-موحد-لمنظومتك",{"fr":12,"en":13,"ar":10,"es":14},"self-host-authelia-vps","self-host-authelia-on-a-vps-mfa-and-sso-for-your-whole-stack","alojar-authelia-en-un-vps","Authelia على VPS: المصادقة الثنائية وSSO لعمليتك بأكملها","دليل شامل لنشر Authelia على VPS باستخدام Docker Compose: التحكم المتقدم في الوصول، TOTP، WebAuthn\u002Fمفاتيح المرور، OIDC، الانتقال إلى LLDAP، مراقبة Prometheus، ومقارنة مع Authentik.",10,4,false,"2026-07-04T00:00:00+00:00","2026-09-24T12:27:51+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-authelia-vps-poster.svg",{"categorySlug":27,"appSlug":34},"authelia","Authelia بوابة مصادقة مفتوحة المصدر مكتوبة بـ Go، تتوضع أمام خدماتك المستضافة ذاتياً عبر الوكيل العكسي. في حاوية واحدة خفيفة (~30 ميغابايت)، تُمركز المصادقة وتفرض MFA ويمكنها أن تكون موفر OIDC لـ SSO حقيقي على كامل بنيتك. يغطي هذا الدليل التثبيت الكامل، قواعد الوصول المبنية على المجموعات، طرق MFA المتاحة — بما فيها مفاتيح المرور WebAuthn — الانتقال إلى LLDAP، التحديثات السلسة، والمراقبة.",[37,41,53,56,87,91,94,97,100,103,106,143,146],{"type":38,"title":39,"body":40},"h2","لماذا بوابة مصادقة في الوكيل العكسي","بدون بوابة مركزية، تُدير كل خدمة تسجيل الدخول الخاص بها: Grafana لها قاعدة مستخدمين، Nextcloud لها قاعدتها، Portainer لها قاعدتها. النتيجة: كلمات مرور مختلفة في كل مكان، لا MFA متسق، وسطح هجوم متعدد. تحل Authelia هذه المشكلة بالتوضع في مسار HTTP: يُرسل وكيلك العكسي كل طلب إليها قبل إعادة توجيهه، وتقرر Authelia — بناءً على الهوية والمجموعة والمسار المطلوب ومستوى MFA المطلوب — إذا كان يجب السماح بالطلب. لا يرى التطبيق المحمي إلا طلباً مصادقاً مع ترويسات هوية مُضافة.",{"type":42,"title":43,"items":44},"ul","ما تمنحك إياه Authelia المستضافة ذاتياً",[45,46,47,48,49,50,51,52],"مصادقة مركزية لجميع خدماتك دون تعديل كودها","MFA أصلي: TOTP (Google Authenticator، Aegis)، WebAuthn\u002Fمفاتيح مرور (مفاتيح مادية، Touch ID، Windows Hello)، Duo","موفر OIDC في الإنتاج منذ v4.34: تفويض المصادقة من تطبيقاتك المتوافقة مع OIDC إلى Authelia","تحكم دقيق في الوصول حسب النطاق، المسار، مجموعة المستخدمين، ومستوى المصادقة","تكامل أصلي مع Traefik (forwardAuth) وNginx (auth_request) وCaddy (forward_auth)","دعم LDAP\u002FActive Directory لإدارة الفرق، متوافق مع LLDAP","ملف ثنائي Go واحد (~30 ميغابايت)، صورة Docker خفيفة، استهلاك ذاكرة منخفض","سجلات JSON منظمة ومقاييس Prometheus للمراقبة",{"type":38,"title":54,"body":55},"المتطلبات المسبقة","قبل نشر Authelia، تحقق من جاهزية بيئتك. تحتاج إلى VPS يعمل بـ Linux مع Docker وDocker Compose مثبتَين، وكيل عكسي موجود (Traefik v2\u002Fv3 أو Nginx)، اسم نطاق مع شهادة TLS صالحة (Let's Encrypt موصى به)، ونسخة Redis يمكن لـ Authelia الوصول إليها لتخزين الجلسات (إلزامي في الإنتاج). لتخزين المستخدمين، يمكنك البدء بملف YAML محلي أو ربط خادم LDAP مثل LLDAP. تحتاج Authelia أيضاً إلى مفتاح JWT، مفتاح تشفير الجلسة، وسر OIDC إذا فعّلت هذا الوضع: أنشئها بـ `openssl rand -hex 32`.",{"type":57,"title":58,"steps":59},"steps","نشر Authelia مع Docker Compose",[60,63,66,69,72,75,78,81,84],{"title":61,"body":62},"إنشاء هيكل الدلائل","أنشئ `\u002Fopt\u002Fauthelia\u002Fconfig\u002F` لملفات الإعداد و`\u002Fopt\u002Fauthelia\u002Fdata\u002F` لتخزين SQLite والمفاتيح. عيّن الأذونات المناسبة: `mkdir -p \u002Fopt\u002Fauthelia\u002F{config,data} && chown -R 1000:1000 \u002Fopt\u002Fauthelia`.",{"title":64,"body":65},"كتابة ملف configuration.yml","أنشئ `\u002Fopt\u002Fauthelia\u002Fconfig\u002Fconfiguration.yml`. حدد `default_redirection_url`، `jwt_secret`، `session.secret`، `storage.encryption_key`، وعيّن خلفية المصادقة (ملف أو LDAP)، Redis للجلسات، وسياسة الوصول الافتراضية (`deny` موصى به).",{"title":67,"body":68},"إنشاء ملف users_database.yml (خلفية الملف)","للبدء السريع، أنشئ `\u002Fopt\u002Fauthelia\u002Fconfig\u002Fusers_database.yml` بمستخدميك. يجب تجزئة كلمات المرور بـ Argon2id: `docker run --rm authelia\u002Fauthelia:latest authelia crypto hash generate argon2 --password 'كلمةمرورك'`. انسخ التجزئة المولّدة في الملف.",{"title":70,"body":71},"إعداد Redis للجلسات","أضف Redis إلى `docker-compose.yml`. في `configuration.yml`، عيّن `session.redis.host: redis` و`session.redis.port: 6379`. Redis ضروري لاستمرار الجلسات بعد إعادة تشغيل Authelia.",{"title":73,"body":74},"كتابة docker-compose.yml","عرّف خدمات `authelia` و`redis`، وإذا كنت تستخدم Traefik أضف التسميات المناسبة. ثبّت `\u002Fopt\u002Fauthelia\u002Fconfig` للقراءة فقط و`\u002Fopt\u002Fauthelia\u002Fdata` للقراءة والكتابة. اكشف المنفذ 9091 داخلياً فقط، لا تكشفه للإنترنت مباشرة.",{"title":76,"body":77},"إعداد Traefik مع forwardAuth","أنشئ وسيطاً في Traefik يشير إلى `http:\u002F\u002Fauthelia:9091\u002Fapi\u002Fauthz\u002Fforward-auth`. طبّق هذا الوسيط على موجّهات الخدمات المراد حمايتها. بالنسبة لـ Nginx، استخدم `auth_request \u002Fauthelia` مع توجيهات `proxy_pass` المناسبة.",{"title":79,"body":80},"إعداد نطاق الجلسة","في `configuration.yml`، عيّن `session.domain` إلى نطاقك الجذر (مثل `mynomain.com`) ليتشارك الكوكي بين النطاقات الفرعية. هذا هو السبب الأكثر شيوعاً لحلقات التحويل اللانهائية.",{"title":82,"body":83},"التشغيل والتحقق","شغّل بـ `docker compose up -d`. راجع السجلات: `docker compose logs -f authelia`. ادخل إلى `https:\u002F\u002Fauth.mynomain.com` لرؤية بوابة تسجيل الدخول. اختبر بالدخول إلى خدمة محمية: يجب أن تُعاد توجيهك إلى البوابة ثم تُرسل إلى الخدمة بعد المصادقة.",{"title":85,"body":86},"تفعيل موفر OIDC (اختياري)","منذ v4.34، موفر OIDC جاهز للإنتاج. أضف قسم `identity_providers.oidc` إلى إعداداتك مع عملاءك (Nextcloud، Grafana، Gitea...). كل عميل له `id`، `secret` (مُجزّأ بـ Argon2id)، و`redirect_uris` المصرح بها.",{"type":88,"title":89,"body":90},"tip","استخدام Authelia كموفر OIDC لـ SSO حقيقي","يحوّل وضع موفر OIDC Authelia إلى SSO حقيقي: يسجل المستخدم الدخول مرة واحدة على بوابة Authelia، وجميع التطبيقات المُعدّة كعملاء OIDC تسترجع الهوية دون طلب كلمة مرور مرة أخرى. Nextcloud وGrafana وGitea وPortainer وOutline... كلها تدعم OIDC. عيّن نطاق `groups` لنقل مجموعات Authelia إلى التطبيقات العميلة لإدارة الأدوار.",{"type":38,"title":92,"body":93},"قواعد التحكم في الوصول: أمثلة عملية","قسم `access_control` هو قلب منطق Authelia. منذ v4.37، أُعيد تصميم السياسات. وصول عام بدون مصادقة: `{domain: 'status.mynomain.com', policy: bypass}`. وصول MFA قوي مقتصر على المديرين: `{domain: 'portainer.mynomain.com', subject: 'group:admins', policy: two_factor}`. مسار API بدون مصادقة (webhooks): `{domain: 'n8n.mynomain.com', resources: ['^\u002Fwebhook\u002F.*'], policy: bypass}`. باقي N8N بـ MFA بسيط: `{domain: 'n8n.mynomain.com', policy: one_factor}`. `default_policy: deny` يضمن حظر كل ما لم يُذكر صراحة. ترتيب القواعد مهم: تُطبّق أول قاعدة مطابقة.",{"type":38,"title":95,"body":96},"MFA: TOTP، WebAuthn\u002Fمفاتيح المرور، وDuo","تدعم Authelia ثلاث طرق للعامل الثاني، لكل منها مزاياها.\n\n**TOTP** (كلمة المرور لمرة واحدة المبنية على الوقت) هي الطريقة الأكثر عالمية: يمسح المستخدم رمز QR بتطبيق كـ Aegis (أندرويد) أو Raivo (iOS). رمز مكوّن من 6 أرقام يتغير كل 30 ثانية. بسيطة النشر، متوافقة مع جميع الأجهزة، لكنها عرضة للتصيد الاحتيالي.\n\n**WebAuthn\u002Fمفاتيح المرور** هي الطريقة الأكثر متانة، مدعومة أصلياً في Authelia منذ v4.36. يسجّل المستخدم مفتاحاً مادياً (YubiKey، Nitrokey) أو محقق نظام الأساس (Touch ID على macOS، Windows Hello، Face ID على iOS). تشفير المفتاح العام يجعل التصيد الاحتيالي مستحيلاً: المفتاح الخاص لا يغادر الجهاز أبداً. Authelia تُنفّذ مواصفات WebAuthn Level 2 الكاملة، بما يشمل مفاتيح المرور المتزامنة عبر iCloud Keychain أو Google Password Manager.\n\n**Duo** تُفوّض العامل الثاني إلى خدمة Duo Security السحابية: دفع موبايل، رسالة نصية، أو مكالمة هاتفية. مناسب للفرق التي تستخدم Duo بالفعل.\n\nللمعظم من البنى المستضافة ذاتياً، الجمع الموصى به هو TOTP كطريقة أساسية وWebAuthn كطريقة مفضلة للمستخدمين الذين لديهم YubiKey أو جهاز Apple\u002FWindows حديث.",{"type":38,"title":98,"body":99},"الانتقال إلى LLDAP: إدارة الفرق","خلفية الملف (`users_database.yml`) مناسبة لمستخدم واحد أو عائلة صغيرة، لكنها تصبح صعبة الإدارة مع أكثر من 5-10 مستخدمين. LLDAP تطبيق LDAP خفيف مكتوب بـ Rust مع واجهة ويب بسيطة، يتكامل بشكل مثالي مع Authelia.\n\nانشر LLDAP بإضافة خدمته إلى `docker-compose.yml` مع المتغيرات `LLDAP_JWT_SECRET` و`LLDAP_LDAP_BASE_DN`. أنشئ مجموعاتك في واجهة LLDAP (`admins`، `users`، `devops`...)، ثم عدّل `configuration.yml` للتبديل من خلفية `file` إلى خلفية `ldap`.\n\nانتبه لتغيير v4.35 الجذري: كان اسم الحقل `authentification_backend` (بخطأ إملائي) قبل v4.35 وصُحّح إلى `authentication_backend`. تحقق من إعداداتك إذا كنت تنقل من إصدار سابق.",{"type":38,"title":101,"body":102},"تحديث Authelia: تجنب التغييرات الجذرية","تتبع Authelia إصدارات دلالية صارمة وتوثّق تغييراتها الجذرية لكل إصدار — اقرأ سجل التغييرات من إصدارك الحالي قبل أي ترقية.\n\n**v4.34**: موفر OIDC يصل إلى مرحلة الإنتاج. إذا كنت تستخدمه في الوضع التجريبي، تحقق من تغييرات الأسماء في الخيارات.\n\n**v4.35**: تصحيح الخطأ المطبعي `authentification_backend` ← `authentication_backend`. أي إعداد يستخدم الاسم القديم يمنع الإطلاق مع خطأ تحقق من الإعداد.\n\n**v4.37**: إعادة تصميم سياسات `access_control` — راجع سجل التغييرات الرسمي قبل الترقية من v4.36 أو أقدم.\n\n**v4.38.x** (الإصدار الحالي): استقرار، بدون تغييرات جذرية كبيرة منذ v4.37.\n\nإجراء الترقية الموصى به: (1) اقرأ سجل التغييرات؛ (2) احتفظ بنسخة احتياطية من `\u002Fopt\u002Fauthelia\u002Fconfig\u002F` و`\u002Fopt\u002Fauthelia\u002Fdata\u002F`؛ (3) اختبر الإعداد الجديد بـ `docker run --rm -v \u002Fopt\u002Fauthelia\u002Fconfig:\u002Fconfig authelia\u002Fauthelia:4.38.x authelia validate-config` قبل إعادة التشغيل؛ (4) حدّث الوسم في `docker-compose.yml` وأعد التشغيل.",{"type":38,"title":104,"body":105},"المراقبة: السجلات ومقاييس Prometheus","تكشف Authelia مقاييسها لـ Prometheus على `\u002Fmetrics` (المنفذ الافتراضي 9959). فعّلها في `configuration.yml` بإضافة `telemetry.metrics.enabled: true` و`telemetry.metrics.address: 'tcp:\u002F\u002F0.0.0.0:9959'`. لا تكشف هذا المنفذ للعموم: اجعله متاحاً فقط لخط المراقبة الداخلي (Prometheus\u002FGrafana).\n\nالمقاييس الرئيسية للرصد: `authelia_authn_requests_total` (إجمالي محاولات التوثيق مصنّفةً بالنجاح والفشل)، و`authelia_authn_duration_seconds` (زمن الاستجابة)، إضافةً إلى مقاييس Redis لمراقبة صحة الجلسات. للسجلات، يدعم Authelia الصيغة المنظمة JSON (`log.format: json`) المثالية للاستيعاب في Loki أو نظام SIEM. استخدم `log.level: info` في الإنتاج (تجنب `debug` الذي يسجّل ترويسات كاملة). سجلات التوثيق تتضمن عنوان IP المصدر، واسم المستخدم، والخدمة المستهدفة، والنتيجة — قيّمة لاكتشاف هجمات القوة الغاشمة مبكراً.",{"type":107,"title":108,"columns":109,"rows":113},"comparison","Authelia مقابل Authentik: أيهما تختار؟",[110,111,112],"المعيار","Authelia","Authentik",[114,118,122,126,130,134,137,139],[115,116,117],"حجم Docker","~30 ميغابايت (ثنائي Go)","~1.5 غيغابايت (Python\u002FDjango + worker)",[119,120,121],"الحد الأدنى للذاكرة","~50 ميغابايت","~512 ميغابايت موصى به",[123,124,125],"موفر OIDC","نعم، منذ v4.34","نعم، ناضج وغني",[127,128,129],"موفر SAML","لا","نعم",[131,132,133],"واجهة الإدارة","إعداد YAML فقط","واجهة ويب كاملة",[135,128,136],"وكيل التطبيقات","نعم (أنفاق Authentik)",[138,128,129],"توفير SCIM",[140,141,142],"حالة الاستخدام المثالية","بنية خفيفة، وكيل عكسي بحت، إعداد كـ كود","IAM كامل، SSO مؤسسي، احتياجات SAML\u002FSCIM",{"type":38,"title":144,"body":145},"استكشاف الأخطاء الشائعة وإصلاحها","**حلقة تحويل لانهائية.** يُعاد توجيه المستخدم في حلقة بين الخدمة وبوابة Authelia. السبب الأكثر شيوعاً: `session.domain` لا يتطابق مع نطاق الخدمة. تحقق أيضاً من تطبيق `forwardAuth middleware` وأن `default_redirection_url` يشير إلى عنوان URL صالح.\n\n**عدم تطابق النطاق للكوكي.** يجب أن يكون `session.domain` هو النطاق الأب المشترك (`mysite.com`)، وليس نطاقاً فرعياً. تحقق في أدوات المطورين (Application > Cookies) أن `authelia_session` يحمل النطاق الصحيح.\n\n**Redis غير متاح.** تعمل Authelia لكن الجلسات لا تستمر. تحقق أن حاوية Redis على الشبكة ذاتها في Docker وأن `host` يتطابق مع اسم الخدمة (وليس `localhost`).\n\n**إعداد غير صالح عند البدء.** منذ v4.35، يُتحقق من المخطط بصرامة. استخدم `authelia validate-config` قبل أي إعادة تشغيل. الأخطاء الأكثر شيوعاً: الخطأ المطبعي `authentification_backend`، مسافة بادئة YAML خاطئة، أو `client_secret` يجب تجزئته بـ Argon2id منذ v4.37.\n\n**عدم طرح المصادقة الثنائية رغم قواعد `two_factor`.** تأكد أن المستخدم قد سجّل عاملاً ثانياً في ملفه الشخصي. بدون جهاز MFA مسجّل، قد تطبّق Authelia خياراً احتياطياً لـ `one_factor` بحسب إعداد `default_2fa_method`.",{"type":88,"title":147,"body":148},"نصيحة أخيرة: ابدأ بسيطاً وتطور تدريجياً","انشر أولاً Authelia مع خلفية الملف، قاعدة `two_factor` واحدة لخدماتك الأكثر تعرضاً، وTOTP كطريقة MFA. بمجرد الاستقرار، انتقل إلى LLDAP لإدارة الفرق، فعّل موفر OIDC لـ SSO، ثم أضف WebAuthn للمستخدمين الذين لديهم مفتاح مادي أو جهاز يدعم مفاتيح المرور. هذا التدرج يمنعك من تصحيح عدة مكوّنات جديدة في آنٍ واحد.","انشر Authelia على خادم VPS الخاص بك بنقرة واحدة","أضِف المصادقة الثنائية والدخول الموحّد إلى كامل منظومتك المُستضافة ذاتياً دون تغيير أي تطبيق. يوفّر ServOrbit نسخة Authelia جاهزة للاستخدام — التهيئة مُولّدة، ومستخدم المسؤول مُنشأ، وتكامل الوكيل العكسي جاهز.","انشر Authelia","\u002Fvps-cloud?template=authelia",[154,173,192],{"id":155,"slug":156,"slugs":157,"title":161,"excerpt":162,"readTime":163,"views":164,"isPinned":19,"noindex":19,"publishedAt":165,"updatedAt":166,"category":167,"categories":168,"featuredImage":30,"bgImage":31,"posterImage":170,"relatedSolution":171},131,"استضف-مدير-كلمات-المرور-بنفسك-انشر-vaultwarden-على-vps",{"fr":158,"en":159,"ar":156,"es":160},"deploy-vaultwarden-vps","self-host-your-password-manager-deploy-vaultwarden-on-vps","desplegar-vaultwarden-en-un-vps","نشر Vaultwarden على VPS: مدير كلمات مرور ذاتي الاستضافة","استضف Vaultwarden بنفسك على VPS: كلمات مرور غير محدودة، توافق مع Bitwarden، خزائن الفريق وTOTP، بتكلفة شهرية ثابتة وأقل من 50 ميغابايت من الذاكرة.",15,3,"2026-06-24T00:00:00+00:00","2026-11-04T16:30:25+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[169],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fdeploy-vaultwarden-vps-poster.svg",{"categorySlug":27,"appSlug":172},"vaultwarden",{"id":174,"slug":175,"slugs":176,"title":180,"excerpt":181,"readTime":18,"views":182,"isPinned":19,"noindex":19,"publishedAt":183,"updatedAt":184,"category":185,"categories":186,"featuredImage":30,"bgImage":31,"posterImage":188,"relatedSolution":189},108,"تأمين-خادمك-الافتراضي-vps-باستخدام-crowdsec",{"fr":177,"en":178,"ar":175,"es":179},"securiser-vps-crowdsec","securing-your-vps-with-crowdsec","proteger-vps-con-crowdsec","تأمين خادمك الافتراضي VPS باستخدام CrowdSec","انشر CrowdSec على خادمك الافتراضي VPS لحجب الهجمات بفضل الكشف السلوكي وقائمة حظر مجتمعية مشتركة.",2,"2026-03-04T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[187],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsecuriser-vps-crowdsec-poster.svg",{"categorySlug":190,"appSlug":191},"الأمن-السيبراني-والحصن","crowdsec",{"id":193,"slug":194,"slugs":195,"title":199,"excerpt":200,"readTime":18,"views":201,"isPinned":19,"noindex":19,"publishedAt":202,"updatedAt":184,"category":203,"categories":209,"featuredImage":30,"bgImage":31,"posterImage":211,"relatedSolution":212},161,"استضافة-dockge-على-vps-مدير-مرئي-لـ-docker-compose",{"fr":196,"en":197,"ar":194,"es":198},"self-host-dockge-vps","how-to-self-host-dockge-on-a-vps-visual-docker-compose-manager","alojar-dockge-en-un-vps","استضافة Dockge على VPS: مدير مرئي لـ Docker Compose","انشر Dockge على خادم VPS الخاص بك — مدير مرئي خفيف ومفتوح المصدر لحُزم Docker Compose. أنشئ تطبيقات متعددة الحاويات وحرّرها وراقبها من واجهة ويب أنيقة، دون سطر الأوامر.",1,"2026-07-03T00:00:00+00:00",{"id":204,"name":205,"slug":206,"color":207,"icon":208},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[210],{"id":204,"name":205,"slug":206,"color":207,"icon":208},"\u002Fblog\u002Fcovers\u002Fself-host-dockge-vps-poster.svg",{"categorySlug":213,"appSlug":214},"نشر-التطبيقات-وdevops","dockge",true,1794270202602]