قم بتعيين عنوان URL العام لـ Nextcloud حتى يتمكن من الوصول إلى نفسه
قم بإصلاح تحذير عنوان الصادر المفقود في Nextcloud عن طريق تعيين عنوان URL الأساسي الخاص به والتحقق من DNS و HTTPS وتوجيه الوكيل العكسي من الخادم نفسه.
أضاف Nextcloud 34.0.2 واجهة خلفية مدمجة متوافقة مع Redis KeyValueCache، مما يسمح لـ Nextcloud الحالي باستخدام Redis دون الحاجة إلى تثبيت إضافة Redis الخاصة بـ PHP. على خادم Ubuntu 24.04 واحد، استخدم APCu للتخزين المؤقت المحلي السريع، وRedis للتخزين المؤقت الموزع وقفل الملفات للمعاملات، متصلين عبر مقبس Unix. هذا يُبقي Redis خارج الشبكة، ويمنح Nextcloud ذاكرة تخزين مؤقت مشتركة تعمل عبر طلبات PHP.
يُوثّق دليل إدارة Nextcloud 35 الحالي مسارين لـ Redis. بالنسبة لـ Nextcloud 34.0.2 أو الإصدارات الأحدث، يُوصى KeyValueCacheباستخدام Predis المُضمّن مع Nextcloud؛ حيث تقوم بتثبيت خادم Redis وتعيين المسار memcache.kvstore، ولكنك لست بحاجة إلى المسار المُضمّن php-redis. تستخدم إصدارات Nextcloud الأقدم إضافة PhpRedis config.phpوكتلة مختلفة. تحقق من إصدارك باستخدام الأمر sudo -u www-data php /var/www/nextcloud/occ status، واستبدل المسار إذا كان تثبيتك موجودًا في مكان آخر.
يفترض هذا الدليل أن Nextcloud وRedis يعملان على نفس مضيف Ubuntu، وأن خادم الويب يعمل كـ `<اسم الخادم>` www-data، وأنك تدير PHP وRedis مباشرةً. إذا قمت بتثبيت Nextcloud عبر Snap أو AIO أو Docker أو أي أداة أخرى، فاتبع اصطلاحات الخدمة ونظام الملفات الخاصة بتلك الحزمة بدلاً من تطبيق أوامر مستوى المضيف بشكل أعمى. يُعد APCu أسرع من Redis للتخزين المؤقت المحلي، بينما يُناسب Redis التخزين المؤقت الموزع وتأمين الملفات. راجع وثائق التخزين المؤقت في ذاكرة Nextcloud .
قم بتحديث فهرس حزم أوبونتو، وقم بتثبيت خادم Redis ووحدة APCu PHP، وقم بتمكين Redis عند بدء التشغيل:
sudo apt update
sudo apt install redis-server php-apcu
sudo systemctl enable --now redis-server

في أوبونتو 24.04، يكون إصدار PHP الافتراضي هو 8.3، وهو php-apcuاسم حزمة التوزيعة. Redis خدمة منفصلة، بينما يتم تحميل APCu بواسطة PHP. أعد تشغيل معالج PHP بعد تثبيت APCu لكي تقوم عملية PHP الخاصة بالويب بتحميل الوحدة. إذا كنت تستخدم PHP-FPM، فعادةً ما يكون ذلك باستخدام الأمر ` php8.3-fpmmod_php`؛ أما إذا كان Apache يستخدم mod_php، فأعد تشغيله apache2. تحقق من أسماء الخدمات النشطة قبل إعادة التشغيل.
في هذا الإعداد أحادي المضيف، استخدم مقبس يونكس وقم بتعطيل مستمع TCP الخاص بـ Redis. /etc/redis/redis.confعدّل التوجيهات النشطة الحالية بدلاً من ترك نسخ متعددة متضاربة، ثم اضبطها كما يلي:
port 0
unixsocket /run/redis/redis-server.sock
unixsocketperm 770

port 0يُعطّل هذا الخيار منفذ TCP؛ حيث يستمع Redis عبر مسار المقبس بدلاً من ذلك. 770يسمح وضع الأذونات لمالك Redis ومجموعته بالوصول إلى المقبس مع منع الوصول للمستخدمين المحليين الآخرين. أضف حساب خادم الويب إلى مجموعة Redis.
sudo usermod -aG redis www-data
sudo systemctl restart redis-server
أعد تشغيل خدمة PHP-FPM أو Apache بعد تغيير عضوية المجموعة، لأن العمليات الجارية تحتفظ بقائمة مجموعاتها القديمة. استخدم الخدمة التي تُشغّل PHP الخاص بـ Nextcloud. توصي وثائق Redis بتقييد الوصول إلى العملاء الموثوق بهم؛ إذ يمنع استخدام مقبس محلي كشف منفذ ذاكرة التخزين المؤقت على واجهة الإنترنت. راجع إرشادات أمان Redis .
قم بعمل نسخة احتياطية config/config.php، ثم أضف هذه الإدخالات إلى مصفوفة إعدادات PHP الموجودة. لا تستبدل باقي الملف. استخدم المسار الذي يوجد فيه تثبيت Nextcloud الخاص بك.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\KeyValueCache',
'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
'server' => [
'host' => '/run/redis/redis-server.sock',
],
],

يُشير الخط المائل في بداية مسار المضيف إلى استخدام KeyValueCache في Nextcloud لمقبس Unix، لذا لا حاجة إلى تحديد منفذ أو بروتوكول TCP. يوفر Redis كلا memcache.distributedالخيارين memcache.locking؛ حيث ينقل الأخير عمليات قفل الملفات للمعاملات بعيدًا عن قاعدة البيانات. يُنصح بالإبقاء memcache.localعلى APCu للوصول إلى ذاكرة التخزين المؤقت المحلية بزمن استجابة أقل. تجدون الإدخالات الدقيقة وخيارات المقبس في تعليمات KeyValueCache ومقبس Unix في Nextcloud ودليل قفل الملفات للمعاملات .
تأكد أولاً من أن خدمة Redis نشطة وأن المقبس يستجيب:
sudo systemctl status redis-server
redis-cli -s /run/redis/redis-server.sock ping

الاستجابة المتوقعة للأمر الثاني هي PONG. بعد ذلك، سجّل الدخول إلى Nextcloud وافتح نظرة عامة على إعدادات الإدارة. تأكد من اختفاء تحذير ذاكرة التخزين المؤقت المحلية، وتحقق من سجل Nextcloud إذا استمر ظهور تحذير Redis أو ذاكرة التخزين المؤقت. يمكنك أيضًا تشغيل الأمر sudo -u www-data php /var/www/nextcloud/occ statusللتأكد من استمرار تحميل المثيل؛ يتحقق هذا الأمر من توفر Nextcloud، وليس من ذاكرة التخزين المؤقت بحد ذاتها.
إذا أبلغ Redis عن "رفض الوصول" أو تعذر على Nextcloud الاتصال، فتأكد من وجود المقبس، www-dataوانتمائه إلى redisالمجموعة، وأن مجموعة المقبس ووضعه يسمحان بالوصول. أعد تشغيل Redis ومعالج PHP بعد تغيير عضوية المجموعة. إذا تعذر على Redis إنشاء المقبس، فتحقق من وجود خطأ إملائي في المسار المُكوّن وافحصه sudo journalctl -u redis-server -n 50. لا تحل مشكلة أذونات المقبس بفتح Redis للشبكة العامة.
إذا كان إصدار Nextcloud لديك أقدم من 34.0.2، فقم بتثبيت إضافة PHP Redis التي تتوافق مع إصدار PHP المستخدم لتشغيل Nextcloud. في نظام Ubuntu 24.04 القياسي مع PHP 8.3، تكون الحزمة هي `< اسم الحزمة php-redis>`؛ حيث يُدرجها Ubuntu كإضافة PHP 8.3 Redis. أعد تشغيل معالج PHP النشط بعد التثبيت. في ملف `<اسم الحزمة>` config.php، استخدم فئات Redis القديمة وكتلة الاتصال بدلاً من إدخالات KeyValueCache المذكورة أعلاه.
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '/run/redis/redis-server.sock',
'port' => 0,
],
يؤكد عرض قائمة حزم php-redis في نظام Ubuntu Noble عملية ربط الحزم. لا تقم بتهيئة كلا الخادمين الخلفيين في آنٍ واحد. بعد حفظ الإعدادات المطابقة، أعد اختبار اتصال المقبس (ping) وفحص نظرة عامة على لوحة تحكم Nextcloud.
قم بإصلاح تحذير عنوان الصادر المفقود في Nextcloud عن طريق تعيين عنوان URL الأساسي الخاص به والتحقق من DNS و HTTPS وتوجيه الوكيل العكسي من الخادم نفسه.
قم بتكوين APCu و Redis عبر مقبس Unix محلي لتخزين Nextcloud المؤقت وقفل الملفات، مع خطوات للإصدارات الحالية والأقدم من Nextcloud.
تحقق من وضع cron الخاص بـ Nextcloud، وقم بإصلاح خدمة systemd والمؤقت الخاص به، وتأكد من تشغيل المهام الخلفية بعد بدء التشغيل وكل خمس دقائق.
قم بتمكين قفل الملفات الموثوق به في Nextcloud، واختر الواجهة الخلفية المناسبة Redis أو Valkey، وتحقق من إزالة التحذير دون المخاطرة بتغييرات الملفات المتزامنة.
قم بإصلاح نتائج فحص Nextcloud الشائعة من خلال التحديثات الحالية، و HTTPS و HSTS، والثقة الدقيقة في الخادم الوكيل العكسي، وعمليات التحقق من الخادم العام.
قم بتكوين Nextcloud SSE للتخزين الذي يحتاج إليه، وقم بحماية مفاتيح التشفير، وقم بقياس تأثير النقل ووحدة المعالجة المركزية قبل تشفير الملفات الموجودة.
قم بتوصيل خاصية البحث عن الملفات في Nextcloud بـ Elasticsearch، وقم بفهرسة محتويات المستندات، واختر إعدادًا يناسب احتياجات الخادم والأمان لديك.
قم بتكوين Nextcloud لإزالة الملفات المحذوفة بعد فترة احتفاظ محددة، وجدولة مهام الخلفية بشكل موثوق، وتجنب الأوامر التي تقوم بمسح سلة المهملات الخاصة بكل مستخدم.
قم بتشغيل أداة إصلاح OCC الخاصة بـ Nextcloud بأمان، واستعرض تغييرات قاعدة البيانات، وتحقق من سبب استمرار التحذير.
السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.