تسريع استعلامات ownCloud 10 من خلال إدارة الفهارس بأمان
تعرف على متى تحتاج فهارس قاعدة بيانات ownCloud 10 إلى الاهتمام، وكيفية تطبيق تحديثات المخطط المدعومة بأمان، ومتى يكون ضبط الاستعلام أو تغيير قاعدة البيانات هو الحل الأفضل.
للوصول إلى مشاركة Windows أو Samba في خادم ownCloud، فعّل تطبيق دعم التخزين الخارجي وأضف نقطة ربط تخزين SMB/CIFS من صفحة إدارة ownCloud. استخدم عنوان خادم المشاركة واسم المشاركة وبيانات اعتماد SMB الصحيحة؛ لا تحتاج عادةً إلى ربط المشاركة باستخدام Linux mount.cifsأولاً.
تُتيح هذه الطريقة الوصول إلى ملفات الشبكة الموجودة داخل واجهة ملفات ownCloud مع الحفاظ على الأذونات التي يفرضها خادم SMB. تنطبق التعليمات أدناه على واجهة التخزين الخارجي الكلاسيكية لخادم ownCloud الموثقة للإصدارين 10.16 و11.0، وليس على ownCloud Infinite Scale.
تحتاج إلى صلاحيات المسؤول على ownCloud، وخادم SMB متاح، ومجلد مشترك لديك صلاحية الوصول إليه، وحساب SMB بصلاحيات القراءة والكتابة اللازمة. حافظ على إمكانية الوصول إلى منفذ TCP 445 بين ownCloud وخادم الملفات، ويفضل أن يكون ذلك عبر شبكة خاصة موثوقة أو VPN بدلاً من تعريض SMB للإنترنت العام.
على سبيل المثال، لنفترض أن خادم SMB هو files.internal.example، والمشاركة هي Projects، وحساب الخدمة هو ACME\oc-share. سيكون المجلد الذي سيظهر في ownCloud هو Team Projects. هذه قيم افتراضية؛ استبدلها ببيانات خادمك الحقيقية.
في نظام لينكس تقليدي، قد يلزم تثبيت عميل سامبا وامتداد عميل SMB المناسب لـ PHP. على سبيل المثال، على مضيف يعمل بنظام ديبيان، قم بتثبيت عميل الاختبار من سطر الأوامر:
sudo apt update
sudo apt install smbclient
تحقق من إصدار PHP وطريقة التثبيت التي يستخدمها ownCloud قبل تثبيت أي إضافة. توضح تعليمات تثبيت ownCloud Server 10.16 Ubuntu php7.4-smbclientإعداد PHP 7.4؛ استخدم هذه الحزمة فقط إذا كانت متوافقة مع بيئة PHP والمستودع المدعومين لديك. بعد تفعيل الإضافة، أعد تشغيل خدمة PHP أو خادم الويب الذي يُشغّل ownCloud، وتحقق من تحميل الوحدة باستخدام الأمر ` php -m | grep -i smbclientcliphp`. يتحقق هذا الأمر من PHP في سطر الأوامر؛ قد يكون لعملية الويب إعدادات منفصلة.
بالنسبة لصورة Docker الرسمية لخادم ownCloud 11.0، تشير وثائق SMB إلى تضمين تبعيات SMB الخاصة بوقت التشغيل، مع العلم أن الصورة لا تتضمن smbclientأمر الاختبارات اليدوية. لذا، لا تفترض أن أوامر host-package نفسها تنطبق على جميع صور الحاويات.
قبل تغيير إعدادات ownCloud، اختبر حلّ اسم النطاق، والمصادقة، والمشاركة نفسها من مضيف ownCloud أو بيئة الشبكة الخاصة به. على مضيف مزود بـ smbclient، شغّل الأمر التالي:
smbclient -L //files.internal.example -U 'ACME/oc-share'
smbclient //files.internal.example/Projects -U 'ACME/oc-share' -c 'ls'
أدخل كلمة مرور حساب SMB عند المطالبة بدلاً من إدخالها في سطر الأوامر. يعرض الأمر الأول المشاركات المتاحة، بينما يتحقق الأمر الثاني من إمكانية الوصول إلى المشاركة المحددة. لا يُعدّ عرض المشاركات دليلاً على صلاحية الكتابة. في حال فشل الأمر، تأكد من اسم الخادم أو عنوان IP، وتهجئة اسم المشاركة، وبيانات الاعتماد، والنطاق، وقواعد جدار الحماية، والصلاحيات الفعّالة على خادم Windows أو Samba قبل المتابعة. كما يُوصي دليل ownCloud SMB/CIFS بإجراء اختبار smbclientقبل التهيئة.
لا تحتاج إلى تفعيل خيار " السماح للمستخدمين بتوصيل وحدات التخزين الخارجية" لمجرد إنشاء مشاركة مُدارة من قِبل المسؤول. يتيح هذا الإعداد المنفصل للمستخدمين إنشاء وحدات تخزين خارجية خاصة بهم، بما في ذلك إمكانية الوصول إلى خدمات الشبكة التي لا يُتيحها المسؤول عادةً. راجع دليل تكوين وحدات التخزين الخارجية في ownCloud .
في صف التخزين الجديد، أدخل معلومات الاتصال. يوضح المثال التالي كيفية فصل اسم مشاركة SMB عن اسم المجلد الذي يراه المستخدمون في ownCloud.
| حقل ownCloud | قيمة مثال | الغرض |
|---|---|---|
| اسم المجلد | مشاريع الفريق | الاسم المعروض في واجهة الملفات |
| وحدة تخزين خارجية | SMB / CIFS | يستخدم الواجهة الخلفية لـ SMB مباشرة |
| مضيف | files.internal.example | اسم المضيف أو عنوان IP لخادم SMB |
| مشاركة | المشاريع | اسم المشاركة عن بُعد، بدون مسار UNC كامل |
| مجلد فرعي بعيد | الفريق (اختياري) | يقتصر التحميل على مجلد موجود في المشاركة |
| نطاق | ACME (إذا لزم الأمر) | المجال أو مجموعة العمل المرتبطة بالحساب |
| المصادقة | اسم المستخدم وكلمة المرور | بيانات اعتماد صريحة لهذه المشاركة |
| متاح لـ | مجموعة ownCloud المحددة | يحد من رؤية الحامل |
أدخل oc-shareاسم المستخدم بعد إدخاله ACMEفي حقل "النطاق" المنفصل. لا تُدخله //files.internal.example/Projectsفي حقل "المضيف"، ولا تخلط بين اسم المشاركة والمجلد الفرعي الاختياري. بالنسبة للمجلدات الفرعية البعيدة، يدعم ownCloud $userاختيار دليل موجود مطابق لاسم مستخدم ownCloud الحالي؛ ولا يقوم بإنشاء هذا الدليل.
بالنسبة لحساب خدمة مشترك، يُعدّ اسم المستخدم وكلمة المرور خيارًا بسيطًا، لكن صلاحيات الوصول إليه تخضع لأذونات SMB الخاصة بهذا الحساب. إذا قام المستخدمون بالمصادقة على SMB باستخدام بيانات اعتماد ownCloud الخاصة بهم، فقد يكون استخدام بيانات اعتماد تسجيل الدخول المحفوظة في الجلسة أنسب. مع ذلك، تُوثّق ownCloud قيودًا مهمة تتعلق ببيانات اعتماد الجلسة: إذ لا يمكن إجراء عمليات المسح في الخلفية والمشاركة المباشرة لوحدة التخزين المُثبّتة بنفس كفاءة استخدام بيانات الاعتماد المحفوظة. لذا، اختر بناءً على متطلبات المصادقة والمسح الفعلية، وليس على سهولة الاستخدام فقط. راجع آليات مصادقة وحدة التخزين الخارجية .
يُقتصر الوصول إلى نقطة التحميل على مستخدمي أو مجموعات ownCloud المُحددة؛ وإلا، فإن نقطة التحميل التي أنشأها المسؤول تكون متاحة لجميع المستخدمين افتراضيًا. إذا كان الموظفون بحاجة فقط إلى تصفح الملفات، فقم بتفعيل خيار "للقراءة فقط" لنقطة التحميل ، وفرض أيضًا الوصول للقراءة فقط على خادم SMB. اترك مشاركة نقطة التحميل مُعطلة إلا إذا كانت سياسة الوصول الخاصة بك تتطلب ذلك.
بمجرد إدخال البيانات المطلوبة، يقوم ownCloud بحفظ صف التخزين تلقائيًا. يشير مؤشر الحالة الأخضر إلى أن الاتصال جاهز، بينما يشير المؤشر الأحمر أو الأصفر إلى ضرورة إجراء مزيد من التحقق. قد يُعلّم ownCloud وحدة التخزين الخارجية المعطلة بأنها غير متاحة لمدة عشر دقائق، لذا انقر على مؤشر الحالة أو أعد تحميل صفحة الإدارة بعد حل المشكلة الأساسية.
smbclientباستخدام نفس الحساب.occ files:scanهذه العمليات كحلٍّ مُفترض لهذا القيد.عادةً ما يكون استخدام نظام ملفات CIFS على مستوى النواة، والذي يُعاد توجيهه إلى ownCloud كوحدة تخزين محلية ، خيارًا خاطئًا. يحذر ownCloud من أنه في حال اختفاء نظام الملفات هذا، فقد يرى دليلًا محليًا فارغًا وينشر أحداث الحذف. استخدم واجهة SMB/CIFS الخلفية المباشرة بدلاً من ذلك؛ راجع تحذير التخزين المحلي الرسمي .
سجّل الدخول كمستخدم مُصرّح له في "متاح لـ ". افتح "الملفات" وحدّد موقع "مشاريع الفريق" . استعرض دليلاً موجوداً وافتح ملف اختبار صغيراً. إذا كان حساب SMB ووحدة تخزين ownCloud يسمحان بالكتابة، فقم بتحميل ملف اختبار غير ضار وتأكد من ظهوره على خادم SMB؛ احذفه بعد التحقق. بالنسبة لوحدات التخزين للقراءة فقط، تأكد من حظر التعديل بدلاً من ذلك.
أخيرًا، تأكد من بقاء صف التخزين باللون الأخضر بعد إعادة تحميل الصفحة، ومن عدم قدرة أي مستخدم آخر خارج المجموعة المسموح لها على رؤية نقطة التحميل. تُثبت هذه الفحوصات أن ownCloud قادر على الوصول إلى مشاركة SMB الصحيحة، وأن الحساب البعيد لديه صلاحية الوصول المطلوبة، وأن نقطة التحميل مُتاحة فقط للمستخدمين المُستهدفين.
تعرف على متى تحتاج فهارس قاعدة بيانات ownCloud 10 إلى الاهتمام، وكيفية تطبيق تحديثات المخطط المدعومة بأمان، ومتى يكون ضبط الاستعلام أو تغيير قاعدة البيانات هو الحل الأفضل.
قم بتوصيل مشاركة شبكة Windows أو Samba بـ ownCloud من خلال وحدة تخزين خارجية، وتحقق من بيانات الاعتماد، وقم باستكشاف أخطاء المجلدات التي لا يمكن الوصول إليها وإصلاحها بأمان.
قم بإزالة كل إصدار ملف مخزن من ownCloud Server Classic لحساب واحد أو لجميع المستخدمين، وقم بالتمييز بين عملية التطهير الكاملة وانتهاء الصلاحية المستندة إلى الاحتفاظ.
تتبع رفض اتصال ownCloud عبر الهاتف المحمول عن طريق التحقق من عنوان URL للخادم وشبكة الهاتف ونقطة نهاية HTTPS وسجلات الخادم بالترتيب الصحيح.
استبدل عمليات تشغيل الوظائف عند الطلب بمؤقت systemd الذي يقوم بتشغيل أمر occ system:cron المدعوم من ownCloud كل 15 دقيقة.
تتبع طلب WebDAV من خلال Apache أو Nginx أو وكيل عكسي، ثم تأكد من أن مزامنة ownCloud تعمل مع اختبار PROPFIND مصادق عليه.
قم بإصلاح تحذير عنوان الصادر المفقود في Nextcloud عن طريق تعيين عنوان URL الأساسي الخاص به والتحقق من DNS و HTTPS وتوجيه الوكيل العكسي من الخادم نفسه.
قم بتكوين APCu و Redis عبر مقبس Unix محلي لتخزين Nextcloud المؤقت وقفل الملفات، مع خطوات للإصدارات الحالية والأقدم من Nextcloud.
تحقق من وضع cron الخاص بـ Nextcloud، وقم بإصلاح خدمة systemd والمؤقت الخاص به، وتأكد من تشغيل المهام الخلفية بعد بدء التشغيل وكل خمس دقائق.
قم بتمكين قفل الملفات الموثوق به في Nextcloud، واختر الواجهة الخلفية المناسبة Redis أو Valkey، وتحقق من إزالة التحذير دون المخاطرة بتغييرات الملفات المتزامنة.