[{"data":1,"prerenderedAt":186},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-certimate-على-vps-شهادات-ssl-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-certimate-على-vps-شهادات-ssl-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":33,"intro":36,"sections":37,"ctaTitle":124,"ctaBody":125,"ctaButton":126,"ctaUrl":127,"relatedPosts":128},563,"استضافة-certimate-على-vps-شهادات-ssl",{"fr":12,"en":13,"ar":10,"es":14},"self-host-certimate-vps","self-host-certimate-vps-ssl-certificates","autoalojar-certimate-vps-certificados-ssl","Certimate على VPS: أتمتة شهادات SSL عبر ACME","ثبّت Certimate على خادم VPS: شهادات SSL تُصدر عبر ACME، وتُنشر عبر SSH على خوادمك، وتُجدَّد تلقائيًا، مع تنبيهات قبل انتهاء الصلاحية.",6,0,false,"2026-11-03T00:00:00+00:00","2026-11-04T02:04:22+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},7,"الاستضافة الذاتية","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-certimate-vps-poster.svg",{"categorySlug":34,"appSlug":35},"الأمن-السيبراني-والحصن","certimate","الشهادة المنتهية تعني موقعًا يعرض تحذيرًا أحمر لكل زائر، وواجهة API لم يعد أي عميل يستدعيها، وصباح اثنين ضائعًا في فهم سبب عدم تشغيل certbot على ذلك الخادم بالذات. Certimate، مدير شهادات مفتوح المصدر برخصة MIT، يركّز الدورة كاملة في مكان واحد: يحصّل الشهادات عبر ACME، وينشرها على خوادمك، ويجدّدها قبل انتهائها، وينبّهك عند أي فشل. يثبّته هذا الدليل باستخدام Docker Compose على خادم VPS، ويستبدل كلمة مرور المصنع، وينشره عبر HTTPS خلف nginx، ثم يبني أول مسار DNS-01 ونشرًا عبر SSH.",[38,42,52,86,89,102,106,109,112,115,118,121],{"type":39,"title":40,"body":41},"h2","لماذا تجمع شهاداتك في مكان واحد","يتقن certbot أمرًا واحدًا: تجديد شهادة الخادم الذي يعمل عليه. وما إن تدير عدة خوادم أو شهادة wildcard مشتركة أو مواقع عملاء، حتى يصبح كل جهاز موعدًا نهائيًا تراقبه على حدة، ولا يُكتشف الفشل الصامت إلا حين يعرض المتصفح تحذيره.\n\nوفوق ذلك، تقصر مدة صلاحية الشهادات العامة عامًا بعد عام، ما يضاعف مرات التجديد. إن جمع الإصدار والنشر والمراقبة في مكان واحد، مع سجل وتنبيهات، هو الطريقة الأكثر أمانًا كي لا تنتهي صلاحية أي شهادة بعد اليوم.",{"type":43,"title":44,"items":45},"ul","ما يقدّمه Certimate",[46,47,48,49,50,51],"**مسارات عمل مرئية** — الطلب والنشر والتنبيه متسلسلة في مسار واحد، مجدول للتجديد.","**DNS-01 وHTTP-01** — شهادات wildcard ومتعددة النطاقات عبر DNS-01 لدى أكثر من 70 مزوّدًا، منها Cloudflare وOVHcloud وHetzner.","**عدة سلطات** — Let's Encrypt وZeroSSL وGoogle Trust Services وSSL.com؛ بمفاتيح RSA أو ECC.","**أكثر من 160 وجهة نشر** — SSH وcPanel وNginx Proxy Manager وProxmox VE وKubernetes وشبكات CDN والخدمات السحابية.","**صيغ PEM وPFX وJKS** — لـ nginx أو Apache أو IIS أو تطبيق Java.","**تنبيهات** — البريد الإلكتروني أو Telegram أو Slack أو Discord أو Matrix أو webhook عند كل فشل وقبل انتهاء الصلاحية.",{"type":53,"title":54,"headers":55,"rows":59},"comparison","Certimate وcertbot وNginx Proxy Manager",[5,56,57,58],"Certimate","certbot","Nginx Proxy Manager",[60,65,70,74,79,82],[61,62,63,64],"واجهة ويب","نعم، مسارات مرئية","لا، سطر الأوامر","نعم",[66,67,68,69],"عدة خوادم","نعم، نشر عبر SSH وAPI","لا، واحد لكل خادم","لا، مضيفاته فقط",[71,72,73,64],"Wildcard عبر DNS-01","نعم، أكثر من 70 مزوّدًا","نعم، عبر إضافات",[75,76,77,78],"تنبيهات الفشل","نعم، متعددة القنوات","لا، تحتاج إلى سكربت","لا",[80,78,78,81],"وكيل عكسي","نعم، هذا دوره",[83,64,84,85],"سجل التنفيذ","سجل محلي","جزئي",{"type":39,"title":87,"body":88},"المتطلبات","يكفي خادم VPS بنظام Ubuntu 24.04 وذاكرة 512 ميغابايت مع Docker مثبّت: يستهلك Certimate نحو عشرين ميغابايت. جهّز نطاقًا فرعيًا للوحة (مثل `certs.example.com`) يشير إلى الخادم، وnginx كوكيل عكسي. وللمسارات، احتفظ برمز API من مزوّد DNS ووصول SSH إلى الخوادم التي ستستقبل الشهادات.",{"type":90,"title":91,"steps":92},"steps","تثبيت Certimate باستخدام Docker Compose",[93,96,99],{"title":94,"body":95},"تجهيز المجلد وكلمة المرور","أنشئ مجلد التطبيق وملف `.env` يحمل كلمة مرور المسؤول مولّدة عشوائيًا.\n```bash\nmkdir -p \u002Fopt\u002Fcertimate && cd \u002Fopt\u002Fcertimate\nprintf 'ADMIN_PASSWORD=%s\\n' \"$(openssl rand -hex 16)\" > .env\nchmod 600 .env\n```",{"title":97,"body":98},"كتابة ملف compose","أنشئ `compose.yaml`. في أول تشغيل فقط، يطبّق الأمر `ADMIN_PASSWORD` على حساب المصنع قبل تشغيل الخادم؛ ويمنع الملف العلامة لاحقًا الكتابة فوق كلمة مرور غُيّرت من الواجهة. يُنشر المنفذ على الواجهة المحلية فقط: لا يصل إليه إلا nginx.\n```yaml\nservices:\n  certimate:\n    image: certimate\u002Fcertimate:v0.4.36\n    restart: unless-stopped\n    ports:\n      - \"127.0.0.1:8109:8090\"\n    environment:\n      ADMIN_PASSWORD: ${ADMIN_PASSWORD:?ADMIN_PASSWORD requis}\n    entrypoint: [\"sh\", \"-c\"]\n    command:\n      - >-\n        if [ ! -f \u002Fapp\u002Fpb_data\u002F.admin-seeded ]; then\n        .\u002Fcertimate superuser upsert admin@certimate.fun \"$$ADMIN_PASSWORD\" && touch \u002Fapp\u002Fpb_data\u002F.admin-seeded || exit 1;\n        fi;\n        exec .\u002Fcertimate serve --http 0.0.0.0:8090\n    volumes:\n      - certimate-data:\u002Fapp\u002Fpb_data\nvolumes:\n  certimate-data: {}\n```",{"title":100,"body":101},"التشغيل والتحقق","شغّل الحزمة. يطبّق Certimate ترحيلاته عند البدء، ثم يجب أن يستجيب فحص الصحة.\n```bash\ndocker compose up -d\ndocker compose ps\ncurl -fsS http:\u002F\u002F127.0.0.1:8109\u002Fapi\u002Fhealth\n```",{"type":103,"title":104,"body":105},"tip","لا تترك كلمة مرور المصنع مفعّلة أبدًا","تأتي الصورة بحساب **admin@certimate.fun** وكلمة المرور **1234567890**، وهي موثّقة في ملف README للمشروع. لوحة مكشوفة بهذه البيانات تمنح أي شخص رموز DNS ومفاتيح SSH الخاصة بك. يستبدلها الأمر أعلاه قبل أن يبدأ الخادم بالاستماع أصلًا؛ وإذا شغّلت الصورة بطريقة أخرى، فغيّرها قبل نشر النطاق.",{"type":39,"title":107,"body":108},"نشر اللوحة عبر HTTPS خلف nginx","أضف كتلة خادم توجّه الطلبات إلى الواجهة المحلية. للبدء، استخدم شهادة حصّلتها مرة واحدة بـ certbot؛ ثم يستطيع Certimate تجديد شهادته كبقية الشهادات.\n```nginx\nserver {\n    listen 443 ssl;\n    server_name certs.example.com;\n    # ssl_certificate \u002F ssl_certificate_key: current certificate\n    location \u002F {\n        proxy_pass http:\u002F\u002F127.0.0.1:8109;\n        proxy_set_header Host $host;\n        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n        proxy_set_header X-Forwarded-Proto https;\n    }\n}\n```\n\nافتح `https:\u002F\u002Fcerts.example.com`، وسجّل الدخول بـ `admin@certimate.fun` وكلمة المرور الموجودة في ملف `.env`، ثم غيّر البريد الإلكتروني وكلمة المرور من إعدادات الحساب.",{"type":39,"title":110,"body":111},"أول مسار: شهادة wildcard عبر DNS-01","في **الوصول**، أنشئ وصولًا إلى Cloudflare (أو OVHcloud أو Hetzner…) برمز API مقصور على صلاحية تعديل DNS للمنطقة المعنية. في **مسارات العمل**، أنشئ مسارًا: عقدة طلب تضم `example.com` و`*.example.com`، وتحدي DNS-01، وسلطة Let's Encrypt، ومفتاح ECC.\n\nشغّل المسار يدويًا: يضيف Certimate سجل TXT، وينتظر انتشاره، ويحصّل الشهادة ويحفظها في **الشهادات** مع تاريخ انتهائها. لا يحتاج تحدي DNS-01 إلى أي منفذ مفتوح على الخوادم المستهدفة، وهو الوحيد الذي يسمح بشهادة wildcard.",{"type":39,"title":113,"body":114},"النشر عبر SSH على خوادم nginx","على كل خادم مستهدف، أنشئ حسابًا مخصصًا لا يستطيع إلا الكتابة في مجلد الشهادات وإعادة تحميل nginx:\n```bash\nuseradd -m -s \u002Fbin\u002Fbash certdeploy\ninstall -d -o certdeploy -m 750 \u002Fetc\u002Fssl\u002Fcertimate\necho 'certdeploy ALL=(root) NOPASSWD: \u002Fusr\u002Fsbin\u002Fnginx -t, \u002Fusr\u002Fbin\u002Fsystemctl reload nginx' > \u002Fetc\u002Fsudoers.d\u002Fcertdeploy\n```\n\nفي Certimate، أضف وصول SSH بالمفتاح إلى هذا الحساب، ثم عقدة نشر SSH بعد الطلب: المساران `\u002Fetc\u002Fssl\u002Fcertimate\u002Fexample.com.pem` و`.key`، والأمر `sudo nginx -t && sudo systemctl reload nginx`. وجّه `ssl_certificate` و`ssl_certificate_key` في مضيفاتك الافتراضية إلى هذه الملفات.",{"type":39,"title":116,"body":117},"تجديد مجدول وتنبيهات","فعّل المشغّل المجدول للمسار (تشغيل واحد يوميًا يكفي: لا يجدّد Certimate إلا عند اقتراب الانتهاء) وأضف عقدة تنبيه إلى Telegram أو Slack أو البريد الإلكتروني. يحتفظ كل تنفيذ بسجله: عند الفشل تعرف إن كان تحدي DNS أو السلطة أو النشر هو ما تعطّل، وتعرف ذلك قبل انتهاء الصلاحية.",{"type":39,"title":119,"body":120},"الأمان والنسخ الاحتياطي","تحتوي قاعدة بيانات Certimate على رموز DNS ومفاتيح SSH والمفاتيح الخاصة: تعامل مع اللوحة كخزنة. كلمة مرور قوية، وHTTPS فقط، ورموز وحسابات SSH بأدنى الصلاحيات. انسخ وحدة التخزين احتياطيًا بانتظام، وشفّر الأرشيف قبل نسخه خارج الخادم:\n```bash\ncd \u002Fopt\u002Fcertimate\ndocker compose stop\ndocker run --rm -v certimate_certimate-data:\u002Fdata -v \"$PWD\":\u002Fbackup alpine \\\n  tar czf \u002Fbackup\u002Fcertimate-$(date +%F).tar.gz -C \u002Fdata .\ndocker compose start\n```",{"type":39,"title":122,"body":123},"Certimate بنقرة واحدة على ServOrbit","من المتجر في مساحة العميل، يُثبَّت Certimate على خادم VPS بنظام Ubuntu 24.04 بنقرة واحدة: الحاوية الرسمية، وكلمة مرور المسؤول مولّدة ومطبّقة قبل أول تشغيل، ووحدة تخزين البيانات، والوكيل العكسي nginx عبر HTTPS على نطاقك أو على النطاق الفرعي المجاني للخادم. تظهر كلمة المرور في مساحة العميل على صفحة التطبيق.","شهاداتك تتجدد دون أن تفكر فيها","يكفي خادم VPS من ServOrbit بنظام Ubuntu 24.04 وذاكرة 512 ميغابايت لتشغيل Certimate. تثبيت بنقرة واحدة من المتجر، وكلمة مرور المسؤول مولّدة لك، وHTTPS على نطاقك أو على النطاق الفرعي المجاني للخادم.","اكتشف Certimate","\u002Fmarketplace\u002Fالأمن-السيبراني-والحصن\u002Fcertimate",[129,149,166],{"id":130,"slug":131,"slugs":132,"title":136,"excerpt":137,"readTime":138,"views":18,"isPinned":19,"publishedAt":139,"updatedAt":140,"category":141,"categories":146,"featuredImage":30,"bgImage":31,"posterImage":148,"relatedSolution":30},116,"شهادات-ssl-مجانية-باستخدام-lets-encrypt-على-خادم-vps",{"fr":133,"en":134,"ar":131,"es":135},"certificats-ssl-lets-encrypt-vps","free-ssl-certificates-with-lets-encrypt-on-a-vps","certificados-ssl-gratis-con-lets-encrypt-en-un-vps","شهادات SSL مجانية باستخدام Let's Encrypt على خادم VPS","دليل شامل لـ Let's Encrypt على VPS: certbot nginx، wildcard عبر DNS-01، تجديد systemd، تصليب TLS، استكشاف أخطاء rate-limits ومقارنة certbot مقابل acme.sh مقابل Caddy.",8,"2026-02-24T00:00:00+00:00","2026-09-30T11:20:34+00:00",{"id":138,"name":142,"slug":143,"color":144,"icon":145},"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[147],{"id":138,"name":142,"slug":143,"color":144,"icon":145},"\u002Fblog\u002Fcovers\u002Fcertificats-ssl-lets-encrypt-vps-poster.svg",{"id":150,"slug":151,"slugs":152,"title":156,"excerpt":157,"readTime":158,"views":159,"isPinned":19,"publishedAt":160,"updatedAt":161,"category":162,"categories":163,"featuredImage":30,"bgImage":31,"posterImage":165,"relatedSolution":30},204,"شهادات-tls-القصيرة-أتمتة-التجديد-بـ-acme",{"fr":153,"en":154,"ar":151,"es":155},"certificats-tls-courts-automatiser-acme","short-tls-certificates-automate-with-acme","certificados-tls-cortos-automatizar-con-acme","شهادات TLS القصيرة: أتمتة التجديد بـ ACME","تنتقل Let's Encrypt إلى شهادات مدتها 64 يومًا في 10 فبراير 2027 ثم 45 يومًا. الجدول الزمني وARI وقائمة تحقق لـ certbot وacme.sh وCaddy وTraefik وnginx.",12,1,"2026-08-01T00:00:00+00:00","2026-10-23T13:27:09+00:00",{"id":138,"name":142,"slug":143,"color":144,"icon":145},[164],{"id":138,"name":142,"slug":143,"color":144,"icon":145},"\u002Fblog\u002Fcovers\u002Fcertificats-tls-courts-automatiser-acme-poster.svg",{"id":167,"slug":168,"slugs":169,"title":173,"excerpt":174,"readTime":175,"views":23,"isPinned":19,"publishedAt":176,"updatedAt":177,"category":178,"categories":183,"featuredImage":30,"bgImage":31,"posterImage":185,"relatedSolution":30},37,"انشر-تطبيقاتك-باستخدام-nginx-proxy-manager-على-خادم-vps",{"fr":170,"en":171,"ar":168,"es":172},"deployer-avec-nginx-proxy-manager","deploy-your-applications-with-nginx-proxy-manager-on-a-vps","desplegar-con-nginx-proxy-manager","انشر تطبيقاتك باستخدام Nginx Proxy Manager على خادم VPS","أدِر النطاقات وشهادات SSL والوكيل العكسي لعدة خدمات على خادم VPS باستخدام Nginx Proxy Manager: التثبيت وشبكات Docker واستكشاف أخطاء 502 والإعداد المتقدم.",9,"2026-05-14T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":179,"name":180,"slug":181,"color":182,"icon":181},3,"النشر","deploiement","bg-success\u002F10 text-success",[184],{"id":179,"name":180,"slug":181,"color":182,"icon":181},"\u002Fblog\u002Fcovers\u002Fdeployer-avec-nginx-proxy-manager-poster.svg",1793758132907]