إذا تم تحميل ownCloud في المتصفح ولكن صفحة الإدارة الخاصة به تُظهر رسالة "واجهة WebDAV معطلة"، فقد تفشل أيضًا عمليات تحميل الملفات ومزامنة سطح المكتب وتطبيق الملفات. هذا التحذير هو عرض وليس تشخيصًا: قد يكون الوصول إلى نقطة نهاية DAV غير ممكن، أو تمت إعادة كتابتها بشكل غير صحيح، أو تم حظرها بواسطة خادم وكيل أو قاعدة أمان، أو لا يمكن الوصول إليها عندما يستدعي ownCloud عنوان URL العام الخاص به.
ينطبق هذا الدليل على تثبيتات خادم ownCloud Classic Server. يتميز خادم ownCloud Infinite Scale ببنية ونموذج نشر مختلفين، لذا لا تُطبّق إعدادات Apache الخاصة بخادم Classic Server على نشر Infinite Scale. تغطي الصفحات الرسمية المذكورة أدناه خادم ownCloud Server 10.15 و10.16، بالإضافة إلى خادم Classic Server 11.0؛ وتستخدم عمليات التحقق مسارات WebDAV الموثقة ومتطلبات Apache، مع العلم أن تحذير المسؤول قد يختلف باختلاف الإصدار.
ملاحظة توضيحية: الصور التوضيحية للواجهة والطرفية أدناه هي أمثلة تخطيطية. أسماء المضيفين، وخطوط الحالة، والقيم المعروضة هي عناصر نائبة، وليست تثبيتًا تم التقاطه أو دليلاً على إجراء اختبار.
ماذا يعني تحذير WebDAV؟
WebDAV هي واجهة HTTP التي يستخدمها ownCloud لعرض وإدارة الملفات لعملاء المزامنة والعمليات المتعلقة بها. تسجيل الدخول عبر المتصفح يؤكد فقط استجابة واجهة الويب، ولا يؤكد وصول طلب WebDAV إلى ownCloud بكامل مساره وطريقته ورؤوس المصادقة واتصال HTTPS.
ابدأ بتحديد ما إذا كان العطل خارجيًا أم أنه يقتصر على الفحص الذاتي لـ ownCloud. يشير خطأ مزامنة العميل وفشل طلب WebDAV المصادق عليه إلى مسار DAV أو المصادقة. إذا كان العملاء يعملون ولكن لا يزال تحذير المسؤول يظهر، فاختبر ما إذا كان الخادم نفسه قادرًا على الوصول إلى اسم المضيف العام، بما في ذلك شهادة TLS الخاصة به.
الخطوة 1: سجل عنوان URL الدقيق واختبر WebDAV مباشرةً
استخدم نفس اسم المضيف ومسار التثبيت اللذين يُدخلهما المستخدمون في المتصفح. بالنسبة لتثبيت نطاق الجذر، يتبع مسار خادم DAV الكلاسيكي الحالي عادةً هذا الشكل:
إذا تم تثبيت ownCloud في مسار فرعي، فأضف هذا المسار قبله /remote.php، على سبيل المثال https://example.com/owncloud/remote.php/dav/files/USERNAME/. استخدم اسم حسابك وعنوان URL الخاص بك. لا تجرّب اسم مضيف وهمي، ولا تفترض أن جميع عمليات التثبيت تستخدم نفس المجلد الفرعي.
من جهاز العميل، أرسل طلب PROPFIND مصادقًا. باستخدام cURL، سيؤدي تمرير اسم المستخدم فقط إلى مطالبة المستخدم بإدخال كلمة المرور بدلاً من وضعها في الأمر.
تستخدم استجابة WebDAV الموثقة والصالحة عادةً بروتوكول HTTP 207 Multi-Status. 401قد يعني الخطأ ببساطة عدم قبول بيانات الاعتماد؛ بينما 404يشير الخطأ غالبًا إلى مسار خاطئ أو إعادة كتابة مسار الوكيل؛ 403ويشير الخطأ إلى قاعدة وصول أو جدار حماية تطبيقات الويب أو سياسة خادم؛ وقد يشير الخطأ 301أو 302إلى إعادة توجيه لا يتبعها العميل أو التحقق الذاتي كما هو متوقع. اقرأ رؤوس الاستجابة وسجلات الخادم قبل تغيير الإعدادات. احذف أسماء المستخدمين وملفات تعريف الارتباط والرموز المميزة وعناوين IP العامة قبل مشاركة مخرجات الأوامر.
نظرة عامة تخطيطية للإدارة تُظهر تحذير WebDAV؛ قيم الحالة المعروضة هي أمثلة.مثال على نوع استجابة 207 متعددة الحالات التي قد يعيدها فحص PROPFIND المصادق عليه.
الخطوة الثانية: تحقق مما إذا كان الخادم يستطيع الوصول إلى عنوان URL العام الخاص به
تُجري بعض عمليات التحقق من الإعداد طلبًا من خادم ownCloud إلى عنوانه العام المُهيأ. قم بإجراء فحوصات DNS وHTTPS الأساسية من ذلك الخادم، وليس فقط من جهاز الكمبيوتر المحمول الخاص بك.
يجب أن يُترجم اسم المضيف إلى عنوان يمكن الوصول إليه من الخادم، ويجب أن يكتمل طلب HTTPS دون أي خطأ في اسم الشهادة أو سلسلة الثقة أو الاتصال. إذا كان نظام أسماء النطاقات (DNS) يُعيد توجيه الخادم عبر جدار حماية لا يدعم انعكاس NAT (يُسمى أيضًا NAT الحلقي)، فقد يعمل عميل خارجي بينما يفشل الفحص الذاتي الداخلي. قد يكون من المناسب استخدام نظام أسماء نطاقات مُجزأ، أو مسار داخلي إلى الخادم الوكيل العكسي، أو تعديل الشبكة من جانب مزود الخدمة؛ قم بإجراء التغيير الأنسب الذي يتوافق مع تصميم شبكتك.
يُعدّ إدخال النطاق الموثوق به قائمة مضيفين مسموح بها لطلبات ownCloud الواردة. أضف فقط أسماء المضيفين التي يستخدمها المستخدمون فعليًا، باتباع إجراءات التكوين الموثقة. لا تُضِف عناوين داخلية عشوائية على سبيل التخمين. overwrite.cli.urlيتحكم هذا الإعداد في عنوان URL المستخدم في سياقات سطر الأوامر/الخلفية في بعض التكوينات؛ وهو ليس بديلاً عن إصلاح نظام أسماء النطاقات (DNS) أو التوجيه أو بروتوكول أمان طبقة النقل (TLS). تأكد من صحة ما يُشير إليه التحذير قبل تغيير أيٍّ من الإعدادين.
مثال على عرض تكوين Apache مع تسليط الضوء على إعداد تجاوز الدليل؛ تحقق من المسار والتوجيهات الفعلية لتثبيتك.
الخطوة 3: التحقق من إعدادات إعادة كتابة عناوين URL وإعدادات الدليل في Apache
بالنسبة لتثبيتات Apache، يتطلب دليل التكوين اليدوي لـ ownCloud تحديد ملف ` mod_rewrite.htm` AllowOverride Allلدليل ownCloud عند الاعتماد على ملف `.htm` المرفق .htaccess، بالإضافة إلى إعداد Apache متعلق بـ DAV يمنع وحدة DAV الخاصة بـ Apache من التحكم في مسار التطبيق. قارن المضيف الافتراضي وكتلة الدليل مع الدليل الرسمي بدلاً من نسخ نموذج كامل ولصقه على موقع مخصص.
في نظامي Debian أو Ubuntu، افحص وحدة إعادة الكتابة المحملة وبنية تكوين Apache:
إذا لم تكن خاصية إعادة الكتابة مُفعّلة، فقم بتفعيلها sudo a2enmod rewrite، ثم تحقق من صحة الإعدادات مرة أخرى، وأعد تحميل Apache فقط بعد اجتياز فحص بناء الجملة. تأكد من أن <Directory>المسار يُطابق جذر موقع ownCloud الإلكتروني الفعلي، وأن التجاوزات غير مُعطّلة في مستويات أعلى من الإعدادات. تجنّب استبدال وصفة إعادة الكتابة المُولّدة من ownCloud يدويًا .htaccessبوصفة عامة؛ فقد تُؤدي القواعد المُخصصة إلى تعطيل مسارات التطبيق أو فقدانها أثناء التحديثات.
الخطوة الرابعة: التحقق من الخوادم الوكيلة العكسية، وقواعد جدار حماية تطبيقات الويب، وعناوين المصادقة
إذا كان الوصول إلى نقطة النهاية يعمل عند الاتصال مباشرةً بخادم الويب، ولكنه يفشل عند الاتصال عبر عنوان URL العام، فافحص الخادم الوكيل العكسي أو موازن الأحمال. تأكد من أنه يحتفظ /remote.php/dav/بالمسار الكامل، ويُعيد توجيه معلومات المضيف وHTTPS المتوقعة، ويسمح باستخدام طرق WebDAV مثل PROPFIND`<script> OPTIONS` و`< script> PUT` و`<script>` MOVEعند الحاجة. قد يؤدي الخادم الوكيل الذي يُزيل بادئة التثبيت أو يُرسل طلبات DAV إلى خادم خلفي مختلف إلى جعل واجهة المستخدم الرسومية تبدو سليمة بينما تفشل عمليات الملفات.
راجع سجلات البروكسي، وApache/Nginx، وownCloud عند حدوث طلب فاشل. قد يرفض جدار حماية تطبيقات الويب أو قاعدة ModSecurity طريقةً أو نص الطلب. حدد معرّف القاعدة بدقة، وأنشئ استثناءً محدودًا لمسار أو طلب ownCloud المتأثر، ثم أعد الاختبار. لا تُعطّل جدار حماية تطبيقات الويب بشكل عام لمجرد إزالة تحذير. إذا فشل توثيق DAV فقط خلف معالج FastCGI/PHP، فتحقق من تمرير رأس التفويض إلى PHP؛ توثّق ملاحظات تكوين ownCloud هذا النوع من المشكلات.
الخطوة 5: التحقق من صحة بروتوكول TLS وعمليات إعادة التوجيه
تعتمد عملاء WebDAV على بروتوكول HTTPS الصحيح تمامًا كما تفعل المتصفحات. تأكد من صلاحية الشهادة لاسم المضيف، وأنها تتضمن الشهادات الوسيطة المطلوبة، وأنها موثوقة من قِبل بيئة الخادم التي تُشغّل خاصية الفحص الذاتي لـ ownCloud. قد يُخفي المتصفح مشكلة في الشهادة التي يُبلغ عنها cURL أو PHP، أو قد يُصدّقها بشكل منفصل. لا تُعطّل التحقق من الشهادة كحلٍّ لهذه المشكلة.
تحقق من وجود حلقات إعادة توجيه، أو عمليات إعادة توجيه غير متوقعة من HTTP إلى HTTPS، أو إعادة توجيه من مسار DAV إلى صفحة تسجيل الدخول أو الصفحة الرئيسية العامة. قد تكون إعادة التوجيه طبيعية بالنسبة لعنوان URL الأساسي للمتصفح، ولكن يجب أن يصل طلب DAV في النهاية إلى نقطة نهاية التطبيق مع الحفاظ على طريقة الوصول وعنوان Authorization. إذا قام خادم وكيل بإنهاء TLS، فتأكد من أن ownCloud يستقبل البروتوكول والمضيف المُعاد توجيههما بشكل صحيح وفقًا لإعدادات الخادم الوكيل الموثقة.
مثال على فحص نظام أسماء النطاقات (DNS) والشهادة من الخادم الذي يجب أن يتصل مرة أخرى باسم المضيف العام.
تحقق من الإصلاح من كلا الجانبين
بعد كل تغيير مستهدف، كرر نفس عمليات التحقق بدلاً من تغيير عدة طبقات في وقت واحد:
من جانب العميل، قم بالمصادقة على عنوان URL الخاص بـ DAV الموثق وتأكد من أن الاستجابة هي استجابة WebDAV متوقعة، وعادةً ما تكون 207 Multi-Statusلـ PROPFIND.
من مضيف ownCloud، تأكد من أن اسم المضيف العام يتم حله وأن HTTPS يصل إلى المثيل بدون خطأ في التحقق من صحة TLS.
تحقق من نظرة عامة على مسؤول ownCloud مرة أخرى وافحص السجلات بحثًا عن أخطاء جديدة في DAV أو الوكيل أو المصادقة.
اختبر تحميل ملف صغير وإعادة تسميته وتنزيله في واجهة الويب أو باستخدام عميل مزامنة مدعوم.
إذا نجحت طلبات العميل ولكن بقي التحذير، فركز على نظام أسماء النطاقات (DNS) الخاص بالخادم، والتوجيه، وموثوقية الشهادة، وعنوان URL العام المُكوّن. إذا فشل كل من الفحص الذاتي وطلبات العملاء، فركز أولاً على مسار نقطة النهاية، وقواعد إعادة الكتابة، وتوجيه الوكيل، وطرق الطلب، وإعادة توجيه المصادقة. عندما تتم إدارة الخادم بواسطة مزود استضافة، أرسل للدعم الطابع الزمني، وحالة HTTP بعد تنقيحها، والمسار المطلوب، وإدخال السجل المطابق؛ لا تُرسل كلمات المرور أو أي معلومات تكوين سرية.