
مقدمة
Nextcloud هو منصة مفتوحة المصدر لمشاركة الملفات والتعاون، مصممة لتخزين البيانات والاتصال الآمن. يوفر بديلًا قويًا للخدمات السحابية التجارية، مما يتيح لك التحكم الكامل في بياناتك. سيوضح لك هذا الدليل كيفية تثبيت Nextcloud على Ubuntu 24.04/22.04، وضمان أن تكون إعداداتك آمنة ومحسنة.
المتطلبات الأساسية
قبل البدء، تأكد من وجود العناصر التالية:
- خادم Ubuntu 24.04/22.04.
- مستخدم غير جذر (non-root) يمتلك صلاحيات sudo.
- اسم نطاق مؤهل بالكامل (FQDN) موجه إلى عنوان IP الخاص بخادمك.
- معرفة أساسية بعمليات سطر الأوامر.
الخطوة 1: تحديث نظامك
أولاً، تأكد من أن نظامك محدث. قم بتشغيل الأوامر التالية:
$ sudo apt update
$ sudo apt upgrade -y
الخطوة 2: تثبيت خادم الويب Apache
يحتاج Nextcloud إلى خادم ويب لخدمة واجهته. سنستخدم Apache لهذا الغرض.
$ sudo apt install apache2 -y
قم بتمكين وتشغيل Apache:
$ sudo systemctl enable apache2
$ sudo systemctl start apache2
تحقق من الحالة للتأكد من أن Apache يعمل:
$ sudo systemctl status apache2
الخطوة 3: تثبيت PHP والامتدادات اللازمة
Nextcloud مبني على PHP، لذا نحتاج إلى تثبيت PHP بالإضافة إلى العديد من الامتدادات المطلوبة بواسطة Nextcloud.
$ sudo apt install php libapache2-mod-php php-mysql php-gd php-json php-curl php-mbstring php-intl php-imagick php-xml php-zip -y
تحقق من إصدار PHP للتأكد من تثبيته بشكل صحيح:
$ php -v
الخطوة 4: تثبيت خادم قاعدة البيانات MariaDB
يحتاج Nextcloud إلى قاعدة بيانات لتخزين بياناته. سنستخدم MariaDB، وهو فورك شائع من MySQL.
$ sudo apt install mariadb-server -y
أمّن تثبيت MariaDB:
$ sudo mysql_secure_installation
اتبع التعليمات لتعيين كلمة مرور الجذر وإزالة المستخدمين وقواعد البيانات غير الضرورية.
الخطوة 5: إنشاء قاعدة بيانات لـ Nextcloud
تسجيل الدخول إلى واجهة MariaDB كمستخدم الجذر:
$ sudo mysql -u root -p
إنشاء قاعدة بيانات ومستخدم لـ Nextcloud:
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
الخطوة 6: تنزيل وتكوين Nextcloud
انتقل إلى الدليل /var/www وقم بتنزيل أحدث إصدار من Nextcloud:
$ cd /var/www
$ sudo wget https://download.nextcloud.com/server/releases/latest.zip
استخراج الأرشيف الذي تم تنزيله:
$ sudo apt install unzip -y
$ sudo unzip latest.zip
ضبط الأذونات الصحيحة:
$ sudo chown -R www-data:www-data nextcloud
$ sudo chmod -R 755 nextcloud
الخطوة 7: تكوين Apache لـ Nextcloud
إنشاء ملف تكوين Apache جديد لـ Nextcloud:
$ sudo nano /etc/apache2/sites-available/nextcloud.conf
أضف التكوين التالي:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/nextcloud
ServerName your_domain
<Directory /var/www/nextcloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/nextcloud
SetEnv HTTP_HOME /var/www/nextcloud
</Directory>
ErrorLog ${APACHE_LOG_DIR}/nextcloud_error.log
CustomLog ${APACHE_LOG_DIR}/nextcloud_access.log combined
</VirtualHost>
تمكين التكوين الجديد والوحدات المطلوبة لـ Apache:
$ sudo a2ensite nextcloud.conf
$ sudo a2enmod rewrite headers env dir mime
إعادة تشغيل Apache لتطبيق التغييرات:
$ sudo systemctl restart apache2
الخطوة 8: تثبيت وتكوين SSL
للحفاظ على الأمان، من الضروري استخدام SSL/TLS لتشفير الاتصال بين الخادم والعملاء. سنستخدم Certbot للحصول على شهادة SSL مجانية من Let’s Encrypt.
تثبيت Certbot والمكون الإضافي لـ Apache:
$ sudo apt install certbot python3-certbot-apache -y
احصل على شهادة SSL وثبتها:
$ sudo certbot --apache -d your_domain
اتبع التعليمات لإكمال تثبيت SSL. سيقوم Certbot تلقائيًا بتكوين Apache لاستخدام الشهادة الجديدة.
الخطوة 9: إكمال إعداد Nextcloud في المتصفح
افتح متصفح الويب وانتقل إلى نطاقك:
https://your_domain
ستتم استقبال بصفحة إعداد Nextcloud. أكمل الخطوات التالية:
- إنشاء حساب مسؤول: قدم اسم مستخدم وكلمة مرور لحساب المسؤول في Nextcloud.
- تكوين قاعدة البيانات: أدخل تفاصيل قاعدة البيانات التي أنشأتها سابقًا:
- مستخدم قاعدة البيانات: nextclouduser
- كلمة مرور قاعدة البيانات: your_password
- اسم قاعدة البيانات: nextcloud
- إنهاء الإعداد: انقر فوق “إنهاء الإعداد” لإكمال التثبيت.
الخطوة 10: تأمين تثبيت Nextcloud
تكوين النطاقات الموثوقة
افتح ملف تكوين Nextcloud:
$ sudo nano /var/www/nextcloud/config/config.php
أضف نطاقك إلى مصفوفة النطاقات الموثوقة:
'trusted_domains' =>
array (
0 => 'localhost',
1 => 'your_domain',
),
إعداد مهمة cron للمهام الخلفية
يحتاج Nextcloud إلى تنفيذ المهام الخلفية بانتظام. إعداد مهمة cron للتعامل مع ذلك:
$ sudo crontab -u www-data -e
أضف السطر التالي لتشغيل مهمة cron كل 5 دقائق:
*/5 * * * * php -f /var/www/nextcloud/cron.php
الخطوة 11: تحسين أداء Nextcloud
تثبيت وتكوين Opcache
Opcache هو امتداد PHP يقوم بتخزين البرامج النصية PHP المترجمة مؤقتًا لتحسين الأداء.
تثبيت Opcache:
$ sudo apt install php-opcache -y
تكوين Opcache عن طريق تعديل ملف تكوين PHP:
$ sudo nano /etc/php/8.1/apache2/php.ini
أضف أو عدل الأسطر التالية:
opcache.enable=1
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.memory_consumption=128
opcache.save_comments=1
opcache.revalidate_freq=1
إعادة تشغيل Apache لتطبيق التغييرات:
$ sudo systemctl restart apache2
الخطوة 12: تكوينات إضافية
تمكين عناوين URL الجميلة
لتمكين عناوين URL سهلة الاستخدام في Nextcloud، قم بتحرير ملف .htaccess
:
$ sudo nano /var/www/nextcloud/.htaccess
أضف السطور التالية في النهاية:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
</IfModule>
تمكين mod_rewrite في Apache:
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2
زيادة حد ذاكرة PHP
قم بتحرير ملف تكوين PHP لزيادة حد الذاكرة لتحسين الأداء:
$ sudo nano /etc/php/8.1/apache2/php.ini
قم بتعيين حد الذاكرة إلى 512MB أو أعلى:
memory_limit = 512M
إعادة تشغيل Apache:
$ sudo systemctl restart apache2
الخطوة 13: استخدام Nextcloud
تم الآن اكتمال تثبيت Nextcloud. يمكنك البدء في استخدام Nextcloud من خلال الوصول إليه عبر متصفح الويب الخاص بك. استكشف ميزاته مثل مشاركة الملفات والتقويم وجهات الاتصال والتطبيقات المختلفة التي تعزز وظيفته.
الخلاصة
يتطلب تثبيت Nextcloud على Ubuntu 24.04/22.04 عدة خطوات، بما في ذلك إعداد خادم ويب وPHP وخادم قاعدة بيانات، تليها تكوين SSL للاتصالات الآمنة. باتباع هذا الدليل، يجب أن يكون لديك مثيل Nextcloud وظيفي بالكامل يوفر حلاً قويًا لتخزين السحابة الذاتية. تذكر تحديث مثيل Nextcloud والتبعيات بانتظام للحفاظ على الأمان والأداء.