إزالة تحذير قفل الملفات من Nextcloud باستخدام Redis
قم بتمكين قفل الملفات الموثوق به في Nextcloud، واختر الواجهة الخلفية المناسبة Redis أو Valkey، وتحقق من إزالة التحذير دون المخاطرة بتغييرات الملفات المتزامنة.
لإزالة تحذير Nextcloud بشأن قفل الملفات للمعاملات، تأكد أولاً من تفعيل خاصية القفل، ثم قم بتهيئة خادم خلفي دائم متوافق مع Redis مثل Redis أو Valkey. في الخوادم الصغيرة، قد يستخدم Nextcloud خادم قفل قاعدة البيانات الخاص به افتراضيًا؛ أما في خوادم الإنتاج أو أحمال العمل المشتركة، فيُفضل استخدام Redis للقفل لأنه يقلل من حركة بيانات القفل إلى قاعدة البيانات. لا تُسند أقفال الملفات إلى Memcached: يُحذر Nextcloud من أن القيم المخزنة مؤقتًا قد تختفي بشكل غير متوقع.
يحمي قفل الملفات التفاعلي عمليات الملفات من الكتابة المتضاربة، ويمكنه تحرير القفل عند انقطاع عملية التحميل أو أي عملية أخرى. كما يساعد على منع تلف الملفات أثناء التشغيل العادي، بما في ذلك العمل على الملفات المشتركة ووحدات التخزين الخارجية. لا يمنع هذا القفل شخصين من تعديل المستند نفسه في الوقت نفسه، ولا يوفر مؤشرات للتواجد؛ ولكنه يتحكم في عمليات الحفظ المتزامنة. راجع وثائق قفل الملفات التفاعلي في Nextcloud 35 .
memcache.locking...بالنسبة لخادم منزلي صغير، قد يكون تأمين قاعدة البيانات كافيًا في حال عدم وجود تحذيرات بشأن التأمين أو ضغط على قاعدة البيانات. اختر Redis أو Valkey للخوادم المشغولة، أو خوادم التطبيقات المتعددة، أو عندما ترغب في معالجة تأمينات الملفات خارج قاعدة البيانات. توصي إرشادات التخزين المؤقت للذاكرة الحالية لـ Nextcloud 35 باستخدام APCu للتخزين المؤقت المحلي وRedis للتأمين في عمليات النشر الشائعة على خادم واحد. يجب أن تستخدم جميع عُقد الويب المُجمّعة نفس نقطة نهاية Redis أو Valkey أو نفس المجموعة.
ابحث عن ملف إعدادات Nextcloud النشط، والذي يوجد عادةً config/config.phpفي مجلد تثبيت Nextcloud. قم بعمل نسخة احتياطية منه قبل تعديله. ابحث عن ملفي الإعدادات `conlocking` filelocking.enabledو` memcache.lockingconlocking.org`. يُفعّل مرجع الإعدادات خاصية القفل افتراضيًا؛ إذا وجدت قيمة `false` صريحة، فغيّرها إلى `true` أو احذف هذا التجاوز.
'filelocking.enabled' => true,
لا تُضِف نسخة ثانية من مفتاح موجود. يجب أن تحتوي مصفوفات إعدادات PHP على قيمة واحدة فعّالة لكل إعداد. إذا كنت تستخدم حاوية أو لوحة تحكم استضافة مُدارة، فقم بإجراء التغييرات من خلال آلية التكوين المدعومة لضمان استمرارها بعد التحديثات أو إعادة النشر. يُشير مرجع تحذيرات إدارة Nextcloud 35 إلى تحذير القفل ويربط بمتطلبات الواجهة الخلفية.
في أنظمة Debian أو Ubuntu، عادةً ما تكون أسماء الحزم على النحو التالي redis-server: `<اسم الحزمة php-redis>` و `<اسم الحزمة>`؛ استخدم حزم التوزيعة الخاصة بك وتأكد من مطابقة وحدة PHP مع إصدار PHP المستخدم من قِبل خادم الويب. في حال استخدام واجهة Redis الخلفية التقليدية، قم بتثبيت خدمة Redis وتشغيلها، وتأكد من تفعيل إضافة PHP Redis لواجهة برمجة تطبيقات الويب (SAPI). لا يضمن وجود وحدة PHP تعمل عبر سطر الأوامر فقط قدرة PHP-FPM أو Apache على تحميلها.
أضف تفاصيل نظام القفل وتفاصيل الاتصال إلى config.phpالمصفوفة الموجودة. يفترض هذا المثال أن Redis يعمل على نفس الجهاز، ويستمع على المنفذ 6379 في localhost، ويمكن الوصول إليه من خلال عملية Nextcloud PHP.
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => 'localhost',
'port' => 6379,
'timeout' => 0.0,
],
قم بتعيين بيانات المصادقة إذا كان خادم Redis الخاص بك يتطلبها. تجنب تعريض Redis للإنترنت العام؛ واقتصر استخدامه على المضيف أو الشبكة الخاصة، وقم بتكوين قواعد المصادقة وجدار الحماية. بالنسبة لمقبس Unix، استخدم مسار المقبس كمضيف Redis والمنفذ 0، وتأكد من أن مستخدم خادم الويب يمكنه الوصول إلى هذا المقبس. لا تنسخ إعدادات localhost إلى بيئة متعددة الخوادم إلا إذا كان Redis محليًا بالفعل ويتم مشاركته باستمرار؛ إذ يجب أن تخاطب جميع عُقد تطبيق Nextcloud نفس الواجهة الخلفية.
في Nextcloud 34.0.2 أو أحدث، يمكن لـ KeyValueCache الاتصال بـ Redis أو Valkey دون الحاجة إلى تثبيت إضافة PHP منفصلة. قم بتهيئة الواجهة الخلفية ومخزن القيم المفتاحية كما يلي، مع استبدال المضيف وأي بيانات اعتماد بقيم بيئتك:
'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
'server' => [
'host' => 'localhost',
'port' => 6379,
],
],
لا تقم بتهيئة كل من Redis وKeyValueCache كمزودين متنافسين للتأمين. اتبع توثيق Nextcloud الخاص ببيانات الاعتماد، وTLS، والمآخذ، وSentinel، أو بنية المجموعة، بدلاً من محاولة تطبيق مثال خادم واحد بشكل عشوائي.
أعد تشغيل الخدمة المتوافقة مع Redis إذا قمت بتغيير إعداداتها، ثم أعد تشغيل خادم الويب أو عملية PHP-FPM إذا قمت بتثبيت أو تفعيل إضافة PHP. تحقق من حالة الخدمة باستخدام اسم الخدمة الخاص بتوزيعتك؛ على سبيل المثال، systemctl status redis-serverفي العديد من أنظمة Debian أو Ubuntu. تأكد من أن الخدمة نشطة وأن عملية PHP قادرة على الاتصال. يجب أن تستخدم عمليات نشر الحاويات اسم خدمة Redis على شبكة الحاويات، وليس localhost إلا إذا كانت كلتا الخدمتين تشتركان في مساحة اسم الشبكة.
سجّل الدخول إلى Nextcloud كمسؤول، ثمّ حدّث صفحة الإدارة. سيختفي تحذير قفل الملفات عند توفّر الواجهة الخلفية المُهيّأة وتحميل الإعدادات. حمّل ملفًا تجريبيًا، ثمّ نزّله، ثمّ قم بمزامنته، ثمّ راجع سجلات Nextcloud وPHP إذا ظهر خطأ في اتصال Redis أو في الأذونات. يشير التحذير المتبقي عادةً إلى خطأ إملائي، أو مفتاح تهيئة مُكرّر، أو إضافة PHP/SAPI خاطئة، أو اتصال شبكة محظور، أو أذونات مقبس غير صحيحة، أو واجهة خلفية غير قابلة للوصول. صحّح هذا السبب تحديدًا بدلًا من تعطيل القفل.
للحصول على خيارات خاصة بالنشر، راجع المراجع الرسمية ذات الإصدارات قبل تغيير البنية: قفل الملفات المعاملاتية ، والتخزين المؤقت للذاكرة، وتكوين Redis/Valkey ، ومعلمات التكوين .
قم بتمكين قفل الملفات الموثوق به في Nextcloud، واختر الواجهة الخلفية المناسبة Redis أو Valkey، وتحقق من إزالة التحذير دون المخاطرة بتغييرات الملفات المتزامنة.
قم بإصلاح نتائج فحص Nextcloud الشائعة من خلال التحديثات الحالية، و HTTPS و HSTS، والثقة الدقيقة في الخادم الوكيل العكسي، وعمليات التحقق من الخادم العام.
قم بتكوين Nextcloud SSE للتخزين الذي يحتاج إليه، وقم بحماية مفاتيح التشفير، وقم بقياس تأثير النقل ووحدة المعالجة المركزية قبل تشفير الملفات الموجودة.
قم بتوصيل خاصية البحث عن الملفات في Nextcloud بـ Elasticsearch، وقم بفهرسة محتويات المستندات، واختر إعدادًا يناسب احتياجات الخادم والأمان لديك.
قم بتكوين Nextcloud لإزالة الملفات المحذوفة بعد فترة احتفاظ محددة، وجدولة مهام الخلفية بشكل موثوق، وتجنب الأوامر التي تقوم بمسح سلة المهملات الخاصة بكل مستخدم.
قم بتشغيل أداة إصلاح OCC الخاصة بـ Nextcloud بأمان، واستعرض تغييرات قاعدة البيانات، وتحقق من سبب استمرار التحذير.
السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.
قم بتعيين حد ذاكرة PHP الذي يستخدمه Nextcloud فعليًا، وأعد تشغيل الخدمة الصحيحة، وتأكد من إعداد 512 ميجابايت في نظرة عامة على المسؤول.
قم بتثبيت حاوية تخزين كائنات متوافقة في Nextcloud باستخدام الواجهة الخلفية S3 الخاصة بها، مع نقطة النهاية الصحيحة، وبيانات الاعتماد، ونطاق الوصول، وخطوات التحقق.
قم بنقل دليل بيانات Nextcloud الخاص بنظام Linux بأمان إلى محرك أقراص خارجي باستخدام تركيب UUID ثابت، ووضع الصيانة، ونسخة تم التحقق منها، والرابط الرمزي للمسار الأصلي.