إعادة تعيين كلمة مرور مسؤول Nextcloud المفقودة باستخدام OCC
استخدم أمر OCC الخاص بـ Nextcloud لإعادة تعيين كلمة مرور المسؤول من واجهة سطر الأوامر الخاصة بالخادم، مع إرشادات حول أسماء المستخدمين والأذونات وموفري تسجيل الدخول الخارجيين.
منذ إصدار Nextcloud 33، أصبح وقت انتظار طلب بيانات App Store الافتراضي 120 ثانية، ويمكن تعديله occ. يساعد ذلك في حل مشكلة بطء الاستجابة، ولكن يجب التحقق من رسالة "تعذر تثبيت التطبيق لأن الخادم غير متصل بالإنترنت" أولاً من الخادم أو الحاوية التي تشغل Nextcloud، وليس من متصفحك.
اختبر نقطة نهاية متجر التطبيقات من بيئة تشغيل Nextcloud، ثم أصلح العطل المحدد: نظام أسماء النطاقات (DNS)، أو بروتوكول HTTPS الصادر، أو إعدادات الخادم الوكيل، أو موثوقية الشهادة، أو إعدادات متجر التطبيقات. الرسالة عامة، ولا تثبت أن الخادم بأكمله غير متصل.
تحقق مما إذا كان العطل في جميع التطبيقات أم في تطبيق واحد فقط. إذا تم تحميل الكتالوج ولكن لم يتم تثبيت أحد التطبيقات، فتحقق من توافق إصدار Nextcloud الخاص به وأذونات مجلد التطبيق؛ فهذه ليست بالضرورة مشكلة في الشبكة.
للحصول على خطأ أوضح، جرّب التثبيت من سطر الأوامر. سيتم تثبيت التطبيق بنجاح، لذا استخدم مُعرّف التطبيق المُخصّص. شغّله كمستخدم HTTP للحفاظ على ملكية الملفات. على دبيان أو أوبونتو:
sudo -u www-data php /var/www/nextcloud/occ app:install news
استبدل newsبمعرّف التطبيق الذي تحتاجه. في Docker، شغّل الأمر داخل حاوية تطبيق Nextcloud بصفتك مستخدم الويب الخاص بها. قارن الناتج الكامل مع nextcloud.log؛ تتطلب أخطاء التوافق أو الأذونات حلاً مختلفًا عن أخطاء نظام أسماء النطاقات (DNS).

قم بإجراء هذه الفحوصات في المكان الذي يعمل فيه برنامج PHP الخاص بـ Nextcloud. لا يُعدّ نجاح الطلب من جهاز الكمبيوتر المحمول أو مضيف Docker دليلاً على أن حاوية التطبيق لديها نفس إمكانية الوصول إلى الشبكة.
getent ahosts apps.nextcloud.com
curl -sS --connect-timeout 10 --max-time 30 -o /dev/null -w 'HTTP %{http_code}' https://apps.nextcloud.com/api/v1/categories.json
عنوان URL الافتراضي لمتجر التطبيقات هو `<App Store>` https://apps.nextcloud.com/api/v1؛ ويستجلب Nextcloud البيانات الوصفية categories.jsonمنه. يجب أن يُعيد نظام أسماء النطاقات (DNS) عنوانًا، ويجب أن يُعيد بروتوكول HTTPS استجابة. تشير أخطاء تحليل الأسماء أو انتهاء المهلة إلى نظام أسماء النطاقات، أو التوجيه، أو جدار الحماية، أو الخادم الوكيل؛ وتشير أخطاء بروتوكول أمان طبقة النقل (TLS) إلى موثوقية الشهادة أو وقت النظام. يعني خطأ HTTP أن الخادم قد استجاب، لذا تحقق من عنوان URL واستجابة الخادم الوكيل.
في Docker، قم بتشغيل الفحوصات في حاوية تطبيق Nextcloud. تأكد من عمل نظام أسماء النطاقات (DNS) والسماح بالاتصالات الصادرة عبر منفذ TCP 443. إذا كان الخادم الوكيل يقوم بتصفية الوجهات، فافحص سجلات Nextcloud بحثًا عن أي أسماء مضيفين لتنزيل التطبيقات من متجر التطبيقات، بالإضافة إلى اسم مضيف الكتالوج.

إذا كانت حركة البيانات الصادرة تتطلب استخدام خادم وكيل، فقم بتهيئته لعميل PHP/HTTP الخاص بـ Nextcloud، وليس فقط لمتصفح المسؤول أو سطر الأوامر. يدعم Nextcloud الإعدادات proxyالاختيارية . حافظ على سرية بيانات اعتماد الوكيل. تحقق مما إذا كان PHP-FPM وواجهة سطر الأوامر يرثان نفس بيئة الوكيل .proxyuserpwdproxyexcludeHTTPS_PROXYNO_PROXY
في حال حدوث أخطاء في بروتوكول TLS، تحقق من ساعة الخادم وقم بتحديث حزمة شهادات نظام التشغيل. إذا كنت تستخدم وكيل فحص معتمدًا من الشركة، فأضف شهادته الموثوقة إلى بيئة تشغيل PHP. لا تُعطّل التحقق من بروتوكول TLS أو استخدامه curl -kلطلب متجر التطبيقات؛ لأن ذلك يُضعف الحماية ضد انتحال هوية مُضيف التنزيل.

متجر التطبيقات مُفعّل افتراضيًا، وعنوان URL الافتراضي الخاص به هو https://apps.nextcloud.com/api/v1. تحقق من config/config.phpالقيم الفعلية أو استعلم عنها باستخدام occ:
sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreenabled
sudo -u www-data php /var/www/nextcloud/occ config:system:get appstoreurl
إذا appstoreenabledكانت القيمة خاطئة صراحةً، فقم بتفعيلها فقط إذا كانت سياستك تسمح بالمتجر العام. إذا appstoreurlكانت تشير إلى متجر مخصص قديم أو غير قابل للوصول، فاستعد الإعداد الافتراضي فقط إذا كنت تنوي استخدام متجر تطبيقات Nextcloud العام. يجب على المؤسسات التي تستخدم متجر تطبيقات مُستضاف ذاتيًا الاحتفاظ بعنوان URL هذا وإصلاح نظام أسماء النطاقات (DNS) أو الشهادة أو مسار الوصول الخاص به بدلاً من ذلك.
إذا تم تحميل الكتالوج ولكن فشل التثبيت، فتحقق من apps_pathsالإعدادات في ملف التكوين الفعال. يجب أن يكون مجلد تطبيق واحد على الأقل قابلاً للكتابة من قِبل مستخدم خادم Nextcloud. صحّح مالك المجلد أو المجموعة وصلاحيات الكتابة المخصصة لها؛ لا تجعل المجلد قابلاً للكتابة من قِبل أي شخص. التطبيق المحظور بواسطة قائمة السماح الخاصة بالمؤسسة أو غير المتوافق مع إصدار Nextcloud الخاص بك يحتاج أيضًا إلى سياسة إدارية أو قرار بشأن الإصدار، وليس إلى تغيير في الشبكة.
بعد اجتياز فحوصات DNS وHTTPS والوكيل وTLS والتكوين، أعد محاولة التثبيت من صفحة التطبيقات أو باستخدام occ app:installالأمر نفسه. إذا كان الطلب متاحًا ولكنه يستغرق وقتًا أطول باستمرار من مهلة البيانات الوصفية المُكوّنة، فيمكن لـ Nextcloud 33 والإصدارات الأحدث زيادة هذه المهلة. على سبيل المثال:
sudo -u www-data php /var/www/nextcloud/occ config:app:set settings appstore-timeout --value=180
يؤدي هذا إلى زيادة وقت الانتظار إلى 180 ثانية؛ ولا يُصلح هذا الإجراء انسداد الخروج، أو الشهادة التالفة، أو عنوان URL غير الصحيح للمخزن. القيمة الافتراضية الموثقة هي 120 ثانية في Nextcloud 33 والإصدارات الأحدث. لإزالة أي تغيير والعودة إلى القيمة الافتراضية:
sudo -u www-data php /var/www/nextcloud/occ config:app:delete settings appstore-timeout
بالنسبة للخوادم المعزولة عن الشبكة عمدًا، يُعد متجر التطبيقات المُستضاف ذاتيًا والمعتمد هو الخيار الأمثل. لا تحاول حل مشكلة انقطاع الخدمة بتنزيل ملف ZIP لتطبيق عشوائي ووضعه في مجلد التطبيقات؛ استخدم مصدرًا موثوقًا وتأكد من توافق الإصدار مع خادمك.

تأكد من تحميل كتالوج متجر التطبيقات، وتثبيت التطبيق المطلوب وظهوره في قائمة التطبيقات المُفعّلة، وعدم تسجيل أي خطأ في الاتصال أو بروتوكول TLS أو مهلة في سجل النظام. إذا استجابت نقطة النهاية من بيئة تشغيل Nextcloud، ولكن واجهة المستخدم لا تزال تُظهر عدم وجود اتصال بالإنترنت، قارن عنوان URL الخاص بمتجر التطبيقات وإعداداته، وراجع اختلافات بيئة الوكيل بين PHP-FPM وواجهة سطر الأوامر، وتحقق مما إذا كان تطبيق واحد فقط محظورًا أو غير متوافق.
المراجع: إدارة تطبيقات Nextcloud وإعدادات متجر التطبيقات ؛ أوامر تطبيق Nextcloud OCC وأوامر التكوين ؛ معلمات تكوين Nextcloud للوكلاء ؛ نقطة نهاية بيانات تعريف متجر تطبيقات Nextcloud .
استخدم أمر OCC الخاص بـ Nextcloud لإعادة تعيين كلمة مرور المسؤول من واجهة سطر الأوامر الخاصة بالخادم، مع إرشادات حول أسماء المستخدمين والأذونات وموفري تسجيل الدخول الخارجيين.
قم بإزالة تحذير HSTS الخاص بـ Nextcloud عن طريق تعيين العنوان في Apache أو NGINX أو وكيل TLS الخاص بك، ثم تحقق من استجابة HTTPS العامة بأمان.
تتبع حالات فشل تثبيت التطبيقات من متجر التطبيقات إلى مشاكل في نظام أسماء النطاقات (DNS) أو بروتوكول HTTPS أو الخادم الوكيل أو بروتوكول TLS أو مشاكل في التكوين من خادم Nextcloud نفسه.
انقل العمل على الصور المصغرة إلى جدول زمني مُتحكم به في الخلفية، وقم بتقليص أحجام المعاينة غير المستخدمة، وتحقق من قائمة الانتظار دون إثقال خادم Nextcloud الخاص بك.
ابحث عن الملف أو قاعدة الاستبعاد أو مشكلة الاتصال أو حالة قاعدة بيانات العميل التي تعيق مزامنة Nextcloud، ثم تحقق من عمليات التحميل والتنزيل بأمان.
ابحث عن حد PHP OPcache الذي يتسبب في ظهور تحذير Nextcloud، وقم بتحديث تكوين PHP الصحيح للويب، وأعد التشغيل بأمان، وتحقق من النتيجة.
قارن بين الكود المدمج والكود القائم على Docker، ثم قم بتوصيل Collabora Online بـ Nextcloud من خلال وكيل عكسي آمن HTTPS.
خطط لنشر Nextcloud عالي التوفر بشكل موثوق مع التخزين المشترك، وقفل Redis، وتوجيه MariaDB المدرك للنصاب، وفحوصات تجاوز الفشل العملية.
قم بتكوين وتحقق من إمكانية الوصول إلى مرحل TURN لـ Nextcloud Talk عندما تمنع جدران الحماية أو NAT التقييدية وسائط الاتصال المباشر.
استخدم تقرير الملفات غير الصالحة لتحديد التعليمات البرمجية المتغيرة أو المفقودة أو الزائدة في Nextcloud، واستعادة الملفات الموثوقة بأمان، والتحقق من النتيجة.