كيفية تثبيت Jitsi Meet على Ubuntu 24.04 باستخدام شهادة SSL من Let's Encrypt

يُعد تثبيت Jitsi Meet على Ubuntu 24.04 عمليةً سهلةً إذا كانت إعدادات اسم النطاق (DNS) وجدار الحماية وخطة TLS صحيحةً قبل تشغيل مُثبِّت الحزمة. يدعم دليل الاستضافة الذاتية الرسمي لـ Jitsi، الذي تم تحديثه آخر مرة في 10 أغسطس 2026، نظام Ubuntu 22.04 أو أحدث، لذا فإن Ubuntu 24.04 LTS يقع ضمن نطاق الدعم الموثق. يوصي الدليل نفسه باستخدام شهادة TLS موثوقة، ويُرشِّح Let's Encrypt كخيار الشهادة المُفضَّل أثناء التثبيت.

يستخدم هذا الدليل meet.example.orgاسم المضيف كمثال. استبدله في كل مكان باسم النطاق المؤهل بالكامل الذي يشير فعليًا إلى خادمك.

ما الذي يجب أن يكون جاهزاً قبل تثبيت Jitsi Meet؟

يجب أن يتوفر لديك خادم أوبونتو 24.04 مع صلاحيات sudo، واسم نطاق عام، وإمكانية الوصول إلى الشبكة الواردة للمنافذ المطلوبة لـ Jitsi. Jitsi خدمة WebRTC تعمل في الوقت الفعلي، لذا فإن الخادم الذي يمكنه عرض صفحة ويب ولكنه لا يستطيع استقبال بيانات وسائط UDP لا يُعدّ خادمًا كاملاً.

  • نظام Ubuntu 24.04 LTS مع صلاحيات إدارية.
  • سجل DNS من النوع A، مثل meet.example.orgالذي يشير إلى عنوان IPv4 العام للخادم.
  • يمكن الوصول إلى منفذي TCP 80 و 443 من الإنترنت.
  • يمكن الوصول إلى منفذ UDP رقم 10000 لحركة مرور الوسائط العادية لـ Jitsi.
  • الوصول عبر SSH، عادةً عبر TCP 22 ما لم تقم بتغييره.
  • التحكم الكافي في أي جدار حماية سحابي أو مجموعة أمان أو جهاز توجيه أو جهاز NAT لإعادة توجيه نفس المنافذ.

تُشير وثائق Jitsi أيضًا إلى استخدام منفذ UDP 3478 لاستعلامات STUN عند تفعيله، ومنفذ TCP 5349 لحركة مرور TURN الاحتياطية. إذا كان الخادم موجودًا خلف جدار حماية NAT، فيجب ضبط إعدادات جدار الحماية بشكل صحيح على كلٍ من نظام Ubuntu وجهاز التوجيه أو الشبكة السحابية.

يعرض طرفية Ubuntu 24.04 إصدار نظام التشغيل وفحوصات إصدار OpenJDK 17 قبل تثبيت Jitsi Meet.
تأكد من أن الخادم يعمل بنظام Ubuntu 24.04 وتحقق من وقت تشغيل Java قبل بدء تثبيت Jitsi Meet.

هل يجب أن يتم حل اسم المضيف قبل أن يتمكن Let's Encrypt من العمل؟

نعم. أنشئ سجل DNS أولاً وانتظر حتى تُعيد خوادم DNS العامة عنوان الخادم العام. يجب أن يكون Let's Encrypt قادراً على التحقق من التحكم في اسم المضيف، وسيستخدم تكوين Nginx الخاص بـ Jitsi اسم المضيف هذا أيضاً.

بالنسبة لعملية نشر نموذجية، قم بإنشاء سجل A:

يكتباسمقيمة
أmeet.example.orgعنوان IPv4 العام لخادمك

من الخادم، تحقق من أن الاسم يتم حله كما هو متوقع:

getent ahostsv4 meet.example.org

إذا أعاد عنوانًا خاطئًا، فتوقف هنا وقم بتصحيح نظام أسماء النطاقات (DNS). إصدار شهادة قبل أن يكون نظام أسماء النطاقات صحيحًا عادةً ما يؤدي إلى فشل التحقق الذي يمكن تجنبه.

صفحة إدارة نظام أسماء النطاقات (DNS) لموقع meet.example.org بجانب طرفية تقوم بحل اسم المضيف إلى عنوان IPv4 العام الخاص به.
تحقق من أن اسم مضيف الاجتماع يُحل إلى العنوان العام لخادم Ubuntu قبل طلب شهادة Let's Encrypt.

ما هي الحزم الأساسية ومستودعات أوبونتو المطلوبة؟

يُشير دليل Jitsi الحالي لنظامي Debian/Ubuntu إلى استخدام gnupg2`sudo`، أو `sudo` nginx-full، curlأو `sudo` wget، أو sudo`sudo`. كما يُشير إلى ضرورة استخدام OpenJDK 17. يعتمد Jitsi على حزم من universeمستودع Ubuntu.

sudo apt update
sudo apt install apt-transport-https
sudo add-apt-repository universe
sudo apt update
sudo apt install gnupg2 nginx-full curl

تم الاحتفاظ بهذه apt-transport-httpsالحزمة هنا لأنها لا تزال موجودة في تعليمات البدء السريع الحالية لـ Jitsi. في أنظمة Ubuntu الحديثة، تم دمج بروتوكول HTTPS في APT، لذا فإن تثبيت هذه الحزمة قد يكون خطوة توافقية وليست تفعيلًا لميزة غير موجودة أصلًا.

تحديث طرفية أوبونتو APT، وتمكين مستودع universe، وتثبيت الحزم المطلوبة مسبقًا لـ Jitsi Meet.
قم بإعداد مصادر حزم أوبونتو وتثبيت المتطلبات الأساسية المشار إليها في دليل الاستضافة الذاتية الحالي لـ Jitsi.

كيف تتم إضافة مستودعات Prosody و Jitsi؟

يستخدم Jitsi برنامج Prosody لإرسال إشارات XMPP. ويشير دليل البدء السريع الرسمي حاليًا إلى ضرورة إضافة كل من مستودع حزم Prosody ومستودع Jitsi الثابت.

sudo curl -sL https://prosody.im/files/prosody-debian-packages.key   -o /usr/share/keyrings/prosody-debian-packages.key

echo "deb [signed-by=/usr/share/keyrings/prosody-debian-packages.key] http://packages.prosody.im/debian $(lsb_release -sc) main" |   sudo tee /etc/apt/sources.list.d/prosody-debian-packages.list

sudo apt install lua5.2

curl -sL https://download.jitsi.org/jitsi-key.gpg.key |   sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'

echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" |   sudo tee /etc/apt/sources.list.d/jitsi-stable.list

sudo apt update

لا تستخدم أي مستودع برامج شخصي (PPA) تابع لجهة خارجية بدلاً من هذه المستودعات. استخدام مصادر الحزم الموثقة من قِبل Jitsi يقلل من خطر خلط حزم Jitsi وProsody وUbuntu غير المتوافقة.

يعرض طرفية أوبونتو مفاتيح مستودعات Prosody و Jitsi الموثقة وأوامر قائمة المصادر.
أضف مصادر الحزم المستخدمة في دليل تثبيت Jitsi Debian و Ubuntu الحالي، ثم قم بتحديث بيانات تعريف APT.

ما هي منافذ جدار الحماية التي يجب فتحها قبل التثبيت؟

افتح المنافذ المطلوبة قبل طلب الشهادة حتى يتمكن التحقق من صحة HTTP من الوصول إلى الخادم، وحتى يتمكن تدفق الوسائط بعد التثبيت. بالنسبة لـ UFW، يقدم دليل Jitsi الحالي هذه القواعد:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 10000/udp
sudo ufw allow 22/tcp
sudo ufw allow 3478/udp
sudo ufw allow 5349/tcp
sudo ufw enable
sudo ufw status verbose

إذا كان SSH يستخدم منفذًا مختلفًا، فقم بالسماح بهذا المنفذ بدلًا من إضافة TCP 22 بشكل عشوائي. على جهاز افتراضي سحابي، كرر القواعد اللازمة في جدار حماية الموفر أو مجموعة الأمان. على خادم خلف جهاز توجيه، قم بتوجيه المنافذ المطلوبة إلى مضيف Ubuntu.

يعرض طرفية أوبونتو قواعد UFW لـ Jitsi Meet بما في ذلك TCP 80 و 443 و UDP 10000.
افتح منافذ الويب والوسائط وSSH وSTUN وTURN الموثقة في Jitsi في UFW، مع تعديل قاعدة SSH إذا كان خادمك يستخدم منفذًا غير قياسي.

كيف تقوم بتثبيت Jitsi Meet واختيار Let's Encrypt؟

قم بتثبيت الحزمة الشاملة من مستودع Jitsi:

sudo apt install jitsi-meet

يطلب منك برنامج التثبيت اسم مضيف Jitsi. أدخل اسم DNS العام، على سبيل المثال meet.example.org. تشير وثائق Jitsi الحالية إلى أن عملية التثبيت تعرض أيضًا خيارات شهادات SSL/TLS، وتوصي بخيار Let's Encrypt. حدد شهادة Let's Encrypt عند ظهور هذا الخيار.

يُفضّل هذا على التعامل مع برنامج نصي قديم مستقل للشهادة كخطوة عامة. يركز دليل البدء السريع الحالي على اختيار الشهادة ضمن عملية تثبيت الحزمة. إذا كانت الحزمة المثبتة لديك تعمل بشكل مختلف عن التوثيق الحالي، فلا تُنشئ مسارًا جديدًا: راجع تعليمات الحزمة وتوثيق Jitsi الخاص بالإصدار قبل تغيير ملفات Nginx أو الشهادة يدويًا.

مربعات حوار تكوين حزمة أوبونتو لاسم مضيف Jitsi Meet وخيار شهادة Let's Encrypt.
أدخل اسم مضيف الاجتماع العام أثناء تكوين الحزمة واختر خيار شهادة Let's Encrypt عندما يعرضه المثبت.

كيف يمكنك التأكد من أن بروتوكول HTTPS وصفحة الاجتماع يعملان؟

افتح التطبيق https://meet.example.orgمن متصفح خارج الخادم. عند نجاح عملية النشر، سيتم تحميل صفحة Jitsi Meet بدون ظهور تحذير بشأن شهادة المتصفح. أنشئ غرفة مؤقتة وانضم إليها من جهاز أو شبكة أخرى.

يُعدّ اختبار العميل الثاني مهمًا لأن تحميل الصفحة المقصودة يُثبت فقط أن بروتوكول HTTPS يعمل، ولا يُثبت إمكانية الوصول إلى حركة مرور الوسائط في Jitsi Videobridge. إذا تمكن مشاركان من الانضمام لكنهما لا يستطيعان سماع أو رؤية بعضهما البعض، فراجع أولًا منفذ UDP 10000 وأي قواعد NAT أو جدار حماية سحابي.

يعرض متصفح فايرفوكس صفحة Jitsi Meet الرئيسية على الرابط https://meet.example.org مع مؤشر اتصال آمن.
قم بتحميل عنوان URL العام لبروتوكول HTTPS وقم بإنشاء اجتماع تجريبي؛ يجب أن تتجنب شهادة Let's Encrypt الصالحة تحذيرات الثقة في المتصفح.

ما هي الخدمات التي يجب عليك فحصها بعد التثبيت؟

يتكون Jitsi Meet من عدة مكونات بدلاً من خدمة واحدة متكاملة. تشمل المكونات الشائعة في حزمة التثبيت Nginx و Prosody و Jicofo و Jitsi Videobridge. تحقق منها بشكل فردي:

sudo systemctl --no-pager --full status nginx prosody jicofo jitsi-videobridge2

يمكنك أيضًا فحص منافذ الاستماع:

sudo ss -lntup | grep -E ':80|:443|:10000'

إذا كانت إحدى الخدمات غير نشطة، فاقرأ سجلاتها قبل إعادة تثبيت الحزم بشكل متكرر. يشير دليل البدء السريع لـ Jitsi تحديدًا إلى [المسارات] /var/log/jitsi/jvb.logو[ /var/log/jitsi/jicofo.logالمسارات] و[ /var/log/prosody/prosody.logالمسارات] لتحديد المشكلات وحلها.

يعرض طرفية أوبونتو خدمات Nginx و Prosody و Jicofo و Jitsi Videobridge النشطة بالإضافة إلى منافذ الويب والوسائط التي تستمع.
تحقق من مكونات Jitsi الفردية وتأكد من أن مقابس الويب والوسائط المتوقعة تستمع بعد التثبيت.

ماذا لو كان الخادم خلف جدار الحماية NAT؟

تشير وثائق Jitsi إلى أن Videobridge يُفترض أن يُهيئ نفسه تلقائيًا عند بدء التشغيل عندما يكون الخادم خلف جدار حماية NAT، شريطة إعادة توجيه المنافذ المطلوبة. إذا استمرت المكالمات الثلاثية في الفشل، يُوضح الدليل تعيينًا ثابتًا للعناوين المحلية والعامة في /etc/jitsi/videobridge/jvb.conf:

ice4j {
  harvest {
    mapping {
      static-mappings = [
        {
          local-address = "<Local.IP.Address>"
          public-address = "<Public.IP.Address>"
        }
      ]
    }
  }
}

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

هل ينبغي لخادم Jitsi المتصل بالإنترنت أن يسمح لأي شخص بإنشاء غرف؟

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

قائمة التحقق السريعة لحل المشكلات

الأعراضتحقق أولاً
فشل إصدار عملة Let's Encryptسجل DNS A، وإمكانية الوصول إلى منفذ TCP 80 العام، وما إذا كانت خدمة أخرى تمتلك بالفعل منافذ الويب المتوقعة.
صفحة جيتسي لا يتم تحميلهاحالة Nginx، وTCP 443، وحل DNS، وأخطاء تثبيت الحزم.
يعرض المتصفح تحذيرًا بشأن الشهادةيجب أن يتطابق اسم مضيف الشهادة تمامًا مع اسم مضيف Jitsi وأن يتم إصداره من قبل جهة إصدار شهادات موثوقة.
انضم مستخدمان لكن لم يكن لديهما صوت/فيديوUDP 10000، قواعد جدار الحماية السحابي، إعادة توجيه جهاز التوجيه، وتعيين عناوين NAT.
لا يمكن لتطبيق الهاتف المحمول الاتصالتأكد من أن الخادم يستخدم شهادة موثوقة؛ تحذر وثائق Jitsi من أن عملاء الهاتف المحمول لا يقبلون النشر الموقع ذاتيًا في الإعداد العادي.
بإمكان أي شخص إنشاء اجتماعاتهذا هو السلوك الافتراضي؛ قم بتكوين الوصول المصادق عليه إذا لم يكن ذلك مقبولاً.

كيف ينبغي أن يبدو نشر نظام Ubuntu 24.04 بنجاح؟

النتيجة السليمة تتجاوز مجرد اكتمال التثبيت. يجب أن يُترجم اسم نطاقك إلى العنوان العام المقصود، وأن يُحمّل المتصفح Jitsi عبر بروتوكول HTTPS الموثوق، وأن يكون كل من Nginx ومكونات Jitsi نشطين، وأن يتمكن مشارك ثانٍ من تبادل الصوت والفيديو. إذا اجتازت هذه الفحوصات بنجاح، فقد تحققت من صحة مسارات الويب، وTLS، والإشارات، والوسائط الأساسية الأكثر أهمية في بيئة خادم واحد.

للحصول على تفاصيل التثبيت الحالية، يُرجى الرجوع إلى دليل الاستضافة الذاتية الرسمي لـ Jitsi على Debian/Ubuntu . وللحصول على إرشادات حول بنية النظام ونشره بشكل عام، يُرجى الاطلاع على نظرة عامة رسمية حول الاستضافة الذاتية لـ Jitsi . في حال اضطر المستخدمون للاتصال عبر شبكات مقيدة، يُرجى مراجعة وثائق تكوين TURN الرسمية لـ Jitsi .

اترك تعليقاً

حل مشكلة ارتفاع استهلاك وحدة المعالجة المركزية في تطبيق Jitsi Meet على متصفحات المستخدمين

حل مشكلة ارتفاع استهلاك وحدة المعالجة المركزية في تطبيق Jitsi Meet على متصفحات المستخدمين

قم بتشخيص ارتفاعات وحدة المعالجة المركزية في متصفح Jitsi Meet وقلل من حمل العميل عن طريق فحص مربعات الفيديو وتأثيرات الكاميرا ورسومات المتصفح وإعدادات المضيف.

كيفية مراقبة مقاييس Jitsi Videobridge باستخدام Prometheus و Grafana

كيفية مراقبة مقاييس Jitsi Videobridge باستخدام Prometheus و Grafana

تتبع حالة Jitsi Videobridge، وحمل المؤتمرات، وحركة المرور باستخدام نقطة نهاية Prometheus المدمجة، ثم استكشف البيانات وارسمها بيانيًا في Grafana.

كيفية إعداد اسم نطاق مخصص لـ Jitsi Meet Docker

كيفية إعداد اسم نطاق مخصص لـ Jitsi Meet Docker

قم بتكوين نطاق مخصص لـ Jitsi Meet Docker باستخدام DNS و PUBLIC_URL و HTTPS و Let's Encrypt ومنافذ جدار الحماية وإعدادات NAT والتحقق من طرف إلى طرف.

حل مشكلة عدم العثور على لوحة تحكم Zimbra الإدارية (404) بعد تجديد شهادة SSL

حل مشكلة عدم العثور على لوحة تحكم Zimbra الإدارية (404) بعد تجديد شهادة SSL

قم بإصلاح أخطاء 404 في وحدة تحكم إدارة Zimbra بعد تجديد شهادة SSL عن طريق التحقق من عنوان URL والمنفذ الصحيحين، وتوجيه الوكيل، وحالة الخدمة، والشهادات المنشورة، والسجلات.

إصلاح تحذير Nextcloud "لم يتم تكوين PHP OPcache بشكل صحيح"

إصلاح تحذير Nextcloud "لم يتم تكوين PHP OPcache بشكل صحيح"

تعرف على كيفية تشخيص وإصلاح تحذير تكوين PHP OPcache الخاص بـ Nextcloud عن طريق التحقق من إعدادات PHP SAPI النشطة، وحدود الحجم، والتعليقات، وإعادة التحقق.

إصلاح أخطاء ترحيل قاعدة بيانات Kopano بعد ترقية إصدار MySQL

إصلاح أخطاء ترحيل قاعدة بيانات Kopano بعد ترقية إصدار MySQL

قم باستكشاف أخطاء ترحيل قاعدة بيانات Kopano وإصلاحها بعد ترقية MySQL أو MariaDB عن طريق التحقق من النسخ الاحتياطية، وإصدارات الخادم، وأوضاع SQL، ومجموعة الأحرف، وحالة المخطط، والسجلات.

كيفية إعداد مصادقة LDAP و Active Directory في Nextcloud

كيفية إعداد مصادقة LDAP و Active Directory في Nextcloud

قم بتوصيل Nextcloud بـ LDAP أو Active Directory باستخدام النقل الآمن، وفلاتر المستخدم والمجموعة، وسمات تسجيل الدخول، وعملية نشر تم اختبارها.

إصلاح إشعارات Element لنظام Android بدون خدمات Google: دليل UnifiedPush

إصلاح إشعارات Element لنظام Android بدون خدمات Google: دليل UnifiedPush

إصلاح إشعارات Element Android على الهواتف التي تم إلغاء خدمة Google منها عن طريق تكوين UnifiedPush، وأذونات Android، وإعدادات البطارية، واختبارات التحقق الموثوقة.

إصلاح تحذير Nextcloud "قاعدة البيانات تفتقد بعض الفهارس"

إصلاح تحذير Nextcloud "قاعدة البيانات تفتقد بعض الفهارس"

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

كيفية إعداد تسجيل الدخول الموحد (SSO) باستخدام Keycloak في Element Web

كيفية إعداد تسجيل الدخول الموحد (SSO) باستخدام Keycloak في Element Web

قم بتكوين Keycloak SSO لـ Element Web عن طريق ربط OIDC بـ Synapse، وتعيين عنوان URL لإعادة الاتصال بدقة، وتعيين مطالبات المستخدم، واختبار تسجيل الخروج.