
1. مقدمة
CloudPanel هو لوحة تحكم خادم حديثة مصممة خصيصًا لتطبيقات PHP. توفر واجهة ويب سهلة الاستخدام لإدارة خوادم الويب، مما يجعل نشر وصيانة تطبيقات PHP أسهل. سيرشدك هذا الدليل الشامل خلال عملية التثبيت والتكوين، ويغطي كل شيء من الإعداد الأساسي إلى الميزات المتقدمة.
2. متطلبات النظام
قبل بدء التثبيت، تأكد من أن نظامك يستوفي هذه المتطلبات الدنيا:
- نظام التشغيل: Ubuntu 20.04 LTS أو 22.04 LTS (موصى به)
- ذاكرة الوصول العشوائي: 1 جيجابايت كحد أدنى (يوصى بـ 2 جيجابايت أو أكثر)
- وحدة المعالجة المركزية: نواة واحدة (يوصى بنواتين أو أكثر)
- التخزين: 20 جيجابايت كحد أدنى
- الشبكة: اتصال نشط بالإنترنت
- تثبيت نظيف للخادم (لا توجد لوحات تحكم أو خوادم ويب أخرى مثبتة)
3. المتطلبات الأساسية
قبل تثبيت CloudPanel، تحتاج إلى تحضير نظامك. إليك ما تحتاج إلى القيام به:
تحديث حزم النظام
أولاً، قم بتحديث قائمة حزم نظامك وترقية الحزم الموجودة:
$ sudo apt update
$ sudo apt upgrade -y
ضبط المنطقة الزمنية الصحيحة
تأكد من ضبط المنطقة الزمنية لخادمك بشكل صحيح:
$ sudo timedatectl set-timezone UTC
استبدل UTC بالمنطقة الزمنية المفضلة لديك إذا لزم الأمر.
تثبيت الحزم الأساسية
قم بتثبيت أدوات النظام المطلوبة:
$ sudo apt install -y curl wget git unzip net-tools
4. عملية التثبيت
تحميل نص التثبيت
يوفر CloudPanel نصاً آلياً للتثبيت. قم بتحميله باستخدام:
$ curl -sSL https://installer.cloudpanel.io/ce/v2/install.sh -o install.sh
التحقق من النص (اختياري ولكن موصى به)
تحقق من سلامة النص:
$ sha256sum install.sh
جعل النص قابلاً للتنفيذ
$ chmod +x install.sh
تشغيل نص التثبيت
$ sudo ./install.sh
ستستغرق عملية التثبيت حوالي 5-15 دقيقة، اعتماداً على مواصفات خادمك وسرعة اتصال الإنترنت. سيقوم النص بـ:
- تثبيت تبعيات النظام
- تكوين جدار الحماية
- تثبيت وتكوين Nginx
- تثبيت إصدارات PHP
- تثبيت MySQL
- إعداد واجهة CloudPanel
خلال التثبيت، سترى مؤشرات تقدم مختلفة وقد يُطلب منك إدخال بيانات من حين لآخر.
5. الإعداد والتكوين الأولي
الوصول إلى لوحة التحكم
بمجرد اكتمال التثبيت، ستتلقى المعلومات التالية:
- رابط CloudPanel (https://your-server-ip:8443)
- بيانات اعتماد المسؤول
قم بالوصول إلى اللوحة باستخدام هذه البيانات. عند تسجيل الدخول لأول مرة، سيُطلب منك:
- تغيير كلمة مرور المسؤول
- تكوين إعدادات البريد الإلكتروني
- إعداد تفضيلات النسخ الاحتياطي
تكوين البريد الإلكتروني
لتكوين إشعارات البريد الإلكتروني:
- انتقل إلى الإعدادات → البريد الإلكتروني
- اختر موفر البريد الإلكتروني الخاص بك:
- SMTP
- Amazon SES
- Mailgun
لتكوين SMTP:
$ sudo clp-email-config --smtp-host=smtp.gmail.com \
--smtp-port=587 \
--smtp-encryption=tls \
[email protected] \
--smtp-password='your-password'
6. إدارة النطاقات
إضافة نطاق جديد
- انقر على “المواقع” في القائمة اليسرى
- انقر على “إضافة موقع”
- أدخل تفاصيل النطاق:
- اسم النطاق
- إصدار PHP
- جذر المستند
- نوع التطبيق
تكوين إعدادات النطاق
لكل نطاق، يمكنك تكوين:
$ sudo clp-domain-config --domain=example.com \
--php-version=8.1 \
--document-root=/home/example.com/public
إعداد النطاقات الفرعية
لإنشاء نطاق فرعي:
- انتقل إلى إعدادات النطاق
- انقر على “إضافة نطاق فرعي”
- قم بتكوين إعدادات النطاق الفرعي:
- اسم النطاق الفرعي
- جذر المستند
- إصدار PHP (يمكن أن يختلف عن النطاق الرئيسي)
7. إدارة قواعد البيانات
إنشاء قاعدة بيانات جديدة
عبر سطر الأوامر:
$ sudo clp-db-create --name=mydb \
--user=dbuser \
--password='secure_password'
أو من خلال واجهة الويب:
- انتقل إلى قواعد البيانات
- انقر على “إضافة قاعدة بيانات”
- املأ المعلومات المطلوبة:
- اسم قاعدة البيانات
- اسم المستخدم
- كلمة المرور
- أذونات الوصول للمضيف
النسخ الاحتياطي لقاعدة البيانات
لعمل نسخة احتياطية لقاعدة البيانات:
$ sudo clp-backup-db --database=mydb --output=/backup/mydb.sql
استعادة قاعدة البيانات
لاستعادة قاعدة البيانات:
$ sudo clp-restore-db --database=mydb --file=/backup/mydb.sql
8. تكوين شهادة SSL
تكامل Let’s Encrypt
يتضمن CloudPanel تكاملاً مدمجاً مع Let’s Encrypt. لتأمين نطاق:
- انتقل إلى المواقع → النطاق الخاص بك → SSL
- انقر على “تثبيت شهادة Let’s Encrypt”
- تحقق من ملكية النطاق
- انتظر تثبيت الشهادة
تثبيت شهادة SSL يدوياً
لتثبيت شهادة SSL مخصصة:
$ sudo clp-ssl-install --domain=example.com \
--cert=/path/to/certificate.crt \
--key=/path/to/private.key \
--chain=/path/to/chain.crt
9. تكوين PHP
إدارة إصدارات PHP
يدعم CloudPanel إصدارات متعددة من PHP. لتثبيت إصدار جديد:
$ sudo clp-php-install --version=8.2
خيارات تكوين PHP
تعديل إعدادات PHP من خلال واجهة الويب:
- انتقل إلى المواقع → النطاق الخاص بك → PHP
- اضبط الإعدادات:
- حد الذاكرة
- الحد الأقصى لوقت التنفيذ
- حدود حجم التحميل
- تقارير الأخطاء
أو عبر سطر الأوامر:
$ sudo clp-php-config --version=8.1 \
--memory-limit=256M \
--max-execution-time=300
تثبيت إضافات PHP
$ sudo clp-php-ext-install --version=8.1 --extension=imagick
10. تحسين الخادم
تكوين Nginx
تحسين إعدادات Nginx:
$ sudo nano /etc/nginx/nginx.conf
الإعدادات الرئيسية التي يجب مراعاتها:
worker_processes auto;
worker_connections 1024;
keepalive_timeout 65;
client_max_body_size 64M;
تحسين PHP-FPM
ضبط إعدادات مجمع PHP-FPM:
$ sudo nano /etc/php/8.1/fpm/pool.d/www.conf
الإعدادات الموصى بها:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
تحسين MySQL
تحسين أداء MySQL:
$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
الإعدادات الرئيسية:
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
max_connections = 150
11. النسخ الاحتياطي والاستعادة
تكوين النسخ الاحتياطي التلقائي
إعداد النسخ الاحتياطي اليومي:
$ sudo clp-backup-config --schedule=daily \
--retention=7 \
--type=full \
--destination=/backup
النسخ الاحتياطي اليدوي
إنشاء نسخة احتياطية كاملة للنظام:
$ sudo clp-backup-create --type=full --destination=/backup
استعادة النسخ الاحتياطي
الاستعادة من النسخة الاحتياطية:
$ sudo clp-backup-restore --file=/backup/backup-2024-01-08.tar.gz
12. أفضل ممارسات الأمان
تكوين جدار الحماية
تكوين جدار الحماية UFW:
$ sudo ufw allow 22/tcp
$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw allow 8443/tcp
$ sudo ufw enable
تأمين وصول SSH
تعديل تكوين SSH:
$ sudo nano /etc/ssh/sshd_config
الإعدادات الموصى بها:
PermitRootLogin no
PasswordAuthentication no
Port 2222
تحديثات الأمان المنتظمة
إعداد التحديثات الأمنية التلقائية:
$ sudo apt install unattended-upgrades
$ sudo dpkg-reconfigure --priority=low unattended-upgrades
13. حل المشكلات الشائعة
مواقع ملفات السجل
ملفات السجل المهمة:
- Nginx:
/var/log/nginx/
- PHP-FPM:
/var/log/php/
- MySQL:
/var/log/mysql/
- CloudPanel:
/var/log/cloudpanel/
الأوامر الشائعة لحل المشكلات
التحقق من حالة الخدمة:
$ sudo systemctl status nginx
$ sudo systemctl status php8.1-fpm
$ sudo systemctl status mysql
عرض السجلات في الوقت الفعلي:
$ sudo tail -f /var/log/nginx/error.log
$ sudo tail -f /var/log/php/8.1/error.log
14. التكوين المتقدم
تكوين Nginx المخصص
إضافة تكوين Nginx مخصص:
$ sudo nano /etc/nginx/conf.d/custom.conf
تكوين PHP المخصص
إنشاء تكوين PHP مخصص:
$ sudo nano /etc/php/8.1/fpm/conf.d/custom.ini
إعداد تكرار قاعدة البيانات
تكوين تكرار MySQL:
$ sudo clp-mysql-replication --master-host=master.example.com \
--master-user=repl \
--master-password='secure_password'
15. الصيانة والتحديثات
تحديث CloudPanel
تحديث CloudPanel إلى أحدث إصدار:
$ sudo clp-update
صيانة النظام
مهام الصيانة المنتظمة:
$ sudo clp-maintenance --clean-logs
$ sudo clp-maintenance --optimize-databases
$ sudo clp-maintenance --check-services
مراقبة موارد النظام
تثبيت أدوات المراقبة:
$ sudo apt install -y htop iotop
مراقبة موارد النظام:
$ htop
$ iotop
الخلاصة
يوفر CloudPanel واجهة قوية وسهلة الاستخدام لإدارة خوادم الويب وتطبيقات PHP. يغطي هذا الدليل الجوانب الأساسية للتثبيت والتكوين، ولكن CloudPanel يقدم العديد من الميزات والإمكانيات الإضافية. ستضمن التحديثات والصيانة المنتظمة الأداء الأمثل وأمان خادمك.