تثبيت لوحة تحكم سيرفرات aapanel

تقليص
X
 
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة
  • AboAbdulla

    ابوعبدالله

    • 23 - 12 - 2004
    • 5226
    • السعودية
    • الطيران
    • طيار
    • Saudi Airlin
    • Dakota
    • السلامة الجوية



    • (( قُلْ يَا عِبَادِيَ الَّذِينَ أَسْرَفُوا عَلَى أَنفُسِهِمْ لَا تَقْنَطُوا مِن رَّحْمَةِ اللَّهِ
      إِنَّ اللَّهَ يَغْفِرُ الذُّنُوبَ جَمِيعًا إِنَّهُ هُوَ الْغَفُورُ الرَّحِيمُ ))

      اللهم إني استودعتك قلبي فلا يبقى فيه إلا أنت
      واستودعتك لا إله الا الله فذكرنيها في كل وقت

    [درس] تثبيت لوحة تحكم سيرفرات aapanel

    تثبيت لوحة تحكم سيرفرات aapanel 👌
    بما إن السيرفر جديد ونظيف، خلينا نبدأ معك من الصفر بخطة تثبيت واضحة وسريعة، عشان تحصل على أفضل أداء بأقل تعقيد:

    🧱 الخطة الذهبية لسيرفر شخصي خفيف ومستقر (3 إلى 5 مواقع - يوميات - بدون زيارات):
    ✅ النظام:
    Ubuntu 22.04 LTS 64-bit (ثابت، مدعوم حتى 2027، أخف من 24.04 الجديدة قليلًا)

    💻 الأدوات:
    النوع

    aaPanel
    سهلة، عربية، فيها كل شيء (FTP، PHP، Cron، SSL…)
    خادم ويب
    OpenLiteSpeed أو Nginx
    أخف بكثير من Apache

    PHP 8.2 أو 8.3
    حديث ويدعم كل سكربتاتك
    قاعدة البيانات
    MariaDB 10.6+
    أسرع وأخف من MySQL

    Pure-FTPd
    مدعوم تلقائيًا من aaPanel

    Let's Encrypt مجانًا
    بضغطة زر من داخل aaPanel



    🧪 خطوات التركيب:
    1️⃣ تحديث النظام:
    كود PHP:
    sudo apt update && sudo apt upgrade -
    2️⃣ تثبيت curl (إذا مو موجود):
    كود PHP:
    sudo apt install curl -
    3️⃣ تثبيت aaPanel:

    ✅ بعد التثبيت، aaPanel بيعطيك:
    عنوان الدخول
    • اسم المستخدم
    • كلمة المرور

    🔧 بعد التثبيت:
    ادخل على لوحة التحكم.

    اختر One-click Install Packages:

    Web Server: Nginx أو OpenLiteSpeed (نوصي بـ Nginx).

    PHP: اختر 8.2 أو 8.3.
    • MariaDB.
    • Pure-FTPd.
    • phpMyAdmin.


    ✨ تحسينات مقترحة:
    فعل HTTP/2 و Gzip من إعدادات السيرفر.

    من إعدادات PHP، قلل memory_limit إلى 128M و upload_max_filesize إلى 20M لو الاستخدام بسيط.

    فعل Auto SSL لأي دومين تربطه.

    ☁️ نسخ احتياطي:
    فعل Local Backup (يومي أو أسبوعي).

    أو اربطه بـ Google Drive أو Dropbox لو تحب نسخة خارجية (فيه إضافات لهذا داخل aaPanel).

    🚀 جاهز أرسلك سكربت shell تلقائي يسوي كل شيء؟
    يعني تنسخه وتلصقه... ويثبت لك النظام كامل في أقل من 10 دقايق، ويطلع لك رابط دخول جاهز؟
    إذا موافق، أجهز لك السكربت.

    هل تبدأ بعمل التحسينات
    مثل swap file


    🔧 أهم التحسينات قبل التثبيت الطويل:
    ✅ 1. تفعيل Swap File (ضروري جدًا إذا عندك RAM أقل من 4GB)

    كود PHP:
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 
    /swapfile
    sudo mkswap 
    /swapfile
    sudo swapon 
    /swapfile 
    ثم اجعلها دائمة:

    echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
    وتأكد:

    كود PHP:
    sudo swapon --show 
    ✅ 2. تحسين إعدادات النظام (Ulimits – TCP Stack – File Descriptors)
    أضف التالي في نهاية /etc/sysctl.conf:

    كود PHP:
    fs.file-max 1048576
    net
    .core.somaxconn 65535
    net
    .ipv4.tcp_tw_reuse 1
    net
    .ipv4.ip_local_port_range 1024 65535 
    ثم:

    كود PHP:
    sudo sysctl -
    ✅ 3. إعداد limits.conf (لتحسين قدرة فتح الملفات والتعامل مع العمليات)
    sudo nano /etc/security/limits.conf
    أضف في النهاية:

    كود PHP:
    soft nofile 1048576
    hard nofile 1048576 
    ثم:

    كود PHP:
    sudo nano /etc/pam.d/common-session 
    أضف:

    كود PHP:
    session required pam_limits.so 
    ✅ 4. تعطيل بعض الخدمات غير الضرورية (اختياري)

    sudo systemctl disable --now snapd
    كود PHP:
    sudo apt purge snapd -y
    sudo apt autoremove 
    -
    ✅ 5. تفعيل الجدار الناري البسيط (ufw)

    كود PHP:
    sudo ufw allow OpenSSH
    sudo ufw allow 80
    ,443/tcp
    sudo ufw allow 8888
    /tcp  # إذا تستخدم aaPanel على هذا البورت
    sudo ufw enable 
    ✅ 6. تثبيت htop والمراقبة السريعة
    كود PHP:
    sudo apt install htop -
    واستخدم:

    كود PHP:
    htop 
    لمراقبة استهلاك الموارد بشكل مباشر.

    ✅ 7. تحديث الساعة وتزامن الوقت (مفيد للكرون والمهام)
    كود PHP:
    sudo timedatectl set-timezone Asia/Riyadh
    sudo apt install ntp 
    -

    ممتاز جدًا! 👏🔥
    السيرفر صار جاهز من ناحية الـ Swap، وهذا رح يساعدك كثير أثناء التثبيت أو تشغيل عمليات ثقيلة خصوصًا لو الذاكرة أقل من 4GB.

    الخطوة الجاية:
    باقي التحسينات (مثل إعداد sysctl.conf, limits.conf, الجدار الناري UFW... الخ) في سكربت واحد؟

    ✅ سكربت التحسين الكامل (تشغيله دفعة وحدة):
    📌

    بعد ذلك:
    نكون خلصنا مرحلة التحسين، وتقدر تبدأ تثبيت أي لوحة أو موارد (Apache, MySQL, PHP, Node, إلخ...) وانت مطمئن إن الأداء والتحمل ممتاز.


    إليك السكربت الكامل لتحسين سيرفرك:

    كود PHP:
     تحديث النظام
    echo "Updating system packages..."
    sudo apt update && sudo apt upgrade -y


     تحسين استخدام الذاكرة

    echo "Adding swap file..."
    sudo fallocate -l 2G /swapfile
    sudo chmod 600 
    /swapfile
    sudo mkswap 
    /swapfile
    sudo swapon 
    /swapfile
    echo '/swapfile none swap sw 0 0' sudo tee -/etc/fstab

      التأكد من تفعيل الـ Swap

    sudo swapon 
    --show

      تعديل sysctl
    .conf لتحسين الشبكة

    echo "Optimizing sysctl.conf for network and performance..."
    echo "fs.file-max = 1000000" sudo tee -/etc/sysctl.conf
    echo "net.core.somaxconn = 1024" sudo tee -/etc/sysctl.conf
    echo "net.ipv4.ip_local_port_range = 1024 65535" sudo tee -/etc/sysctl.conf
    echo "net.ipv4.tcp_fin_timeout = 15" sudo tee -/etc/sysctl.conf
    echo "net.ipv4.tcp_keepalive_time = 600" sudo tee -/etc/sysctl.conf
    echo "vm.swappiness = 10" sudo tee -/etc/sysctl.conf
     
    sudo sysctl 
    -p
     
      تعديل limits
    .conf للحد الأقصى لعدد العمليات
    echo "Setting file and process limits..."
    echo "* soft nofile 500000" sudo tee -/etc/security/limits.conf
    echo "* hard nofile 1000000" sudo tee -/etc/security/limits.conf
    echo "* soft nproc 500000" sudo tee -/etc/security/limits.conf
    echo "* hard nproc 1000000" sudo tee -/etc/security/limits.conf
      إعداد الجدار الناري UFW
    echo "Setting up firewall with UFW..."
    sudo ufw allow OpenSSH
    sudo ufw enable
      تحديث إعدادات DNS 
    (اختياري)
    echo 
    "Configuring DNS for faster response..."
    sudo sed -'s/^#DNS=/DNS=8.8.8.8 8.8.4.4/g' /etc/systemd/resolved.conf
    sudo systemctl restart systemd
    -resolved

    تنظيف النظام 
    (حذف الحزم غير الضرورية)
    echo 
    "Cleaning up unnecessary packages..."
    sudo apt autoremove -y
    sudo apt clean

    echo "System optimization complete!" 
    كيف تنفذه؟
    افتح الـ Terminal في السيرفر.

    أنشئ ملف جديد:
    كود PHP:
    nano optimize_server.sh 
    انسخ السكربت أعلاه والصقه في الملف.
    • احفظ الملف باستخدام CTRL + O ثم ENTER.
    • أغلق الملف باستخدام CTRL + X.
    • اجعل الملف قابلًا للتنفيذ:


    كود PHP:
    chmod +x optimize_server.sh 
    شغل السكربت:
    كود PHP:
    sudo ./optimize_server.sh 
    سيقوم السكربت بتطبيق التعديلات التالية:

    تحديث الحزم.

    إضافة ملف الـ Swap.
    • تحسين إعدادات الشبكة والذاكرة.
    • تعديل الحد الأقصى للملفات والعمليات.
    • إعداد الجدار الناري UFW.
    • تحديث إعدادات DNS.
    • تنظيف النظام من الحزم غير الضرورية.
    • العملية ستأخذ بضعة دقائق. بعد ذلك، سيكون سيرفرك جاهزًا ويعمل بأفضل أداء!



    رائع! مبروك على إتمام السكربت بنجاح. الآن سيرفرك أصبح مُحسنًا وأكثر استقرارًا.


    تمام، بما أن السيرفر جاهز الآن والمحسن بشكل جيد، يمكنك التوجه إلى لوحة تحكم aaPanel وتثبيت الحزم التي تحتاجها.

    إليك الخطوات بشكل عام لتثبيت الحزم:

    دخول إلى aaPanel: افتح المتصفح وادخل الرابط الخاص بلوحة تحكم aaPanel:

    كود PHP:
    https://[IP_ADDRESS]:8888 
    1. تسجيل الدخول: استخدم بيانات الدخول الخاصة بك للوصول إلى لوحة التحكم.
    2. الانتقال إلى إدارة الحزم:
    3. من القائمة الجانبية في لوحة التحكم، اذهب إلى "App Store".
    4. ستجد قائمة بالحزم المتوفرة للتثبيت.

    تثبيت الحزم: اختر الحزم التي تحتاجها مثل:
    • Web Server: Nginx أو Apache حسب احتياجك.
    • Databases: مثل MySQL أو PostgreSQL.
    • PHP: اختر النسخة التي تريدها (مثل PHP 8.3 أو غيرها).
    • Mail Server إذا كنت بحاجة لإعدادات بريد إلكتروني.
    • FTP و phpMyAdmin.
    • التثبيت: اختر الحزمة التي تريد تثبيتها واضغط على زر "Install". سيتم تثبيت الحزمة في الخلفية.
    • إذا كانت لديك أي حزم معينة تريد تثبيتها أو خطوات محددة تحتاج إلى مساعدة فيها، لا تتردد في إخباري!



    يعتبر Nginx من أفضل الخيارات للعديد من الاستخدامات، خاصة عندما يتعلق الأمر بالأداء والكفاءة في التعامل مع المواقع ذات الزيارات العالية أو التطبيقات التي تحتاج إلى استجابة سريعة.

    إليك بعض الأسباب التي تجعله مفضلًا على البقية:

    مميزات Nginx:
    1. أداء عالي:
    2. يتمتع Nginx بقدرة على التعامل مع عدد كبير من الطلبات في نفس الوقت (concurrent requests) بشكل أفضل من Apache، لأنه يعتمد على event-driven architecture بدلاً من thread-based. هذا يجعله أكثر كفاءة في استهلاك الذاكرة والموارد.

    سهولة التخصيص:
    • يتيح لك Nginx تخصيص ملفات الإعدادات بشكل مرن، مما يجعله مثاليًا للمشاريع التي تتطلب تخصيصات دقيقة.
    • توزيع الأحمال (Load Balancing):
    • يدعم Nginx موازنة الأحمال بسهولة، مما يعني أنه يمكن توزيعه على عدة سيرفرات لتوزيع الحمل وضمان استمرارية الخدمة.


    تخزين مؤقت (Caching):
    • يدعم Nginx التخزين المؤقت للصفحات والملفات، مما يقلل من الضغط على الخادم ويساهم في تسريع تحميل الصفحات.


    أمان:
    • Nginx يمتاز بسهولة تكوين الجدران النارية (firewall) وحماية من الهجمات مثل DDoS و brute force.


    التكامل مع PHP:
    • Nginx يعمل بشكل ممتاز مع PHP-FPM (FastCGI Process Manager) لتنفيذ سكربتات PHP بطريقة سريعة وآمنة.


    خفيف في استخدام الموارد:
    • مقارنة بـ Apache، فإن Nginx يستخدم ذاكرة أقل ويستهلك موارد أقل أثناء معالجة الطلبات، مما يجعله مناسبًا أكثر للسيرفرات التي تتطلب استجابة سريعة.


    كيف تقوم بتثبيت Nginx على aaPanel:
    بما أن لديك aaPanel مثبتًا، يمكنك تثبيت Nginx بسهولة باتباع الخطوات التالية:
    • دخول إلى لوحة تحكم aaPanel.
    • في القائمة الجانبية، اختر App Store.
    • ابحث عن Nginx في مربع البحث.
    • اضغط على Install بجانب Nginx.
    • بمجرد التثبيت، ستتمكن من ضبط إعدادات Nginx عبر لوحة التحكم نفسها.



    إذا توقفت الجلسة (session) أثناء تثبيت الحزم أو تحديث النظام، فذلك يعتمد على طريقة التثبيت أو الإجراء الذي قمت به.


    إذا كنت تستخدم لوحة تحكم aaPanel:
    • تثبيت الحزم عبر aaPanel عادةً ما يكون مدعومًا بتقنيات في الخلفية يمكنها متابعة التثبيت حتى إذا تم قطع الاتصال بالجلسة. يعني أنه حتى إذا توقفت الجلسة، فمن المحتمل أن يستمر التثبيت في الخلفية.


    إذا كنت تستخدم سطر الأوامر (Terminal):
    • إذا كنت تقوم بتثبيت الحزم باستخدام سطر الأوامر (Terminal)، وكان الاتصال قد انقطع، قد يتوقف التثبيت إذا لم يتم تنفيذ التثبيت في الخلفية.


    ولكن، يمكن ضمان استمرار التثبيت إذا قمت باستخدام أدوات مثل:
    • nohup: وهي أداة تسمح بتشغيل العمليات في الخلفية، حتى إذا تم قطع الاتصال.


    screen أو tmux: أدوات تتيح لك إنشاء جلسات يمكنها الاستمرار في الخلفية.

    كيفية التأكد من استمرار التثبيت باستخدام nohup:
    • إذا كنت ستثبت الحزم باستخدام سطر الأوامر، يمكنك استخدام nohup لضمان أن التثبيت سيستمر حتى إذا انقطعت الجلسة:
    • nohup apt-get install <package-name> &
      أو باستخدام screen أو tmux لإنشاء جلسة مستقلة يمكنها الاستمرار في الخلفية:

    لتثبيت screen:
    • sudo apt-get install screen

    لإنشاء جلسة جديدة:
    screen
    • بعد الدخول في الجلسة، يمكنك بدء التثبيت.
    • بعد الانتهاء من التثبيت، يمكنك ترك الجلسة مفتوحة أو الخروج باستخدام:


    Ctrl + A ثم D
    بذلك، حتى لو تم قطع الاتصال، سيستمر التثبيت في الخلفية.

    الخلاصة:
    • إذا كنت تستخدم aaPanel أو أدوات مشابهة، فبإمكانك استكمال التثبيت حتى لو توقفت الجلسة.
    • إذا كنت تستخدم سطر الأوامر، من الأفضل استخدام أدوات مثل nohup أو screen لضمان استمرار العملية في الخلفية.


    أتمنى لك تجربة رائعة مع السيرفر وكل شيء يكون تمام 100%! 🚀

    بالتوفيق! 👋😄
  • AboAbdulla

    ابوعبدالله

    • 23 - 12 - 2004
    • 5226
    • السعودية
    • الطيران
    • طيار
    • Saudi Airlin
    • Dakota
    • السلامة الجوية



    • (( قُلْ يَا عِبَادِيَ الَّذِينَ أَسْرَفُوا عَلَى أَنفُسِهِمْ لَا تَقْنَطُوا مِن رَّحْمَةِ اللَّهِ
      إِنَّ اللَّهَ يَغْفِرُ الذُّنُوبَ جَمِيعًا إِنَّهُ هُوَ الْغَفُورُ الرَّحِيمُ ))

      اللهم إني استودعتك قلبي فلا يبقى فيه إلا أنت
      واستودعتك لا إله الا الله فذكرنيها في كل وقت

    #2
    هذا سكربت بسيط يقوم بكل خطوات تحديث وفحص السيرفر دفعة واحدة لتنظيف النظام، تقوية الأمان، وتحسين الأداء 👇
    وكذلك 🔍 يبحث في ملفات .php, .sh, .py داخل مسارات محددة.

    يبحث عن أوامر خطيرة تُستخدم غالبًا في الشيفرات الضارة مثل:

    eval()- base64_decode()- system() - shell_exec()

    🛠️ سكربت تحسين وتنظيف النظام:
    احفظه باسم مثلًا clean_optimize.sh:

    كود PHP:
    #!/bin/bash

    echo "🔧 بدء تنظيف النظام وتحسين الأداء..."

    # 1. تحديث النظام
    echo "📦 تحديث الحزم..."
    apt update && apt upgrade -y

    # 2. تنظيف الحزم الزائدة
    echo "🧹 تنظيف الحزم المؤقتة وغير المستخدمة..."
    apt autoremove -y
    apt clean

    # 3. تنظيف /tmp
    echo "🗑️ حذف الملفات المؤقتة في /tmp..."
    rm -rf /tmp/*

    # 4. تفريغ كاش الذاكرة
    echo "🧠 تفريغ Cache..."
    sync; echo 3 > /proc/sys/vm/drop_caches

    # 5. تقليل استخدام Swap
    echo "⚙️ تعديل swappiness إلى 10..."
    sysctl vm.swappiness=10
    echo "vm.swappiness=10" >> /etc/sysctl.conf

    # 6. تفعيل جدار الحماية UFW
    echo "🛡️ تثبيت وتفعيل UFW..."
    apt install ufw -y
    ufw allow OpenSSH
    ufw allow 80
    ufw allow 443
    ufw --force enable

    # 7. فحص السكربتات المشبوهة
    echo "🔍 فحص السكربتات المشبوهة..."
    SCAN_PATHS=("/tmp" "/var/tmp" "/dev/shm" "/var/www" "/www")
    for path in "${SCAN_PATHS[@]}"; do
        if [ -d "$path" ]; then
            echo "📁 فحص: $path"
            find "$path" -type f \( -iname "*.php" -o -iname "*.sh" -o -iname "*.py" \) -exec grep -iE "(base64_decode|eval|gzinflate|shell_exec|passthru|system|exec|popen|proc_open)" {} \; -print
        fi
    done

    echo "✅ تم تنفيذ جميع المهام بنجاح!" 
    اجعل السكربت قابلًا للتنفيذ:
    كود PHP:
    chmod +x clean_optimize.sh 
    شغّله:
    كود PHP:
    sudo ./clean_optimize.sh 


    🕵️ التأكد من عدم وجود سكربتات خبيثة

    كود PHP:
    find /var/www /www -name "*.php" -exec grep -iE "shell_exec|base64_decode|eval|system|passthru|exec" {} \; -print 

    نفس السكربت السابق مع أمكانية حفظ التقرير وإرسال الإيميل (لا تنسى أعداد الأيميل في بداية الصفحة)
    ولكــــن: يجب أن يكون لديك أداة mail أو sendmail مثبتة على السيرفر لإرسال البريد الإلكتروني. لتثبيت mail:

    كود PHP:
    #!/bin/bash

    # إعدادات البريد الإلكتروني
    TO_EMAIL="[email protected]"
    SUBJECT="تقرير تنظيف النظام وتحسين الأداء"
    TEMP_FILE="/tmp/system_report.txt"

    echo "🔧 بدء تنظيف النظام وتحسين الأداء..." $TEMP_FILE

    # 1. تحديث النظام
    echo "📦 تحديث الحزم..." >> $TEMP_FILE
    apt update 
    && apt upgrade ->> $TEMP_FILE 2>&1

    # 2. تنظيف الحزم الزائدة
    echo "🧹 تنظيف الحزم المؤقتة وغير المستخدمة..." >> $TEMP_FILE
    apt autoremove 
    ->> $TEMP_FILE 2>&1
    apt clean 
    >> $TEMP_FILE 2>&1

    # 3. تنظيف /tmp
    echo "🗑️ حذف الملفات المؤقتة في /tmp..." >> $TEMP_FILE
    rm 
    -rf /tmp/* >> $TEMP_FILE 2>&1

    # 4. تفريغ كاش الذاكرة
    echo "🧠 تفريغ Cache..." >> $TEMP_FILE
    sync; echo 3 > /proc/sys/vm/drop_caches >> $TEMP_FILE 2>&1

    # 5. تقليل استخدام Swap
    echo "⚙️ تعديل swappiness إلى 10..." >> $TEMP_FILE
    sysctl vm.swappiness=10 >> $TEMP_FILE 2>&1
    echo "vm.swappiness=10" >> /etc/sysctl.conf >> $TEMP_FILE 2>&1

    # 6. تفعيل جدار الحماية UFW
    echo "🛡️ تثبيت وتفعيل UFW..." >> $TEMP_FILE
    apt install ufw -y >> $TEMP_FILE 2>&1
    ufw allow OpenSSH >> $TEMP_FILE 2>&1
    ufw allow 80 >> $TEMP_FILE 2>&1
    ufw allow 443 >> $TEMP_FILE 2>&1
    ufw --force enable >> $TEMP_FILE 2>&1

    # 7. فحص السكربتات المشبوهة
    echo "🔍 فحص السكربتات المشبوهة..." >> $TEMP_FILE
    SCAN_PATHS=("/tmp" "/var/tmp" "/dev/shm" "/var/www" "/www")
    for path in "${SCAN_PATHS[@]}"; do
        if [ -d "$path" ]; then
            echo "📁 فحص: $path" >> $TEMP_FILE
            find "$path" -type f \( -iname "*.php" -o -iname "*.sh" -o -iname "*.py" \) -exec grep -iE "(base64_decode|eval|gzinflate|shell_exec|passthru|system|exec|popen|proc_open)" {} \; -print >> $TEMP_FILE 2>&1
        fi
    done

    echo "✅ تم تنفيذ جميع المهام بنجاح!" >> $TEMP_FILE

    # إرسال التقرير عبر البريد الإلكتروني
    mail -s "$SUBJECT" "$TO_EMAIL" < $TEMP_FILE

    echo "📧 تم إرسال التقرير إلى البريد الإلكتروني: $TO_EMAIL" 
    لكي يتم تثبيت الايميل
    كود PHP:
    sudo apt install mailutils 

    تعليق

    يعمل...