استضافة Nextcloud الذاتية: حل سحابي خاص لك

تحكم ببياناتك باستخدام تخزين السحابة Nextcloud المضيف ذاتيًا

Page content

Nextcloud هو منصة تخزين وتعاون سحابية مفتوحة المصدر ومُستضافة ذاتيًا تضعك في سيطرة كاملة على بياناتك.

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

nextcloud

لماذا تختار استضافة Nextcloud ذاتيًا؟

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

ملكية البيانات الكاملة والخصوصية

عندما تستضيف Nextcloud ذاتيًا، فإن بياناتك لا تغادر سيطرتك أبدًا. على عكس Google Drive وDropbox وOneDrive، حيث يتم تخزين ملفاتك على خوادم الشركات وربما يتم مسحها أو تحليلها، فإن Nextcloud تحافظ على كل شيء على بنية تحتية تابعة لك. وهذا يعني:

  • عدم وجود وصول من طرف ثالث إلى ملفاتك الخاصة
  • السيطرة الكاملة على الامتثال للبيانات الحساسة أو المُنظمة
  • الحرية من المراقبة واستخراج البيانات
  • عدم وجود قيود مصنّع أو تغييرات في السياسات التي تؤثر على بياناتك

غالبًا ما يكون Nextcloud حجر الزاوية في استراتيجية أوسع لاستضافة ذاتية تركز على الخصوصية. يكمل العديد من المستخدمين Nextcloud بخدمات ذاتية أخرى مثل SearXNG للبحث الخصوصي أو يستكشفون محركات بحث بديلة لتقليل الاعتماد على التقنيات الكبيرة في جميع جوانب حياتهم الرقمية.

فعالية التكلفة عند التوسع

بينما يبدو تخزين السحابة التجارية رخيصًا في البداية، فإن التكاليف ترتفع بسرعة مع زيادة عدد المستخدمين واحتياجات التخزين. تصبح الاشتراكات السنوية البالغة 100 دولار لكل مستخدم 1000 دولار لـ 10 مستخدمين. مع Nextcloud، تدفع مرة واحدة لبنية تحتية تابعة لك ويمكنك التوسع دون تكاليف شهرية لكل مستخدم.

نظام شامل غني بالميزات

Nextcloud ليس مجرد تخزين ملفات، بل هو منصة تعاون كاملة تقدم:

  • مزامنة ومشاركة الملفات عبر جميع الأجهزة
  • تكامل مكتب إلكتروني (Collabora Online، OnlyOffice)
  • تقويم واتصالات (CalDAV/CardDAV)
  • إدارة المهام والمشاريع
  • مؤتمرات فيديو (Nextcloud Talk)
  • برنامج بريد إلكتروني
  • ملاحظات وعلامات مرجعية
  • معرض صور مع تسمية ذكية
  • 100+ تطبيق من متجر Nextcloud App Store

طرق التثبيت

هناك عدة طرق لتثبيت Nextcloud، كل منها مناسب لمستويات مختلفة من المهارات والمتطلبات.

1. التثبيت باستخدام Docker (الموصى به)

يوفر Docker أبسط طريقة لتثبيت وصيانة Nextcloud. إليك إعداد docker-compose الكامل:

version: '3'

services:
  nextcloud-db:
    image: mariadb:10.11
    container_name: nextcloud-db
    restart: always
    command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
    volumes:
      - db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=your_secure_root_password
      - MYSQL_PASSWORD=your_secure_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  nextcloud-redis:
    image: redis:alpine
    container_name: nextcloud-redis
    restart: always

  nextcloud-app:
    image: nextcloud:latest
    container_name: nextcloud-app
    restart: always
    ports:
      - 8080:80
    links:
      - nextcloud-db
      - nextcloud-redis
    volumes:
      - nextcloud:/var/www/html
      - ./data:/var/www/html/data
    environment:
      - MYSQL_PASSWORD=your_secure_password
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=nextcloud-db
      - REDIS_HOST=nextcloud-redis

volumes:
  db:
  nextcloud:

قم بتثبيته باستخدام أمر بسيط:

docker-compose up -d

2. التثبيت اليدوي على Ubuntu/Debian

للمستخدمين الذين يفضلون التثبيت التقليدي، إليك العملية لـ Ubuntu 22.04/24.04:

# تحديث النظام
sudo apt update && sudo apt upgrade -y

# تثبيت الحزم المطلوبة
sudo apt install apache2 mariadb-server libapache2-mod-php php-gd \
  php-mysql php-curl php-mbstring php-intl php-gmp php-bcmath \
  php-xml php-imagick php-zip php-bz2 unzip -y

# تأمين MariaDB
sudo mysql_secure_installation

# إنشاء قاعدة بيانات ومستخدم
sudo mysql -u root -p
CREATE DATABASE nextcloud;
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY 'your_secure_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost';
FLUSH PRIVILEGES;
EXIT;
# تنزيل وتثبيت Nextcloud
cd /tmp
wget https://download.nextcloud.com/server/releases/latest.tar.bz2
tar -xjf latest.tar.bz2
sudo mv nextcloud /var/www/html/
sudo chown -R www-data:www-data /var/www/html/nextcloud

# تكوين Apache
sudo nano /etc/apache2/sites-available/nextcloud.conf

3. حزمة Snap (الأسهل)

للاختيار بدون إعدادات على Ubuntu:

sudo snap install nextcloud

هذا يثبيت كل ما هو مطلوب (خادم ويب، قاعدة بيانات، PHP) في أمر واحد، على الرغم من أن هذا يقلل المرونة.

4. الأجهزة المُعدة مسبقًا

لأقل تأثير تقني، فكّر في:

  • Nextcloud VM - جهاز افتراضي مُعد مسبقًا
  • Nextcloud Pi - مُحسّن لـ Raspberry Pi
  • تطبيقات NAS - متاحة على Synology، QNAP، إلخ.

التكوين بعد التثبيت

وكيل عكسي مع SSL/TLS

يتطلب عرض Nextcloud بأمان وكيل عكسي مع HTTPS. باستخدام Nginx مع Let’s Encrypt:

server {
    listen 80;
    server_name cloud.yourdomain.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name cloud.yourdomain.com;

    ssl_certificate /etc/letsencrypt/live/cloud.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.yourdomain.com/privkey.pem;

    client_max_body_size 512M;
    fastcgi_buffers 64 4K;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

احصل على شهادة SSL:

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d cloud.yourdomain.com

تحسين الأداء

قم بتحسين Nextcloud في config/config.php:

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => 'nextcloud-redis',
    'port' => 6379,
],
'default_phone_region' => 'US',
'maintenance_window_start' => 1,

فعّل cron لمهام الخلفية:

sudo crontab -u www-data -e

أضف:

*/5 * * * * php -f /var/www/html/nextcloud/cron.php

تفعيل المصادقة الثنائية

انتقل إلى الإعدادات → الأمان → المصادقة الثنائية وفعّل تطبيقات TOTP مثل Google Authenticator أو Authy.

التطبيقات والتوسعات الأساسية

مجموعات المكاتب

Collabora Online أو OnlyOffice تتيح تحرير المستندات في الوقت الفعلي مباشرة في متصفحك:

# OnlyOffice مع Docker
docker run -i -t -d -p 8000:80 --restart=always \
  -v /app/onlyoffice/DocumentServer/logs:/var/log/onlyoffice \
  -v /app/onlyoffice/DocumentServer/data:/var/www/onlyoffice/Data \
  onlyoffice/documentserver

ثم قم بتثبيت تطبيق OnlyOffice في Nextcloud وconfigure عنوان خادم المستندات.

Nextcloud Talk

مؤتمر فيديو مدمج مُحمي بخادمك الخاص:

# تثبيت تطبيق Talk من متجر Nextcloud Apps
# تثبيت خادم TURN لتحسين الاتصال
sudo apt install coturn

إدارة الصور

تطبيق الصور يوفر وظائف مشابهة لـ Google Photos مع:

  • التعرف على الوجوه
  • التسمية التلقائية
  • عرض المخطط الزمني
  • إنشاء الألبومات ومشاركتها

إدارة الوثائق والمعرفة

بينما يحتوي Nextcloud على إمكانية تحرير النصوص الأساسية وتدوين الملاحظات، فإن الفرق غالبًا ما تستفيد من أدوات إدارة الوثائق المخصصة. فكّر في توصيل Nextcloud مع DokuWiki أو حلول ويكية مُستضافة ذاتيًا لإدارة المعرفة الشاملة. يمكنك حتى تخزين بيانات ويكية في تخزين Nextcloud الخاص بك للنسخ الاحتياطي الموحّد وتحكم الوصول.

التخزين الخارجي

اتصل بخزين موجود:

  • Amazon S3
  • خوادم SFTP/FTP
  • محركات Windows Network Drives (SMB/CIFS)
  • WebDAV

بناء نظامك المُستضاف ذاتيًا

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

البحث والبحث الذكاء الاصطناعي

ليس الحديث عن التخزين فقط، بل إعادة إنشاء تجربة السحابة بأكملها حسب رغبتك. فكّر في إضافة Perplexica مع Ollama إلى مجموعتك لتحسين قدرات البحث والرد على الأسئلة باستخدام الذكاء الاصطناعي التي تكمل تخزين Nextcloud الخاص بك.

التكامل والتوسيع

للفرق التي تدير خدمات مُستضافة ذاتيًا متعددة، أنظمة التكامل تساعد على ربط Nextcloud مع أدوات أخرى في مجموعتك. هذا يمكّن من عمليات مثل نشر المحتوى تلقائيًا (POSSE)، والإشعارات عبر المنصات، وتوحيد المصادقة عبر نظامك المُستضاف ذاتيًا.

يمكنك استخدام تطبيق External Sites في Nextcloud لإنشاء لوحة تحكم موحدة تربط جميع خدماتك المُستضافة ذاتيًا، مما يوفر نقطة دخول واحدة لبنية تحتية سحابية خاصة بك.

استراتيجية النسخ الاحتياطي

نسخ احتياطي تلقائي

#!/bin/bash
# نسخ احتياطي Nextcloud

BACKUP_DIR="/backup/nextcloud"
DATE=$(date +%Y%m%d_%H%M%S)
NEXTCLOUD_DIR="/var/www/html/nextcloud"

# تفعيل وضع الصيانة
sudo -u www-data php ${NEXTCLOUD_DIR}/occ maintenance:mode --on

# نسخ قاعدة البيانات
mysqldump --single-transaction -u nextcloud -p'your_password' nextcloud > \
  ${BACKUP_DIR}/nextcloud-db-${DATE}.sql

# نسخ دليل البيانات
rsync -Aavx ${NEXTCLOUD_DIR}/data/ ${BACKUP_DIR}/data-${DATE}/

# نسخ التكوين
cp -r ${NEXTCLOUD_DIR}/config/ ${BACKUP_DIR}/config-${DATE}/

# إيقاف وضع الصيانة
sudo -u www-data php ${NEXTCLOUD_DIR}/occ maintenance:mode --off

# احتفظ فقط بنسخ احتياطية من 7 أيام
find ${BACKUP_DIR} -type f -mtime +7 -delete

# نسخ إلى موقع احتياطي (اختياري)
rsync -avz ${BACKUP_DIR}/ user@backup-server:/nextcloud-backups/

جدولة باستخدام cron:

0 2 * * * /usr/local/bin/nextcloud-backup.sh

تقوية الأمان

تكوين جدار الحماية

# باستخدام UFW
sudo ufw allow 22/tcp    # SSH
sudo ufw allow 80/tcp    # HTTP
sudo ufw allow 443/tcp   # HTTPS
sudo ufw enable

حماية Fail2ban

حماية ضد الهجمات القسرية:

sudo apt install fail2ban
sudo nano /etc/fail2ban/filter.d/nextcloud.conf
[Definition]
failregex=^{"reqId":".*","level":2,"time":".*","remoteAddr":"<HOST>","user":".*","app":"core","method":".*","url":".*","message":"Login failed:
ignoreregex =
sudo nano /etc/fail2ban/jail.local
[nextcloud]
enabled = true
port = 80,443
protocol = tcp
filter = nextcloud
maxretry = 3
bantime = 86400
logpath = /var/www/html/nextcloud/data/nextcloud.log

التحديثات الدورية

احتفظ بمنصتك آمنة:

# Docker
docker-compose pull
docker-compose up -d

# التثبيت اليدوي
sudo -u www-data php /var/www/html/nextcloud/updater/updater.phar
sudo -u www-data php /var/www/html/nextcloud/occ upgrade

المراقبة والصيانة

فحص صحة النظام

استخدم ملخص الإدارة المدمج (الإعدادات → الإدارة → الملخص) للتحقق من:

  • تحذيرات الأمان
  • مشاكل التكوين
  • حالة النظام
  • توفر التحديثات

إدارة من خلال سطر الأوامر

يوفر أداة occ قدرات إدارة قوية:

# مسح الملفات
sudo -u www-data php occ files:scan --all

# فحص سلامة
sudo -u www-data php occ integrity:check-core

# إدارة المستخدمين
sudo -u www-data php occ user:list
sudo -u www-data php occ user:add username

# إدارة التطبيقات
sudo -u www-data php occ app:list
sudo -u www-data php occ app:enable app_name

مراقبة الموارد

راقب خادمك باستخدام أدوات مثل:

# تثبيت أدوات المراقبة
sudo apt install htop iotop nethogs

# فحص السجلات
tail -f /var/www/html/nextcloud/data/nextcloud.log
journalctl -u docker -f  # للاستعدادات Docker

العميل المحمول والمحلي

عميل المزامنة المحلي

قم بتنزيله من https://nextcloud.com/install/#install-clients لـ:

  • Windows
  • macOS
  • Linux (AppImage، حزم)

يقدم مزامنة انتقائية، ملفات افتراضية (تنزيل حسب الطلب)، وتحكم في سرعة النطاق.

تطبيقات الهاتف

تطبيقات رسمية متاحة على:

  • iOS - متجر التطبيقات
  • Android - متجر Google Play، F-Droid

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

  • رفع الصور والفيديوهات تلقائيًا
  • الوصول إلى الملفات دون اتصال
  • مسح المستندات
  • تكامل المشاركة

الوصول عبر WebDAV

قم بالوصول إلى الملفات من أي عميل WebDAV:

https://cloud.yourdomain.com/remote.php/dav/files/USERNAME/

اعتبارات التوسع

توزيع صغير (1-10 مستخدمين)

  • العتاد: 2 جيجابايت ذاكرة، 2 نواة معالج، 100 جيجابايت تخزين
  • قاعدة البيانات: SQLite أو MariaDB
  • الإعداد: خادم واحد مع Docker

توزيع متوسط (10-100 مستخدم)

  • العتاد: 8 جيجابايت ذاكرة، 4+ نواة معالج، 1 تيرابايت+ تخزين
  • قاعدة البيانات: MariaDB/PostgreSQL مع تحسينات
  • التخزين المؤقت: Redis لتخزين المؤقت الموزع
  • التخزين: فكّر في NAS أو SAN
  • الإعداد: خادم قاعدة بيانات منفصل وتخزين ملفات

توزيع كبير (100+ مستخدم)

  • البنية: تكوين موزع مع توازن الحمل
  • قاعدة البيانات: PostgreSQL مع تكرار
  • التخزين: تخزين كائنات (S3 المتوافق)
  • التخزين المؤقت: تجميع Redis
  • CDN: لملفات ثابتة
  • المراقبة: Prometheus، Grafana

المشكلات الشائعة والتصحيح

الأداء البطيء

  1. تفعيل وتكوين Redis للتخزين المؤقت
  2. تحسين حدود الذاكرة وopcache في PHP
  3. استخدام قاعدة بيانات أسرع (PostgreSQL بدلًا من MariaDB)
  4. تفعيل HTTP/2 والضغط
  5. نقل دليل البيانات إلى تخزين أسرع (SSD)

مشكلات التحميل

تحقق وزيادة الحدود في:

# تكوين PHP
sudo nano /etc/php/8.1/apache2/php.ini
upload_max_filesize = 16G
post_max_size = 16G
max_execution_time = 3600
memory_limit = 512M

إعادة تشغيل خادم الويب بعد التغييرات.

أخطاء قاعدة البيانات

قم بتشغيل صيانة قاعدة البيانات:

sudo -u www-data php occ db:add-missing-indices
sudo -u www-data php occ db:convert-filecache-bigint

مشكلات الأذونات

إصلاح أذونات الملفات:

sudo chown -R www-data:www-data /var/www/html/nextcloud
sudo find /var/www/html/nextcloud -type d -exec chmod 750 {} \;
sudo find /var/www/html/nextcloud -type f -exec chmod 640 {} \;

بدائل ومقارنات

بينما Nextcloud هو الحل الأكثر شعبية للاستضافة الذاتية للسحابة، فإن البدائل تشمل:

  • Owncloud: سابقة Nextcloud، أبسط ولكن أقل تطورًا
  • Seafile: أسرع لملفات كبيرة، ولكن أقل ميزات
  • Syncthing: مزامنة نقطة إلى نقطة دون خادم مركزي
  • Pydio Cells: واجهة حديثة، مناسبة للشركات
  • Filerun: خفيف، سريع، ولكن أقل ميزات

Nextcloud يتفوق في كونه كامل الميزات، تطوير نشط، ودعم المجتمع.

الخاتمة

الاستضافة الذاتية لـ Nextcloud توفر لك سيطرة كاملة على بياناتك مع تقديم ميزات مستوى المؤسسة لتخزين الملفات، والتعاون، والاتصال. سواء كنت فردًا مهتمًا بالخصوصية، أو شركة صغيرة تسعى لتقليل التكاليف، أو منظمة تتطلب سيطرة على البيانات، فإن Nextcloud يقدم حلًا قويًا ومرنًا.

تتطلب عملية التثبيت الأولية بعض المعرفة التقنية، ولكن الفوائد طويلة المدى لملكية البيانات، والخصوصية، والوفاء بالتكاليف تجعلها تستحق العناء. ابدأ بتثبيت Docker البسيط، أضف الميزات تدريجيًا حسب الحاجة، واستمتع بحرية سحابتك الخاصة.

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

روابط مفيدة

موارد Nextcloud الرسمية

دليلات متعلقة بالاستضافة الذاتية

هل تبني نظامًا متكاملًا من الاستضافة الذاتية؟ تحقق من هذه الدليلات المكملة: