العودة إلى التحديثات
New releaseAug 11, 2026

zoneminder v1.38.4

ZoneMinder هو تطبيق برمجي مجاني ومفتوح المصدر لكاميرات المراقبة التلفزيونية المطوّر لنظام لينكس ويدعم كاميرات IP و USB والتناظرية.

مشاركة

ZoneMinder

Join Slack drawing

جميع الوثائق الخاصة بـ ZoneMinder متاحة الآن على الإنترنت على https://zoneminder.readthedocs.org

نظرة عامة

ZoneMinder هو مجموعة متكاملة من التطبيقات التي توفر حلاً كاملاً للمراقبة، يتيح التقاط وتحليل وتسجيل ومراقبة أي كاميرات CCTV أو كاميرات أمنية متصلة بجهاز يعمل بنظام Linux. صُمم ليعمل على التوزيعات التي تدعم واجهة Video For Linux (V4L) وقد تم اختباره مع كاميرات فيديو متصلة ببطاقات BTTV، ومجموعة متنوعة من كاميرات USB، كما أنه يدعم معظم كاميرات الشبكة IP.

التواصل مع فريق التطوير

قبل إنشاء issue في منتدى github الخاص بنا، يرجى قراءة قواعد النشر الخاصة بنا: https://github.com/ZoneMinder/ZoneMinder/wiki/Github-Posting-Rules

تم نقل ملف Dockerfile الخاص بنا

يرجى تقديم المشكلات المتعلقة بملف Dockerfile الخاص بـ ZoneMinder هنا: https://github.com/ZoneMinder/zmdockerfiles

طرق التثبيت

التثبيت من مستودع الحزم

هذه هي الطريقة الموصى بها لتثبيت ZoneMinder على نظامك. تتوفر حزم ZoneMinder مُصانة للتوزيعات التالية:

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

البناء من المصدر غير مستحسن

تاريخياً، كان تثبيت ZoneMinder على نظامك يتطلب البناء من الكود المصدري عن طريق تنفيذ أوامر configure و make و make install التقليدية. ولإتمام بناء ZoneMinder، كان لا بد من تحديد جميع تبعياته وتثبيتها مسبقاً. وكان يتعين نسخ نصوص Init و logrotate يدوياً إلى أماكنها بعد البناء. وكان يتعين تثبيت الحزم الاختيارية مثل jscalendar و Cambozola يدوياً. وقد يترك إلغاء التثبيت ملفات قديمة، مما قد يسبب مشاكل أثناء الترقية. وبالحديث عن الترقيات، فعندما يحين وقت الترقية، يجب تكرار جميع هذه الخطوات اليدوية مرة أخرى.

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

بناء حزمة ZoneMinder

بناء ZoneMinder في حزمة ليس أصعب من البناء من المصدر. في الواقع، إذا كنت قد نجحت في بناء ZoneMinder من المصدر في الماضي، فقد تجد هذه الخطوات أسهل.

عند بناء حزمة، من الأفضل القيام بهذا العمل في بيئة منفصلة مخصصة لأغراض التطوير. يمكن أن يكون ذلك ببساطة عن طريق إنشاء جهاز افتراضي، أو استخدام Docker، أو استخدام mock. يكفي خطأ واحد “Oops” لتندم على القيام بهذا العمل على خادم الإنتاج الخاص بك.

أخيراً، إذا كنت ترغب في بناء لقطة تطويرية من فرع master، فمن المستحسن أن تبني حزمتك أولاً باستخدام إصدار رسمي من ZoneMinder. سيساعد هذا في تحديد ما إذا كانت أي مشاكل قد تواجهها ناتجة عن عملية البناء أم أنها مشكلة جديدة في فرع master.

يرجى زيارة موقع ReadtheDocs الخاص بنا للحصول على تعليمات خاصة بكل توزيعة.

مُطوِّرو الحزم

العديد من القيم الافتراضية لمتغيرات إعدادات ZoneMinder غير قابلة للتهيئة في وقت البناء من خلال autotools أو cmake. تمت إضافة أداة جديدة تسمى zmeditconfigdata.sh للسماح لمُطوِّري الحزم بمعالجة أي متغير مخزن في ConfigData.pm دون تعديل المصدر.

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

./utils/zmeditconfigdata.sh ZM_OPT_CAMBOZOLA yes

لاحظ أن zmeditconfigdata.sh يُقصد استدعاؤه من مجلد البناء الجذر، قبل تشغيل cmake أو configure.

Docker

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

نموذج المساهمة والتطوير

نرحب جداً بطلبات السحب! إذا كنت ترغب في المساهمة، يرجى اتباع الخطوات التالية. على الرغم من أن الخطوة 3 اختيارية، إلا أنها مفضلة.

  1. قم بعمل Fork للمستودع
  2. افتح issue في متعقب GitHub Issues الخاص بنا. اتبع قالب الـ issue لوصف الخطأ أو المشكلة الأمنية التي وجدتها. يرجى ملاحظة أن طلبات الميزات أو الأسئلة يجب نشرها في منتدى المستخدمين أو قناة Slack الخاصة بنا.
  3. أنشئ فرع الميزة الخاص بك (git checkout -b 456-my-new-feature)
  4. قم بعمل commit لتغييراتك (git commit -am 'Added some feature') من المستحسن أن تقوم بعمل 'commit مبكراً وبشكل متكرر' بدلاً من تجميع جميع التغييرات في commit واحد.
  5. ادفع فرعك إلى fork الخاص بك على github (git push origin 456-my-new-feature)
  6. أنشئ طلب سحب جديداً
  7. سيقوم الفريق بعد ذلك بمراجعة تغييراتك ومناقشتها، ونأمل دمجها.

الفئات