إعداد التخزين المؤقت لـ Nextcloud Redis على Ubuntu 24.04

أضاف Nextcloud 34.0.2 واجهة خلفية مدمجة متوافقة مع Redis KeyValueCache، مما يسمح لـ Nextcloud الحالي باستخدام Redis دون الحاجة إلى تثبيت إضافة Redis الخاصة بـ PHP. على خادم Ubuntu 24.04 واحد، استخدم APCu للتخزين المؤقت المحلي السريع، وRedis للتخزين المؤقت الموزع وقفل الملفات للمعاملات، متصلين عبر مقبس Unix. هذا يُبقي Redis خارج الشبكة، ويمنح Nextcloud ذاكرة تخزين مؤقت مشتركة تعمل عبر طلبات PHP.

اختر الواجهة الخلفية المناسبة لـ Redis أولاً

يُوثّق دليل إدارة 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

قم بتحديث فهرس حزم أوبونتو، وقم بتثبيت خادم Redis ووحدة APCu PHP، وقم بتمكين Redis عند بدء التشغيل:

sudo apt update
sudo apt install redis-server php-apcu
sudo systemctl enable --now redis-server
يعرض طرفية أوبونتو تحديث وتثبيت apt-server و php-apcu.
قم بتثبيت خادم Redis وحزم APCu قبل تعديل أي من ملفات التكوين.

في أوبونتو 24.04، يكون إصدار PHP الافتراضي هو 8.3، وهو php-apcuاسم حزمة التوزيعة. Redis خدمة منفصلة، ​​بينما يتم تحميل APCu بواسطة PHP. أعد تشغيل معالج PHP بعد تثبيت APCu لكي تقوم عملية PHP الخاصة بالويب بتحميل الوحدة. إذا كنت تستخدم PHP-FPM، فعادةً ما يكون ذلك باستخدام الأمر ` php8.3-fpmmod_php`؛ أما إذا كان Apache يستخدم mod_php، فأعد تشغيله apache2. تحقق من أسماء الخدمات النشطة قبل إعادة التشغيل.

اجعل Redis محليًا على الخادم

في هذا الإعداد أحادي المضيف، استخدم مقبس يونكس وقم بتعطيل مستمع TCP الخاص بـ Redis. /etc/redis/redis.confعدّل التوجيهات النشطة الحالية بدلاً من ترك نسخ متعددة متضاربة، ثم اضبطها كما يلي:

port 0
unixsocket /run/redis/redis-server.sock
unixsocketperm 770
يُظهر محرر تكوين Redis تعطيل TCP ومسار مقبس Unix مع الوضع 770.
استخدم نفس مسار المقبس في Redis و Nextcloud، وقم بتقييد الوصول إلى مجموعة Redis.

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 .

وجّه Nextcloud إلى المقبس

قم بعمل نسخة احتياطية 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',
    ],
],
محرر ملف config.php الخاص بـ Nextcloud يعرض إدخالات ذاكرة التخزين المؤقت المحلية APCu و KeyValueCache باستخدام مقبس Redis.
احتفظ بـ APCu محليًا وقم بتعيين كل من وحدة التخزين المؤقت Redis ومضيف المقبس في config.php.

يُشير الخط المائل في بداية مسار المضيف إلى استخدام 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
طرفية أوبونتو التي تشغل redis-cli على مقبس Nextcloud Redis وتظهر PONG.
يؤكد رد PONG أن Redis يقبل اتصالاً محلياً من خلال المقبس المُكوّن.

الاستجابة المتوقعة للأمر الثاني هي 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: استخدم PhpRedis بدلاً من ذلك

إذا كان إصدار 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.

اترك تعليقاً

قم بتعيين عنوان URL العام لـ Nextcloud حتى يتمكن من الوصول إلى نفسه

قم بإصلاح تحذير عنوان الصادر المفقود في Nextcloud عن طريق تعيين عنوان URL الأساسي الخاص به والتحقق من DNS و HTTPS وتوجيه الوكيل العكسي من الخادم نفسه.

إعداد التخزين المؤقت لـ Nextcloud Redis على Ubuntu 24.04

إعداد التخزين المؤقت لـ Nextcloud Redis على Ubuntu 24.04

قم بتكوين APCu و Redis عبر مقبس Unix محلي لتخزين Nextcloud المؤقت وقفل الملفات، مع خطوات للإصدارات الحالية والأقدم من Nextcloud.

قم بتشغيل Nextcloud Cron تلقائيًا باستخدام مؤقت Systemd

تحقق من وضع cron الخاص بـ Nextcloud، وقم بإصلاح خدمة systemd والمؤقت الخاص به، وتأكد من تشغيل المهام الخلفية بعد بدء التشغيل وكل خمس دقائق.

إزالة تحذير قفل الملفات من Nextcloud باستخدام Redis

قم بتمكين قفل الملفات الموثوق به في Nextcloud، واختر الواجهة الخلفية المناسبة Redis أو Valkey، وتحقق من إزالة التحذير دون المخاطرة بتغييرات الملفات المتزامنة.

ما يلزم للحصول على تصنيف أمان A+ من Nextcloud

ما يلزم للحصول على تصنيف أمان A+ من Nextcloud

قم بإصلاح نتائج فحص Nextcloud الشائعة من خلال التحديثات الحالية، و HTTPS و HSTS، والثقة الدقيقة في الخادم الوكيل العكسي، وعمليات التحقق من الخادم العام.

تفعيل تشفير جانب الخادم في Nextcloud مع قياس التأثير

قم بتكوين Nextcloud SSE للتخزين الذي يحتاج إليه، وقم بحماية مفاتيح التشفير، وقم بقياس تأثير النقل ووحدة المعالجة المركزية قبل تشفير الملفات الموجودة.

أضف خاصية البحث النصي الكامل في Elasticsearch إلى Nextcloud

قم بتوصيل خاصية البحث عن الملفات في Nextcloud بـ Elasticsearch، وقم بفهرسة محتويات المستندات، واختر إعدادًا يناسب احتياجات الخادم والأمان لديك.

تحديد سياسة انتهاء صلاحية موثوقة للملفات المحذوفة من Nextcloud

تحديد سياسة انتهاء صلاحية موثوقة للملفات المحذوفة من Nextcloud

قم بتكوين Nextcloud لإزالة الملفات المحذوفة بعد فترة احتفاظ محددة، وجدولة مهام الخلفية بشكل موثوق، وتجنب الأوامر التي تقوم بمسح سلة المهملات الخاصة بكل مستخدم.

تحذير: مسح فهارس قاعدة البيانات المفقودة في Nextcloud

تحذير: مسح فهارس قاعدة البيانات المفقودة في Nextcloud

قم بتشغيل أداة إصلاح OCC الخاصة بـ Nextcloud بأمان، واستعرض تغييرات قاعدة البيانات، وتحقق من سبب استمرار التحذير.

ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت

ارفع حد تحميل الملفات على Nextcloud إلى ما يزيد عن 2 جيجابايت

السماح بتحميل ملفات أكبر حجماً عبر متصفح Nextcloud عن طريق ضبط إعدادات PHP أو Nginx أو Apache والتخزين المؤقت والمهلة الزمنية - والتحقق من الحد الذي يمنع الملف.