دليل النشر

‎Nextcloud‎ على ‎VPS‎ : الدليل الكامل ‎NC 34‎ والأمان

انشر على VPS Cloud →

الاستضافة الذاتية12 دقيقة قراءة

‎Nextcloud‎ على ‎VPS‎ : الدليل الكامل ‎NC 34‎ والأمان

‏‎Nextcloud‎ من أكثر التطبيقات نشراً ذاتياً وأكثرها سوءاً في الإعداد. بين المثيلات التي تعمل دون ‎Redis‎ وبطء مؤلم، ودون ‎TLS‎ مُجبَر وبيانات مكشوفة، وتحديث مايو 2026 الذي يصلح ثغرتَي تجاوز المصادقة الثنائية الحرجتَين، ثم انحدارات ‎NC 34.0.0‎ الجديدة — تطبيقات موصى بها غائبة عند أول تشغيل، وقيد مُضاعَف في ‎PostgreSQL‎ يفجّر ‎CPU‎ — كل إصدار يجلب مخاطره الخاصة. يأخذك هذا الدليل من التثبيت الكامل إلى التحقق الأمني، ويغطي تصحيحات ‎NC 34.0.2‎ والأخطاء الخمسة الأكثر شيوعاً.

‏تنبيه أمني — ثغرات تجاوز المصادقة الثنائية لمايو 2026

‏في مايو 2026، كُشف عن ثغرتَين حرجتَين لتجاوز المصادقة الثنائية في ‎Nextcloud‎:

CVE-2026-45690 (درجة ‎CVSS 5.9‎، كُشف عنها 15 مايو 2026): مهاجم يملك اسم المستخدم وكلمة المرور يستطيع تجاوز التحقق الثنائي عبر ‎HTTP Basic Auth‎.

CVE-2026-45691 (درجة ‎CVSS 5.9‎، كُشف عنها 13 مايو 2026): نفس فئة الثغرة، لكنها قابلة للاستغلال عبر رمز ‎Bearer DAV‎ — بروتوكول ‎WebDAV‎ المستخدم من عملاء المزامنة.

‏كلتا الثغرتَين مُصلَّحتان في ‎Nextcloud 32.0.9‎ (الفرع 32) و‎33.0.3‎ (الفرع 33) و‎34.0.2‎ (الفرع 34). تحقق من تعرّض مثيلك (انظر القسم المخصص أدناه).

‏‎NC 34.0.0‎ — تطبيقات موصى بها غائبة عند أول تشغيل

‏يُدخل ‎Nextcloud 34.0.0‎ انحداراً في معالج التثبيت: التطبيقات الموصى بها (‎Notes‎، ‎Calendar‎، ‎Contacts‎) غير مقترحة خلال الإعداد الأولي. تبقى قائمة التطبيقات المقترحة فارغة بغض النظر عن ملف التثبيت المختار.

التأثير العملي: مثيل ‎NC 34.0.0‎ الجديد يفتقر إلى تطبيقات الإنتاجية الأساسية. المستخدمون الذين يتوقعون مزامنة تقويم ‎CalDAV‎ أو جهات الاتصال ‎CardDAV‎ عليهم تثبيتها يدوياً من واجهة الإدارة.

المصادر: مشكلات ‎GitHub‎ #61313 و#61611 — مُصلَّحة في ‎34.0.2‎.

التحقق من وجود التطبيقات:

docker compose exec -u www-data app php occ app:list | grep -E 'calendar|contacts|notes'

‏إذا لم تُرجع الأمرُ شيئاً، فالتطبيقات غير مثبتة. لإضافتها يدوياً:

docker compose exec -u www-data app php occ app:install calendar
docker compose exec -u www-data app php occ app:install contacts
docker compose exec -u www-data app php occ app:install notes

التوصية: ابدأ مباشرةً بـ ‎34.0.2‎ أو أحدث بدلاً من ‎34.0.0‎. إذا كان مثيلك يعمل بالفعل على ‎34.0.0‎، فالتحديث إلى ‎34.0.2‎ يُعيد تشغيل المعالج، لكن التطبيقات الغائبة على المثيل الموجود تحتاج مع ذلك إلى تثبيت يدوي.

‏‎NC 34.0.0‎ — قيد مُضاعَف على ‎PostgreSQL‎ وانفجار في استهلاك ‎CPU‎

‏على المثيلات التي تستخدم ‎PostgreSQL‎ (بدلاً من ‎MariaDB/MySQL‎)، قد تترك عملية ترحيل ‎Nextcloud 34.0.0‎ المُقاطَعة قيداً مُضاعَفاً على جدول oc_filecache_extended. لا يُلاحَظ هذا التضاعف عند بدء التشغيل، لكنه يُطلق انفجاراً في استهلاك ‎CPU‎ و‎RAM‎ خلال فحص الملفات التالي (files:scan) أو الصيانة التلقائية.

الأعراض: حِمل ‎CPU‎ مرتفع بشكل غير طبيعي على حاوية ‎Nextcloud‎، فحص ملفات لا يكتمل، أخطاء في السجلات من قبيل duplicate key value violates unique constraint.

المصدر: مشكلة ‎GitHub‎ #61597.

التحقق والإصلاح:

# 1. تنظيف إدخالات ذاكرة التخزين المؤقت للملفات الأيتام
docker compose exec -u www-data app php occ files:cleanup

# 2. إعادة إنشاء الفهارس المفقودة على الجدول المتأثر
docker compose exec -u www-data app php occ db:add-missing-indices

# 3. التحقق من عدم وجود أعمدة مفقودة
docker compose exec -u www-data app php occ db:add-missing-columns

‏إذا استمرت الأخطاء، قم بالترقية مباشرةً إلى ‎34.0.2‎ الذي يحتوي على إصلاح الترحيل.

ملاحظة: هذه المشكلة لا تؤثر على مثيلات ‎MariaDB/MySQL‎. يجب على مثيلات ‎PostgreSQL‎ الإنتاجية على ‎NC 34.0.0‎ تطبيق هذه الأوامر قبل الفحص التلقائي التالي.

‏المتطلبات والتحجيم

التكوين الأدنى الموصى به:
- خادم ‎VPS‎ بـ 2 جيجابايت ذاكرة (4 جيجابايت لأكثر من 5 مستخدمين نشطين).
- أقراص ‎SSD‎ إلزامية: ‎Nextcloud‎ تُجري عمليات ملفات ومصغرات كثيرة.
- 20 جيجابايت مساحة كحد أدنى إضافةً إلى مساحة بياناتك.
- ‎Ubuntu 22.04‎ أو ‎Debian 12‎.
- ‎Docker Engine ≥ 24‎ و‎Docker Compose V2‎.
- اسم نطاق وشهادة ‎TLS‎ (‎Let's Encrypt‎ عبر ‎Certbot‎).

‏تثبيت ‎Nextcloud‎ باستخدام ‎Docker Compose‎

01

‏الخطوة 1 — إنشاء هيكل المشروع

‏أنشئ /opt/nextcloud/docker-compose.yml مع ‎MariaDB 10.11‎ و‎Redis 7-alpine‎ و‎Nextcloud nextcloud:34.0.2-apache‎. اربط التطبيق بـ127.0.0.1:8080:80.

02

‏الخطوة 2 — تشغيل الحاويات

docker compose up -d
docker compose logs -f app

‏يستغرق أول تشغيل من 2 إلى 4 دقائق. انتظر رسالة Nextcloud was successfully installed.

03

‏الخطوة 3 — ضبط ‎Nginx‎ مع ‎TLS‎

‏ثبّت ‎Nginx‎ و‎Certbot‎، أنشئ موقع ‎Nextcloud‎ مع client_max_body_size 10G; ورؤوس ‎proxy‎، ثم شغّل certbot --nginx -d cloud.yourdomain.com.

04

‏الخطوة 4 — ضبط ‎Redis‎ لأداء أفضل

‏تعمل ‎Nextcloud‎ ببطء بدون ‎Redis‎. أضف إلى config.php:

'memcache.local' => '\\OC\\Memcache\\APCu',
'memcache.locking' => '\\OC\\Memcache\\Redis',
'redis' => ['host' => 'redis', 'port' => 6379],

‏تحقق من الاتصال: docker compose exec -u www-data app php occ config:system:get redis

05

‏الخطوة 5 — ضبط ‎SMTP‎ للإشعارات بالبريد الإلكتروني

‏تُرسل ‎Nextcloud‎ إشعارات بالبريد الإلكتروني لمشاركة الملفات وإعادة تعيين كلمة المرور و‎2FA‎. اضبط ‎SMTP‎ في الإدارة → الإعدادات الأساسية:

- المنفذ: 587 (STARTTLS)
- المصادقة: مطلوبة

‏اختبر بـ إرسال بريد إلكتروني تجريبي.

‏تحسين الأداء باستخدام ‎Redis‎ و‎OPcache‎

‏‎Nextcloud‎ بدون ‎Redis‎ بطيئة. تؤدي ‎Redis‎ دورَين حيويَّين: تخزين الجلسات مؤقتاً (تتجنب قراءات/كتابات القرص عند كل طلب مُعتمَد) وقفل موزع (‎file locking‎) يمنع التعارضات أثناء المزامنات المتزامنة.

‏تحقق من اتصال ‎Redis‎:

docker compose exec -u www-data app php occ config:system:get redis

‏إذا لم يظهر شيء، أضف إعداد ‎Redis‎ يدوياً إلى config.php.

‏التحقق من تعرّض مثيلك لثغرات ‎CVE‎ للمصادقة الثنائية

فحص الإصدار الحالي:

docker compose exec -u www-data app php occ status

الإصدارات المعرّضة: جميع ‎Nextcloud 32.x < 32.0.9‎ و‎33.x < 33.0.3‎ و‎34.x < 34.0.2‎.

التحديث إلى ‎34.0.2‎:

sed -i 's|nextcloud:[0-9.]*-apache|nextcloud:34.0.2-apache|g' docker-compose.yml
docker compose pull app && docker compose up -d app
docker compose exec -u www-data app php occ upgrade

‏الأخطاء الخمسة الأكثر شيوعاً

‏1. ‎Redis‎ غير مُعدّ — واجهة بطيئة وتعارضات في المزامنة.
2. overwrite.cli.url يشير إلى http:// بدل https:// — روابط المشاركة والإشعارات تُنشئ روابط غير آمنة.
3. trusted_domains غير مُعدّ بشكل صحيح — خطأ 'untrusted domain'.
4. حجم الرفع محدود بـ 2 ميجابايت — القيمة الافتراضية لـ‎PHP‎ صغيرة جداً.
5. تحديثات أمنية مفقودة — مثيلات تبقى عُرضة للخطر دون تصحيح منتظم.

‏التحقق من فاعلية ‎Redis‎ باستخدام ‎occ‎

# فحص الحالة العامة للمثيل
docker compose exec -u www-data app php occ status

# سرد تحذيرات الإعداد (memcache، Redis، HTTPS...)
docker compose exec -u www-data app php occ check

# عرض إعداد Redis الحالي
docker compose exec -u www-data app php occ config:system:get redis

‏أمر occ check يُدرج جميع مشكلات الإعداد المكتشفة. هو أول تشخيص يجب إجراؤه على أي مثيل ‎Nextcloud‎ قائم.

‏نسخ ‎Nextcloud‎ احتياطياً — البيانات وقاعدة البيانات والإعداد

‏تخزّن ‎Nextcloud‎ بياناتها في ثلاثة أماكن — يجب نسخ الثلاثة احتياطياً:

1. قاعدة بيانات ‎MariaDB‎: البيانات الوصفية للملفات والمستخدمون والمشاركات.
2. حجم nextcloud: كود ‎PHP‎ والتطبيقات المثبَّتة وconfig/config.php.
3. ملفات المستخدمين.

docker compose exec -u www-data app php occ maintenance:mode --on
docker compose exec -T db mysqldump -u nextcloud -p${MYSQL_PASSWORD} nextcloud | gzip > /opt/nextcloud/backups/db-$(date +%Y%m%d).sql.gz
docker compose exec -u www-data app php occ maintenance:mode --off

‏تحديث ‎Nextcloud‎ في الإنتاج

‏نفّذ التحديثات دائماً مع تفعيل وضع الصيانة:

docker compose exec -u www-data app php occ maintenance:mode --on
sed -i 's|nextcloud:[0-9.]*-apache|nextcloud:34.0.2-apache|g' docker-compose.yml
docker compose pull app && docker compose up -d app
docker compose exec -u www-data app php occ upgrade
docker compose exec -u www-data app php occ maintenance:mode --off

‏الخطوات التالية — المضي أبعد مع مثيلك

‏بعد تثبيت ‎Nextcloud‎ وتأمينها:

تفعيل ‎Talk‎ (مؤتمرات الفيديو): ثبّت تطبيق ‎Nextcloud Talk‎ من واجهة الإدارة.

تفعيل ‎OnlyOffice‎ أو ‎Collabora Online‎: هذه التطبيقات تحتاج حاوية ‎Docker‎ مستقلة.

مراقبة مثيلك: ضبط التنبيهات في الإدارة → المراقبة لتلقّي إشعارات بالبريد الإلكتروني عند اكتشاف ‎Nextcloud‎ أي أخطاء أو تحديثات أمنية.

‏‎VPS‎ موثوق لمثيل ‎Nextcloud‎ الخاص بك

‏يحتاج ‎Nextcloud‎ إلى خادم ‎VPS‎ بأقراص ‎SSD‎ وعرض نطاق ترددي جيد لمزامنة سلسة للملفات. تبدأ خطط ‎VPS‎ السحابية لدينا من 2 جيجابايت ذاكرة عشوائية مع لقطات يومية.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـ العربية والفرنسية والإنجليزية.