> ## Content Index
> Fetch the complete content index at: https://arabroot.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# مصطلحات الاستضافة الذاتية: دليل المبتدئين من الشبكة إلى ال Containers
- URL: https://arabroot.io/articles/مصطلحات-الاستضافة-الذاتية-للمبتدئين/
- Published: 2026-09-15T06:40:00.000Z
- Updated: 2026-10-05T17:30:43.000Z
- Description: مرجع مبسط لأهم المصطلحات التي ستقابلها في أدلة الاستضافة الذاتية، مثل Reverse Proxy وVolume وCGNAT، بأسمائها الإنجليزية كما تظهر في لوحات التحكم، مع شرح قصير لكل منها.
- Author: فريق عرب رووت
- Tags: الأدلة التقنية, هوم لاب, الشبكات والوصول, الاستضافة الذاتية, أساسيات

💡

هذا المقال مرجع ترجع إليه كلما صادفت مصطلحاً غير واضح في أدلة عرب رووت، حيث كتبنا كل مصطلح بالإنجليزية كما يظهر في لوحات التحكم والتوثيق الرسمي ومعه شرح عربي ومثال عملي، ولا تحتاج إلى حفظ المصطلحات دفعة واحدة، فابدأ بقسم الشبكات ثم ارجع إلى بقية الأقسام عند الحاجة.

لنفرض أنك قررت أن يشغل فريقك خدماته بنفسه، فيكون البريد والملفات والمحادثة على سيرفر تديره أنت بدلاً من الاشتراك في خدمة سحابية عامة Public Cloud، وهذا ما نسميه الاستضافة الذاتية Self-hosting. ولكن أول دليل تفتحه سوف يضعك أمام مصطلحات كثيرة في الشبكات والسيرفرات وال Containers، وكثير من أخطاء البداية يأتي من مصطلح لم يتضح معناه، كعنوان IP خاص Private IP تظنه عاماً، أو منفذ Port فتحته دون قصد، أو مصفوفة RAID تتعامل معها كأنها نسخة احتياطية Backup، وبالتالي فمعرفة معنى المصطلح قبل أن تطبق الدليل توفر عليك الكثير من الوقت في البحث عن سبب المشكلة لاحقاً.

لذلك جمعنا هنا المصطلحات التي تتكرر في أدلتنا ورتبناها من الشبكة إلى التطبيق، ولكل مصطلح شرح قصير في سطرين أو ثلاثة، ورابط إلى الدليل الذي يطبقه إن وجد.

وسوف نناقش في هذا المقال ما يلي:

- الشبكة والاتصال: من مزود الخدمة ISP حتى بطاقة الشبكة في السيرفر، ومعها Bandwidth وLatency وCDN.
- العناوين والأسماء: عناوين IP العامة والخاصة، وNAT والمنافذ، وDNS وسجلات البريد.
- الأمان والوصول: جدار الحماية Firewall، وال Reverse Proxy، وشهادات TLS، وSSH وVPN والدخول الموحد.
- السيرفرات والتخزين: VPS والأقراص وRAID والنسخ الاحتياطي، ولماذا لا يغني RAID عن النسخة الاحتياطية.
- المحاكاة الافتراضية Virtualization وال Containers: من ال Hypervisor حتى Docker Compose وKubernetes.
- مفاهيم الاستضافة الذاتية: Self-hosting وHomelab والرخص المفتوحة وSLA.

والصورة التالية تبين مسار الطلب من الإنترنت حتى يصل إلى سيرفرك، وسوف نمر على كل جهاز فيها في القسم الأول:

![مخطط يوضح مسار الطلب من الإنترنت عبر مزود الخدمة والمودم والـ Router والـ Switch إلى الخادم](https://arabroot.io/content/images/2026/10/self-hosting-terms-01-network-map.webp)

مسار الطلب من الإنترنت إلى سيرفرك في شبكة منزلية أو مكتبية نموذجية

## كيف يصل الطلب إلى سيرفرك: الشبكة والاتصال Networking

**ISP (Internet Service Provider)**: مزود خدمة الإنترنت، أي الشركة التي توصل الإنترنت إلى منزلك أو مكتبك، وسياسة هذا المزود هي التي تحدد ما تستطيع فعله، فهل تحصل على عنوان IP عام Public IP؟ وهل يسمح بفتح المنفذين 80 و443؟ وهل يحجب المنفذ 25 المخصص للبريد؟ لذلك اعرف إجابة هذه الأسئلة قبل أن تبني خطتك على سيرفر في المنزل أو المكتب.

**Modem / ONT**: الجهاز الذي يحول إشارة الخط إلى اتصال Ethernet يفهمه ال Router، سواءً كان الخط أليافاً ضوئية Fiber أو DSL أو كابلاً، وفي كثير من الاشتراكات يأتيك المودم وال Router في جهاز واحد.

**Router**: يربط شبكتك المحلية LAN بالإنترنت وينقل الحزم Packets بينهما، وهو غالباً الجهاز الذي يتولى NAT وDHCP وجدار الحماية Firewall الأساسي، ومن لوحة التحكم فيه تضبط إعادة توجيه المنافذ Port Forwarding إلى سيرفرك.

**Switch**: يربط الأجهزة بالكابلات داخل الشبكة المحلية نفسها، ويرسل كل حزمة إلى منفذ الجهاز المقصود فقط، أما ال Managed Switch فيضيف ميزات أخرى مثل VLAN ومراقبة المنافذ Port Mirroring.

**Ethernet**: معيار الاتصال السلكي في الشبكات المحلية، والاتصال السلكي أثبت للسيرفر وأسرع وتأخيره Latency أقل من الشبكة اللاسلكية Wireless، لذلك لا تشغل سيرفراً عبر Wi-Fi إلا للتجربة، والسبب أن أي ضعف في الإشارة يعني أن خدماتك كلها تتأثر معه.

**RJ45**: الموصل المعتاد في كابلات Ethernet، والسرعة المدعومة تحددها فئة الكابل Cat5e أو Cat6، فالكابل Cat6 مثلاً يكفي لسرعة 1 Gbps بهامش مريح، ولسرعة 10 Gbps على المسافات القصيرة.

**PoE (Power over Ethernet)**: نقل الكهرباء والبيانات معاً في كابل Ethernet نفسه، ومثال ذلك كاميرا أو نقطة وصول لاسلكية Access Point تعمل دون محول كهرباء Power Adapter منفصل، ولكن يلزمك لذلك Switch يدعم PoE أو محول PoE Injector.

**NIC (Network Interface Controller)**: بطاقة الشبكة في الجهاز، وإذا كان سيرفرك يستضيف آلات افتراضية Virtual Machines كثيرة فقد تحتاج إلى بطاقة ثانية أو أسرع (2.5 أو 10 Gbps).

**MAC Address**: معرف تأتي به كل بطاقة شبكة من المصنع، مثل `3c:52:82:1a:4f:07`، ويعمل داخل الشبكة المحلية فقط، حيث يستخدمه ال Router ليربط الجهاز بعنوان IP محجوز له. ولاحظ أن الهواتف والحواسيب الحديثة قد تستخدم عنواناً عشوائياً Random MAC في شبكات Wi-Fi، لذلك احجز العنوان لبطاقة السيرفر السلكية.

**WAP (Wireless Access Point)**: نقطة وصول تضيف شبكة Wi-Fi إلى شبكتك السلكية، وفي المكاتب يفضل فصلها عن ال Router وتوزيع أكثر من نقطة في مواقع مختلفة حتى تكون التغطية أفضل.

**LAN (Local Area Network)**: الشبكة المحلية في المنزل أو المكتب، وتتخاطب فيها الأجهزة مباشرة بعناوين خاصة.

**WAN (Wide Area Network)**: الشبكة الواسعة، وفي لوحة ال Router تعني الجهة المتصلة بالإنترنت، و«منفذ WAN» هو المنفذ الذي يدخل فيه كابل المودم.

**VLAN (Virtual LAN)**: تقسم شبكة فعلية واحدة إلى شبكات منطقية معزولة، فتكون مثلاً شبكة للسيرفرات وأخرى للموظفين وثالثة للضيوف وأجهزة إنترنت الأشياء IoT، وبهذا الشكل لا يصل جهاز أحد الضيوف إلى سيرفرك مباشرة.

**Broadcast Domain**: مجموعة الأجهزة التي تتبادل رسائل البث Broadcast مثل طلبات DHCP، وكل VLAN هو نطاق بث مستقل، ولهذا يتحقق العزل Isolation بين الأجهزة عندما تقسم الشبكة بال VLAN.

**Bandwidth** أو عرض النطاق: أقصى كمية بيانات تمر عبر الاتصال في الثانية، وتقاس عادة بالميجابت في الثانية Mbps. ولاحظ أن بعض المزودين يستخدم الكلمة نفسها لحصة النقل الشهرية Monthly Quota، لذلك تأكد من المقصود في عرض المزود قبل أن تشترك.

**Latency** أو زمن الاستجابة: الوقت الذي تحتاجه البيانات لتذهب من جهازك إلى السيرفر وتعود، ويقاس بالمللي ثانية ms، والمسافة الجغرافية تؤثر فيه أكثر من سرعة الاتصال، لذلك اختر مركز بيانات قريباً من مستخدميك.

**CDN (Content Delivery Network)** أو شبكة توصيل المحتوى: شبكة سيرفرات موزعة جغرافياً تحتفظ بنسخ من الملفات الثابتة Static Files لموقعك كالصور والخطوط، فيحصل كل زائر على الملفات من أقرب سيرفر إليه، وبالتالي يخف الحمل عن سيرفرك ويسرع التحميل.

## عناوين IP وأسماء النطاقات Domains

**IPv4 Address**: عنوان رقمي من أربعة أجزاء مثل `203.0.113.10` يعرف الجهاز على الشبكة، وهو نوعان: عام Public يراه الإنترنت، وخاص Private يستخدم داخل الشبكات المحلية فقط.

**Private Addresses**: [نطاقات محجوزة للشبكات الداخلية](https://datatracker.ietf.org/doc/html/rfc1918?ref=arabroot.io) لا يوجهها الإنترنت، وسوف تراها كثيراً في إعدادات ال Router وDocker، وهي كما يلي:

| النطاق         | الاستخدام الشائع                                                                                                                                      |
| -------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
| 10.0.0.0/8     | الشبكات الكبيرة، وأحياناً شبكات VPN وDocker                                                                                                           |
| 172.16.0.0/12  | شبكات Docker الافتراضية (172.17.0.0/16 وما بعدها)                                                                                                     |
| 192.168.0.0/16 | أغلب الشبكات المنزلية والمكاتب الصغيرة                                                                                                                |
| 100.64.0.0/10  | عناوين CGNAT لدى مزود الخدمة، وهي ليست عنوانك العام، وهذا النطاق مشترك Shared Address Space وليس من نطاقات RFC 1918، ولكنه لا يوجه على الإنترنت أيضاً |

**Dynamic IP** و**Static IP**: العنوان المتغير يتبدل من حين لآخر، عند إعادة تشغيل ال Router أو بعد مدة معينة، أما العنوان الثابت فلا يتغير. وإذا كان سيرفرك يستقبل اتصالات من الإنترنت فالأسهل أن يكون لديك عنوان عام ثابت، والبديل هو DDNS أو نفق Tunnel مثل Cloudflare Tunnel.

**CGNAT (Carrier-Grade NAT)**: هنا يضع المزود عدداً من المشتركين خلف عنوان عام واحد، وبالتالي لا يصل إليك أحد من الإنترنت حتى لو فتحت المنافذ في ال Router. وتعرف أنك خلفه إذا بدأ عنوان WAN في ال Router بـ `100.64` إلى `100.127`، وهو [النطاق المخصص له](https://datatracker.ietf.org/doc/html/rfc6598?ref=arabroot.io)، أو إذا اختلف عن عنوانك الظاهر في مواقع مثل whatismyip، والحلول تجدها في دليل [تشغيل خادمك من إنترنت المنزل](https://arabroot.io/articles/%D8%AA%D8%B4%D8%BA%D9%8A%D9%84-%D8%AE%D8%A7%D8%AF%D9%85%D9%83-%D9%85%D9%86-%D8%A5%D9%86%D8%AA%D8%B1%D9%86%D8%AA-%D8%A7%D9%84%D9%85%D9%86%D8%B2%D9%84/).

**IPv6 Address**: [الجيل الجديد من العناوين](https://datatracker.ietf.org/doc/html/rfc8200?ref=arabroot.io) بطول 128 بت، مثل `2001:db8::10`، وهو يحل مشكلة نقص عناوين IPv4 ويعطي كل جهاز عنواناً عاماً. ولكن تذكر أن جدار الحماية هنا أهم، والسبب أن NAT لم يعد يخفي أجهزتك.

**Subnet** أو الشبكة الفرعية، و**CIDR**: [طريقة لكتابة نطاق من العناوين](https://datatracker.ietf.org/doc/html/rfc4632?ref=arabroot.io)، مثل `192.168.1.0/24` أي 256 عنواناً من `192.168.1.0` إلى `192.168.1.255`، والرقم بعد الشرطة المائلة يحدد حجم الشبكة، فكلما كبر الرقم صغرت الشبكة.

**NAT (Network Address Translation)**: [يترجم عناوين أجهزتك الخاصة](https://datatracker.ietf.org/doc/html/rfc3022?ref=arabroot.io) إلى عنوانك العام الوحيد عندما تخرج إلى الإنترنت، لذلك لا يصل أحد من الخارج إلى سيرفرك تلقائياً، وتحتاج إلى إعادة توجيه منفذ كما سيأتي.

**Port** أو المنفذ: رقم من 1 إلى 65535 يحدد الخدمة على الجهاز، فالعنوان يوصلك إلى الجهاز، والمنفذ يوصلك إلى التطبيق الذي يعمل عليه، وهذه أشهر المنافذ التي سوف تراها في أدلتنا:

| المنفذ          | الخدمة                                                                     |
| --------------- | -------------------------------------------------------------------------- |
| 22/tcp          | SSH لإدارة السيرفر                                                         |
| 25/tcp و587/tcp | إرسال البريد SMTP (الأول للتبادل بين السيرفرات، والثاني لإرسال المستخدمين) |
| 53              | DNS                                                                        |
| 80/tcp و443/tcp | مواقع الويب HTTP وHTTPS                                                    |
| 993/tcp         | قراءة البريد IMAPS                                                         |
| 3306 و5432      | قواعد بيانات MySQL/MariaDB وPostgreSQL (لا تنشرها على الإنترنت)            |
| 51820/udp       | WireGuard VPN                                                              |

**Port Forwarding** أو إعادة توجيه المنفذ: قاعدة في ال Router تقول له مثلاً: أرسل ما يصل إلى المنفذ 443 من الإنترنت إلى السيرفر `192.168.1.20`. ووجه أقل عدد ممكن من المنافذ، والسبب أن كل منفذ مفتوح هو باب إضافي يطرقه كل من يفحص الإنترنت، وغالباً يكفيك توجيه 80 و443 إلى ال Reverse Proxy.

**DHCP (Dynamic Host Configuration Protocol)**: [يوزع العناوين الداخلية على الأجهزة](https://datatracker.ietf.org/doc/html/rfc2131?ref=arabroot.io) تلقائياً عند اتصالها بالشبكة، لذلك احجز للسيرفر عنواناً ثابتاً في ال Router، أي DHCP reservation مرتبطاً بعنوان MAC الخاص به، والسبب أن السيرفر إذا حصل على عنوان جديد فسوف تتعطل قواعد إعادة التوجيه التي تشير إلى عنوانه القديم.

**DNS (Domain Name System)**: [النظام الذي يحول الأسماء](https://datatracker.ietf.org/doc/html/rfc1034?ref=arabroot.io) مثل `app.example.com` إلى عناوين IP، وأهم سجلاته: `A` لعنوان IPv4، و`AAAA` لعنوان IPv6، و`CNAME` للاسم البديل، و`MX` لسيرفر البريد، و`TXT` للتحقق من ملكية النطاق Domain Verification ولسياسات البريد مثل SPF، وقد شرحنا طريقة عمله وكل سجل منها بمثال في [شرح DNS وسجلاته للمبتدئين](https://arabroot.io/articles/%D8%B4%D8%B1%D8%AD-dns-%D9%88%D8%B3%D8%AC%D9%84%D8%A7%D8%AA%D9%87-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/).

**DDNS (Dynamic DNS)**: خدمة تحدث سجل DNS تلقائياً كلما تغير عنوانك العام، فيبقى الاسم يشير إلى منزلك أو مكتبك حتى لو غير المزود عنوانك.

**Hostname**: اسم الجهاز داخل الشبكة، مثل `srv01`، واختر أسماء واضحة ولا تغيرها، فسوف تراها كل يوم في السجلات Logs وأدوات المراقبة Monitoring، واسم مثل «server-new2» لن يبدو مناسباً بعد سنة عندما يصبح أقدم سيرفر لديك.

**Domain** أو النطاق: الاسم الذي تشتريه وتدير سجلاته، مثل `example.com`، ومنه تنشئ نطاقاً فرعياً Subdomain لكل خدمة، مثل `git.example.com` و`mail.example.com`.

**FQDN (Fully Qualified Domain Name)**: الاسم الكامل الذي يحدد جهازاً أو خدمة دون لبس، مثل `mail.example.com`، وخدمات كثيرة منها البريد وشهادات TLS تشترط اسماً كاملاً صحيحاً ولا تقبل الاسم المختصر Short Name.

والصورة التالية تبين كيف تجتمع هذه المصطلحات في طلب واحد، من اسم النطاق حتى التطبيق على سيرفرك:

![مخطط يوضح طلباً إلى git.example.com يسأل فيه المتصفح DNS عن العنوان، ثم يصل إلى العنوان العام على المنفذ 443، فيوجهه ال Router إلى السيرفر، ويسمح به جدار الحماية، ثم يمرره ال Reverse Proxy إلى ال Container](https://arabroot.io/content/images/2026/10/self-hosting-terms-02-request-path.webp)

طلب واحد يمر على DNS والعنوان العام وإعادة توجيه المنفذ وجدار الحماية وال Reverse Proxy حتى يصل إلى ال Container

**MX / SPF / DKIM / DMARC**: سجلات DNS خاصة بالبريد الإلكتروني، فسجل MX يحدد السيرفر الذي يستقبل بريد نطاقك، وسجل SPF يحدد السيرفرات المسموح لها بالإرسال باسمه، ويضيف DKIM توقيعاً رقمياً Digital Signature يثبت أن الرسالة لم تعدل في الطريق، أما DMARC فيحدد ما يفعله المستقبل بالرسائل التي تفشل في هذه الفحوص، والتفاصيل في [شرح SPF وDKIM وDMARC للمبتدئين](https://arabroot.io/articles/%D8%B4%D8%B1%D8%AD-spf-%D9%88-dkim-%D9%88-dmarc-%D9%84%D9%84%D9%85%D8%A8%D8%AA%D8%AF%D8%A6%D9%8A%D9%86/). وبدون هذه السجلات تنتهي رسائلك غالباً في البريد العشوائي Spam، وقد لا تصل أصلاً كما سوف ترى في قصة GitLab في قسم التخزين.

## حماية سيرفرك والوصول إليه Security and Access

**Firewall** أو جدار الحماية: يحدد ما يدخل إلى الشبكة أو الجهاز وما يخرج منهما، وعلى سيرفرات Ubuntu نستخدم الأداة `ufw`. ولكن لاحظ أن Docker [يضيف قواعده الخاصة](https://docs.docker.com/engine/network/packet-filtering-firewalls/?ref=arabroot.io) وقد يتجاوز بها `ufw`، وشرحنا ذلك في [دليل تثبيت Docker](https://arabroot.io/articles/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-docker-%D8%B9%D9%84%D9%89-ubuntu/).

**Proxy**: وسيط تمر عبره اتصالات الأجهزة إلى الإنترنت، ويستخدم لتصفية المحتوى Filtering أو للتخزين المؤقت Caching أو لإخفاء عنوان الجهاز.

**Reverse Proxy**: يعمل عكس ال Proxy، فيستقبل الطلبات القادمة من الإنترنت ويوزعها على تطبيقاتك الداخلية بحسب الاسم، وبفضله تستضيف عشرات الخدمات خلف المنفذ 443 وحده وتدير شهادات TLS من مكان واحد، ومن أمثلته Nginx Proxy Manager وCaddy وTraefik، وتطبيقه العملي في [دليل Nginx Proxy Manager](https://arabroot.io/articles/nginx-proxy-manager-%D9%86%D8%B7%D8%A7%D9%82%D8%A7%D8%AA-%D9%88%D8%B4%D9%87%D8%A7%D8%AF%D8%A7%D8%AA-tls/).

**TLS/SSL Certificate** أو شهادة التشفير: تثبت هوية الموقع وتشفر الاتصال، فيظهر القفل في المتصفح ويبدأ العنوان بـ `https://`. ولاحظ أن SSL هو الاسم القديم، أما البروتوكول المستخدم فعلياً اليوم فهو [TLS](https://datatracker.ietf.org/doc/html/rfc8446?ref=arabroot.io).

**Let's Encrypt**: جهة تصدر شهادات مجانية آلياً، وصلاحية الشهادة 90 يوماً وتتجدد تلقائياً، وتتحقق من ملكيتك للنطاق [بإحدى طرق التحقق Challenge Types](https://letsencrypt.org/docs/challenge-types/?ref=arabroot.io)، وأشهرها طريقتان: عبر المنفذ 80 (HTTP-01)، أو عبر سجل DNS (DNS-01). والطريقة الثانية تعمل حتى لو لم يكن سيرفرك مكشوفاً للإنترنت، وهي الوحيدة التي تصدر شهادة Wildcard مثل `*.example.com`، وهناك طريقة ثالثة أقل شيوعاً عبر المنفذ 443 (TLS-ALPN-01).

**SSH (Secure Shell)**: طريقتك الآمنة للوصول إلى طرفية Terminal السيرفر عن بعد، والصحيح أن تدخل بالمفاتيح SSH Keys وليس بكلمة المرور، وأن تمنع دخول المستخدم root مباشرة، والتفاصيل في دليلي [اختيار الخادم الافتراضي](https://arabroot.io/articles/%D9%83%D9%8A%D9%81-%D8%AA%D8%AE%D8%AA%D8%A7%D8%B1-%D8%AE%D8%A7%D8%AF%D9%85%D8%A7-%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A7-vps/) و[تأمينه](https://arabroot.io/articles/%D8%AA%D8%A3%D9%85%D9%8A%D9%86-%D8%AE%D8%A7%D8%AF%D9%85-vps-%D9%85%D9%86-%D8%A3%D9%88%D9%84-%D8%AF%D8%AE%D9%88%D9%84/).

**VPN (Virtual Private Network)**: نفق مشفر Encrypted Tunnel يجعل جهازك البعيد كأنه داخل شبكتك المحلية، وهو أفضل طريقة للوصول إلى لوحات الإدارة Admin Panels دون كشفها للإنترنت، وتطبيقه في دليل [WireGuard مع wg-easy](https://arabroot.io/articles/%D8%B4%D8%A8%D9%83%D8%A9-%D8%AE%D8%A7%D8%B5%D8%A9-%D9%85%D8%B9-wireguard-%D9%88-wg-easy/).

**SSO (Single Sign-On)**: الدخول الموحد، حيث يملك الموظف حساباً واحداً يدخل به إلى كل التطبيقات، وعندما يغادر تعطل حسابه من مكان واحد بدلاً من البحث عنه في كل تطبيق على حدة. ويعتمد على بروتوكولات مثل [**OIDC (OpenID Connect)**](https://openid.net/developers/how-connect-works/?ref=arabroot.io) و**SAML**، وتطبيقه في [دليل authentik](https://arabroot.io/articles/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-authentik-%D9%84%D9%84%D8%AF%D8%AE%D9%88%D9%84-%D8%A7%D9%84%D9%85%D9%88%D8%AD%D8%AF/).

**MFA / 2FA** أو التحقق المتعدد: عامل تحقق إضافي بعد كلمة المرور، مثل رمز مؤقت من تطبيق ([TOTP](https://datatracker.ietf.org/doc/html/rfc6238?ref=arabroot.io)) أو مفتاح أمان مادي Hardware Security Key، وفعله على كل حساب إداري قبل أي خطوة أخرى، والسبب أن كلمة المرور إذا تسربت وحدها فلن يبقى بين المخترق ولوحة الإدارة أي حاجز.

**SSH Key** أو مفتاح SSH: زوج من المفاتيح، مفتاح خاص Private Key يبقى على جهازك، ومفتاح عام Public Key تضعه على السيرفر، وهو يغنيك عن كلمة المرور ويصعب على المهاجم تخمينه بخلافها. ولا تشارك المفتاح الخاص مع أحد، فمن يملكه يدخل إلى السيرفر باسمك.

**OIDC (OpenID Connect)**: بروتوكول حديث للدخول الموحد مبني على OAuth 2.0، وتدعمه معظم التطبيقات مفتوحة المصدر ومنها Gitea وOutline، ويقابله SAML وهو الشائع في البيئات المؤسسية الأقدم.

## السيرفرات وأقراص التخزين Storage

**Server** أو الخادم، وهو ما نسميه في أدلتنا السيرفر: أي جهاز يقدم خدمة لأجهزة أخرى، وقد يكون جهازاً صغيراً في المنزل، أو سيرفراً في مركز بيانات Data Center، أو سيرفراً افتراضياً تستأجره.

**VPS (Virtual Private Server)**: سيرفر افتراضي تستأجره من مزود، فيه نظام تشغيل Operating System كامل وعنوان IP عام، ولكنه يتشارك العتاد Hardware مع عملاء آخرين، وهو أسهل بداية للاستضافة الذاتية، وتفاصيل الاختيار في [كيف تختار VPS](https://arabroot.io/articles/%D9%83%D9%8A%D9%81-%D8%AA%D8%AE%D8%AA%D8%A7%D8%B1-%D8%AE%D8%A7%D8%AF%D9%85%D8%A7-%D8%A7%D9%81%D8%AA%D8%B1%D8%A7%D8%B6%D9%8A%D8%A7-vps/).

**Bare Metal / Dedicated Server**: سيرفر فعلي كامل لك وحدك، ولا توجد فيه طبقة افتراضية Virtualization Layer يشاركك فيها أحد، وبالتالي فأداؤه أعلى وتحكمك فيه كامل، ولكن تكلفته ومسؤوليته أكبر.

والصورة التالية تبين الفرق بين ال VPS والسيرفر المخصص والسيرفر في المنزل:

![مخطط يقارن بين VPS يشارك فيه عملاء آخرون السيرفر الفعلي عبر Hypervisor، وسيرفر مخصص كامل لك وحدك، وسيرفر في المنزل يعتمد عنوانه العام على مزود الخدمة](https://arabroot.io/content/images/2026/10/self-hosting-terms-03-server-types.webp)

أين يعمل سيرفرك: من يملك العتاد، وهل لديك عنوان عام، وما الذي تتولاه بنفسك

**HDD (Hard Disk Drive)**: قرص ميكانيكي يعمل بأقراص دوارة، سعته كبيرة وسعره منخفض ولكنه أبطأ، لذلك يناسب الأرشيف والنسخ الاحتياطية وملفات الوسائط.

**SSD / NVMe**: أقراص حالة صلبة Solid State Drive لا توجد فيها أجزاء متحركة، وهي أسرع بكثير، وأسرعها [NVMe](https://nvmexpress.org/?ref=arabroot.io) لأنه يتصل مباشرة بمنفذ PCIe، لذلك ضع قواعد البيانات ونظام التشغيل على SSD دائماً.

**RAID**: يجمع عدة أقراص في وحدة واحدة، ففي RAID 1 نسخة مطابقة Mirror على قرصين، وفي RAID 5 أو 6 توزع البيانات ومعلومات التكافؤ Parity على كل الأقراص، فيتحمل RAID 5 تعطل قرص واحد، ويتحمل RAID 6 تعطل قرصين.

وقد يتساءل البعض: إذا كانت البيانات محفوظة على قرصين في RAID 1، فلماذا نحتاج إلى نسخة احتياطية؟ والإجابة أن RAID يحميك من تعطل قرص، ولكنه **ليس نسخة احتياطية**، والسبب أن الحذف الخاطئ أو أثر برامج الفدية Ransomware يصل إلى كل الأقراص فوراً، فما يحذف من قرص يحذفه RAID من الآخر في اللحظة نفسها.

والصورة التالية تبين الفرق بين RAID والنسخة الاحتياطية بقاعدة 3-2-1 التي نشرحها بعد قليل:

![مخطط يوضح أن الحذف في RAID 1 ينسخ إلى القرصين في اللحظة نفسها، بينما تحفظ قاعدة 3-2-1 ثلاث نسخ على نوعين من الوسائط منها نسخة خارج الموقع](https://arabroot.io/content/images/2026/10/self-hosting-terms-04-raid-backup.webp)

RAID يحمي من تعطل قرص، أما الحذف فلا يحمي منه إلا نسخة احتياطية منفصلة

**NAS (Network Attached Storage)**: جهاز تخزين متصل بالشبكة يقدم مجلدات مشتركة Shared Folders لكل الأجهزة، ويدعم غالباً RAID وتشغيل التطبيقات، وهو مكان مناسب للنسخ الاحتياطية لسيرفراتك داخل الشبكة.

**Backup** وقاعدة **3-2-1**: ثلاث نسخ من بياناتك، على نوعين مختلفين من الوسائط، واحدة منها على الأقل خارج الموقع Offsite. ولا تعتمد على نسخة لم تجرب استعادتها، والسبب أنك قد تكتشف أنها فارغة أو تالفة في اليوم الذي تحتاجها فيه، وهذا ما حدث بالضبط في القصة التالية.

📌

في 31 يناير 2017 كان أحد مهندسي GitLab يعالج مشكلة في نسخ قاعدة البيانات Replication، فحذف مجلد البيانات على سيرفر قاعدة البيانات الأساسي بدلاً من الثانوي، وعندما انتبه وأوقف الأمر بعد ثانية أو ثانيتين كان قرابة 300 GB قد حذفت. ثم اكتشف الفريق أن النسخ الاحتياطية بأداة pg\_dump كانت تفشل بصمت لأنها تستخدم PostgreSQL 9.2 بينما تعمل القاعدة بالإصدار 9.6، ورسائل التنبيه بالفشل كانت ترفض لأن DMARC لم يكن مضبوطاً، وال Snapshots في Azure لم تكن مفعلة لسيرفرات قاعدة البيانات. وفي النهاية استعادوا البيانات من LVM Snapshot أخذت يدوياً قبل الحادثة بنحو 6 ساعات، وضاعت تعديلات تلك الساعات، ومنها 5000 مشروع على الأقل، كما في [تقرير GitLab الرسمي عن الحادثة](https://about.gitlab.com/blog/postmortem-of-database-outage-of-january-31/?ref=arabroot.io). والدرس أن عدد آليات النسخ لا يفيدك إذا لم تجرب الاستعادة منها.

**Snapshot**: صورة لحالة القرص أو الآلة الافتراضية في لحظة معينة، تلتقطها في ثوان وتفيدك قبل التحديثات، ولكنها تحفظ عادة على العتاد نفسه، لذلك لا تغني عن نسخة احتياطية خارجية.

**UPS (Uninterruptible Power Supply)**: بطارية احتياطية تبقي السيرفر يعمل دقائق عند انقطاع الكهرباء، وهذه الدقائق تكفي لإيقافه بطريقة سليمة Graceful Shutdown بدلاً من انقطاع مفاجئ قد يتلف قواعد البيانات.

**vCPU (Virtual CPU)** أو المعالج الافتراضي: حصة من نواة معالج فعلي يخصصها المزود لسيرفرك الافتراضي، وقد تكون مشتركة Shared مع عملاء آخرين على السيرفر نفسه، أو مخصصة Dedicated لك وحدك، ويظهر الفرق بينهما في الأداء تحت الحمل.

**IOPS (Input/Output Operations Per Second)**: عدد عمليات القراءة والكتابة التي ينفذها القرص في الثانية، وهو أهم من السعة لقواعد البيانات وللتطبيقات التي تكتب على القرص كثيراً.

## المحاكاة الافتراضية Virtualization وال Containers

**Hypervisor**: البرنامج الذي يشغل آلات افتراضية على سيرفر واحد، والنوع الأول Type 1 يعمل مباشرة على العتاد مثل [Proxmox VE](https://www.proxmox.com/en/products/proxmox-virtual-environment/overview?ref=arabroot.io) وVMware ESXi وHyper-V، وهو الشائع في السيرفرات، أما النوع الثاني Type 2 فيعمل فوق نظام تشغيل عادي مثل VirtualBox، ويناسب التجربة على حاسوبك الشخصي.

**Virtual Machine (VM)**: حاسوب كامل بنظام تشغيله الخاص يعمل داخل ال Hypervisor، وعزله عن الأنظمة الأخرى قوي، ولكنه يستهلك ذاكرة RAM ومساحة قرص أكثر من ال Containers.

**Container**: [تطبيق يعمل معزولاً](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-container/?ref=arabroot.io) ومعه كل ما يحتاجه من مكتبات Libraries، ولكنه يشارك المضيف Host نواة نظام التشغيل Kernel، وبالتالي فهو أخف من الآلة الافتراضية وأسرع منها بكثير، ولهذا أصبح الطريقة المعتادة لتشغيل التطبيقات المستضافة ذاتياً.

والصورة التالية تبين الفرق بين الآلة الافتراضية وال Container:

![مخطط يقارن بين آلات افتراضية لكل منها نظام تشغيل ونواة خاصة فوق Hypervisor، وContainers تحمل التطبيق ومكتباته فقط وتشترك في نواة نظام المضيف عبر Docker](https://arabroot.io/content/images/2026/10/self-hosting-terms-05-vm-container.webp)

كل VM تحمل نظام تشغيل كاملاً، وال Containers تشترك في نواة واحدة

**Docker**: [الأداة الأشهر لبناء ال Containers وتشغيلها](https://docs.docker.com/get-started/docker-overview/?ref=arabroot.io)، وتثبيتها بشكل صحيح هو الخطوة الأولى في أغلب أدلتنا، وتجد الشرح في دليل [تثبيت Docker على Ubuntu](https://arabroot.io/articles/%D8%AA%D8%AB%D8%A8%D9%8A%D8%AA-docker-%D8%B9%D9%84%D9%89-ubuntu/).

**Image**: [القالب الجاهز الذي تنشئ منه ال Container](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-an-image/?ref=arabroot.io)، مثل `gitea/gitea:1.27.3`، والجزء بعد النقطتين هو الوسم Tag. وثبته دائماً على إصدار محدد بدلاً من `latest`، والسبب أن `latest` يشير إلى إصدار مختلف كلما صدر إصدار جديد، فيتغير التطبيق دون علمك.

**Registry**: [المكان الذي تحفظ فيه ال Images وتنزلها منه](https://docs.docker.com/get-started/docker-concepts/the-basics/what-is-a-registry/?ref=arabroot.io)، مثل Docker Hub وGitHub Container Registry، أو سجل داخلي لفريقك.

**Volume**: [مساحة تخزين دائمة يستخدمها ال Container](https://docs.docker.com/engine/storage/volumes/?ref=arabroot.io)، فال Container نفسه تحذفه وتعيد إنشاءه مع كل تحديث، أما البيانات كقواعد البيانات والملفات المرفوعة فتبقى في ال Volume، لذلك فال Volume هو ما يجب أن تنسخه احتياطياً.

**Docker Compose**: [ملف واحد](https://docs.docker.com/compose/?ref=arabroot.io) (`docker-compose.yml` أو `compose.yaml`) يصف التطبيق بكل خدماته: ال Containers والشبكات والمجلدات ومتغيرات البيئة، ثم تشغل ذلك كله بأمر واحد هو `docker compose up -d`، وعلى هذا الملف تقوم أدلتنا كلها.

**Environment Variables** وملف `.env`: [إعدادات تمررها إلى ال Container](https://docs.docker.com/compose/how-tos/environment-variables/?ref=arabroot.io) عند تشغيله مثل كلمات مرور قواعد البيانات، فضعها في ملف `.env` بصلاحيات Permissions مقيدة، ولا تضف هذا الملف إلى Git، والسبب أن كل من يصل إلى المستودع سوف يرى كلمات المرور، وحتى لو حذفت الملف لاحقاً فهو باق في تاريخ Git.

والصورة التالية تبين كيف ترتبط هذه المصطلحات ببعضها، من ال Registry حتى ال Volume:

![مخطط يوضح تنزيل ال Image من ال Registry، ثم إنشاء ال Container منها بملف compose.yaml وملف .env، وحفظ البيانات في Volume يبقى عند استبدال ال Container بإصدار جديد](https://arabroot.io/content/images/2026/10/self-hosting-terms-06-image-container-volume.webp)

ال Container يستبدل مع كل تحديث، والبيانات تبقى في ال Volume

**Kubernetes**: [منصة لإدارة ال Containers على عدة سيرفرات معاً](https://kubernetes.io/docs/concepts/overview/?ref=arabroot.io)، توزع الأحمال Workloads تلقائياً وتتعافى من الأعطال، ولكنها معقدة، ولسيرفر أو اثنين يكفيك Docker Compose.

## مفاهيم الاستضافة الذاتية

**Self-hosting**: أن تشغل خدماتك على بنية تتحكم فيها، سواءً كانت سيرفراً في مكتبك أو سيرفراً تستأجره، ويقابلها **SaaS (Software as a Service)**، أي أن تشترك في خدمة جاهزة يديرها غيرك.

**Homelab**: مختبر في المنزل من جهاز أو أكثر، تتعلم عليه وتجرب قبل الانتقال إلى بيئة الإنتاج Production، وهو أفضل مكان لتجربة الأدلة دون أن تخاطر بخدمات فريقك.

**Open Source** أو المصدر المفتوح: برمجيات [يتاح الكود المصدري لها](https://opensource.org/osd?ref=arabroot.io) للاطلاع والتعديل والتوزيع وفق رخصة License، لذلك اقرأ الرخصة قبل أن تعتمد على الأداة، فبعض الرخص مثل AGPL تفرض شروطاً إذا قدمت البرنامج على هيئة خدمة، وبعض المشاريع تحتفظ بمزايا للنسخة المدفوعة.

**Uptime / Monitoring**: قياس توفر الخدمات ومراقبتها، حتى تعرف أن خدمة توقفت قبل أن يخبرك المستخدمون بذلك.

**Data Sovereignty** أو السيادة على البيانات: أن تبقى بيانات مؤسستك في مكان تختاره وتحت قانون تختاره، وهي من أبرز أسباب الاستضافة الذاتية في الجهات الحكومية والمالية والتعليمية.

**API (Application Programming Interface)** أو الواجهة البرمجية: طريقة يتواصل بها برنامج مع آخر، كأن يطلب سكربت من Gitea قائمة المستودعات، ومعظم الأدوات مفتوحة المصدر توفر واجهة برمجية، وبالتالي تستطيع أن تكتب سكربتاً يقوم تلقائياً Automation بما تفعله يدوياً من الواجهة.

**Webhook**: رسالة يرسلها تطبيق تلقائياً إلى عنوان تحدده عند وقوع حدث معين، فمثلاً يبلغ Gitea سيرفر البناء CI Server عند كل دفع Push للكود، فيبدأ البناء دون تدخل منك.

**SLA (Service Level Agreement)** أو اتفاقية مستوى الخدمة: التزام مكتوب من المزود بنسبة توافر Uptime محددة مثل 99.9%، وبالتعويض إن لم يحققها، وعندما تستضيف بنفسك فأنت المسؤول عن هذا الالتزام أمام مستخدميك.

## الخلاصة

وصلنا لنهاية الموضوع، وأهم ما فيه:

- العنوان الخاص Private IP لا يراه الإنترنت، وإذا كان مزودك يضعك خلف CGNAT فلن يصل إليك أحد حتى لو فتحت المنافذ.
- العنوان يوصلك إلى الجهاز والمنفذ يوصلك إلى التطبيق، فوجه أقل عدد ممكن من المنافذ، وغالباً يكفيك 80 و443 إلى ال Reverse Proxy.
- Docker قد يتجاوز `ufw`، وفي IPv6 لا يخفي NAT أجهزتك، لذلك راجع جدار الحماية ولا تفترض أن السيرفر مخفي.
- RAID وال Snapshot لا يغنيان عن نسخة احتياطية خارجية بقاعدة 3-2-1، ولا تعتمد على نسخة لم تجرب استعادتها.
- ثبت ال Image على إصدار محدد، واحفظ بياناتك في ال Volume وليس في ال Container، وكلمات المرور في `.env` وليس في Git.
- لسيرفر أو اثنين يكفيك Docker Compose، واترك Kubernetes لمن يدير عدة سيرفرات.

## سجل التحديثات

- سبتمبر 2026: نشر المقال.
- أكتوبر 2026: مخطط جديد للشبكة، وإضافة مصطلحات Bandwidth وLatency وCDN وسجلات البريد وSSH Key وOIDC وvCPU وIOPS وAPI وWebhook وSLA.