انتقل إلى المحتوى

التطبيقات

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

هناك عدد من التطبيقات المضمنة والمتوفرة في SolusVM 2 مباشرة، على سبيل المثال، WordPress on Plesk، MariaDB، NextCloud، وغيرها. يمكنك أيضًا إضافة تطبيقاتك المخصصة.

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

إضافة تطبيق مخصص

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

لإضافة تطبيق مخصص:

  1. تحضير صورة التطبيق وهو يعتمد على صورة نظام التشغيل، والتي يمكنك الحصول عليها من موردي أنظمة التشغيل (على سبيل المثال، Ubuntu وCentOS). يمكن أن تحتوي صورة نظام التشغيل على التطبيق المثبت مسبقًا أو يمكن تثبيت التطبيق عند إنشاء الخادم.

    Note

    إذا كنت تضيف تطبيقًا مخصصًا بترخيص مثبت مسبقًا، فتخط هذه الخطوة وانتقل إلى الخطوة 2.
    تستخدم التطبيقات المخصصة ذات التراخيص المثبتة مسبقًا صور نظام التشغيل المعدة بالفعل.
    
  2. انتقل إلى الصور > التطبيقات ثم انقر على إضافة تطبيق.

  3. امنح تطبيقك اسمًا يمكن التعرف عليه.

  4. حدد أيقونة التطبيق. لقد حاولنا تخمين التطبيقات التي قد ترغب في إضافتها. إذا لم تكن أيقونة التطبيق المطلوب موجودة في القائمة، فاختر إحدى الأيقونات الرمادية التي تعرض أنواع التطبيقات (على سبيل المثال، "الخادم" أو "عربة التسوق" أو "التخزين").

  5. حدد إصدار cloud-init. تدعم معظم أنظمة التشغيل الحديثة (على سبيل المثال، CentOS Stream أو Ubuntu 22) cloud-init v2.

    إذا كنت تضيف تطبيق cPanel مخصصًا بترخيص مثبت مسبقًا، فحدد v2-centos. إذا كنت تضيف تطبيق Plesk مخصصًا بترخيص مثبت مسبقًا، فإن إصدار cloud-init يعتمد على نظام التشغيل الذي تريد تشغيل Plesk عليه: لـ Plesk على CentOS، حدد v2-centos، لـ Plesk على Ubuntu — v2.

  6. قم بتوفير عنوان URL لصورة التطبيق.

    إذا كنت تضيف تطبيق cPanel مخصصًا بترخيص مثبت مسبقًا، فحدد عنوان URL التالي:

    https://images.prod.solus.io/solus-io-centos-7-cpanel.qcow2
    

    إذا كنت تضيف تطبيق Plesk مخصصًا بترخيص مثبت مسبقًا، يعتمد عنوان URL على نظام التشغيل الذي تريد تشغيل Plesk عليه:

    • Plesk على CentOS:

      https://autoinstall.plesk.com/images/plesk-centos-7-latest.qcow2
      

    • بليسك على أوبونتو:

      https://autoinstall.plesk.com/images/plesk-ubuntu-22-latest.qcow2
      

  7. إذا كنت تضيف تطبيق cPanel أو Plesk مخصصًا بترخيص مثبت مسبقًا، فحدد اسم تكامل الترخيص الذي قمت بإنشائه مسبقًا (على سبيل المثال، "cPanel Pro" أو "Plesk Web Admin Edition").

  8. يحدد الحقل الخطط الخطط التي يمكن استخدامها لإنشاء خادم افتراضي جديد لهذا التطبيق الجديد. ستكون الخطط غير المرتبطة بالتطبيق مرئية ولكن لا يمكن تحديدها لإنشاء خادم افتراضي جديد.

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

  10. حدد نوع تسجيل الدخول. يعتمد ذلك على تطبيقك ويحدد كيفية تسجيل دخول المستخدمين إليه:

Note

    يستخدم تطبيق cPanel المخصص تسجيل الدخول عبر عنوان URL. يستخدم Plesk نوع تسجيل الدخول "Script (JS)".

- إذا كان التطبيق يستخدم تسجيل الدخول عن طريق عنوان URL، فحدد "URL" وقم بتوفير رابط تسجيل الدخول في الحقل الموجود على اليمين،
     على سبيل المثال،`https://{{ hostname }}/?login={{ login }}&password={{ password }}`

    ![](../../img/login-link.png)

   سيقوم المستخدمون بتسجيل الدخول إلى التطبيق الخاص بك عن طريق النقر فوق رابط تسجيل الدخول الموجود على بطاقة الخادم
   وسيتم تمرير بيانات اعتماد تطبيقهم داخل عنوان URL.

    ![](../../img/server-login-link.png)

    إذا كنت تضيف تطبيق cPanel مخصصًا بترخيص مثبت مسبقًا، فحدد عنوان URL التالي: `https://{{ hostname }}:2087/`.

-  إذا قمت بتحديد نوع تسجيل الدخول "Script (JS)"، فقم بتوفير البرنامج النصي لتسجيل الدخول JavaScript في حقل "البرنامج النصي لرابط تسجيل الدخول".
     سيقوم المستخدمون بتسجيل الدخول إلى التطبيق الخاص بك عن طريق النقر فوق رابط تسجيل الدخول الموجود على بطاقة الخادم
     وسيتم إرسال بيانات اعتماد طلباتهم عبر طلب POST.

    إذا كنت تضيف تطبيق Plesk مخصصًا بترخيص مثبت مسبقًا، فحدد البرنامج النصي لتسجيل الدخول التالي:
        `                fetch('https://{{ domain }}:8443/api/v2/cli/admin/call', {                   body: '{ "params": [ "--get-login-link" ] }',                   headers: {                     Authorization: 'Basic '+ btoa('admin:{{ passwd }}'),                     "Content-Type": "application/json"                   },                   method: "POST"                 })                   .then(function(response) {                     if (!response.ok) {                       throw Error(response.statusText);                     }                     return response.json();                   })                   .then(function(data) {                     var link = data.stdout.split(/\r?\n/);                     openWindow(link[0]);                   })                   .catch(function() {                       openWindow('https://{{domain}}:8443/');                   });                `

-  بالنسبة لبعض التطبيقات غير المستندة إلى الويب (على سبيل المثال، قواعد البيانات)، تحتاج إلى إظهار بيانات الاعتماد التي سيستخدمها المستخدمون لتسجيل الدخول.
     في هذه الحالة، حدد "معلومات (HTML)" وقم بتوفير معلومات تسجيل الدخول كرمز HTML في حقل "البرنامج النصي لرابط تسجيل الدخول".
     سيقوم المستخدمون بتسجيل الدخول إلى التطبيق الخاص بك باستخدام بيانات الاعتماد التي يرونها في نموذج HTML.

    ![](../../img/application-success.png)

-  في بعض الأحيان، لا تحتاج إلى أي تسجيل دخول على الإطلاق (على سبيل المثال، إذا قمت بإضافة إصدار نظام تشغيل مخصص كتطبيق).
     في هذه الحالة، حدد "لا شيء".
  1. تحرير مخطط JSON. عندما يقوم المستخدمون بإنشاء خوادم واختيار تطبيقك، سيرون النموذج الديناميكي بناءً على مخطط JSON هذا. عادةً ما يكون النموذج الديناميكي هو نموذج التسجيل، الذي يجمع بيانات اعتماد مسؤول التطبيق. على سبيل المثال، يقوم نموذج JSON الموجود في الحقل بإنشاء النموذج الديناميكي التالي:

    إذا كنت تضيف تطبيق cPanel مخصصًا بترخيص مثبت مسبقًا، فحدد مخطط JSON التالي:

    {
      "title": "cPanel",
      "description": "Create an exceptional hosting experience.\nIndustry leading hosting platform with world-class support.",
      "type": "object"
    }
    

    إذا كنت تضيف تطبيق Plesk مخصصًا بترخيص مثبت مسبقًا، فحدد مخطط JSON التالي:

    {
      "title": "Plesk",
      "description": "Next-Level server management platform",
      "type": "object",
      "required": [
        "domain",
        "user",
        "rootmail",
        "passwd"
      ],
      "properties": {
        "domain": {
          "type": "string",
          "title": "Hostname"
        },
        "user": {
          "type": "string",
          "title": "Username",
          "default": "admin"
        },
        "rootmail": {
          "type": "string",
          "format": "email",
          "title": "Administrators Email"
        },
        "passwd": {
          "type": "string",
          "title": "Password",
          "format": "password",
          "pattern": "^[a-zA-Z0-9_-]*$",
          "minLength": 5
        }
      }
    }
    

  2. في الحقل "قالب بيانات المستخدم"، قم بتوفير البرنامج النصي cloud-config الذي سيتم تنفيذه بواسطة cloud-init مباشرة بعد تشغيل الخادم الأول. يجب أن يحتوي البرنامج النصي على خطوات ما بعد التكوين اللازمة لتشغيل التطبيق الخاص بك، على سبيل المثال: إنشاء مسؤول التطبيق باستخدام بيانات الاعتماد المتوفرة في النموذج الديناميكي، إنشاء المستخدمين ومجموعات المستخدمين ، وما إلى ذلك وهلم جرا.

    تمت كتابة البرنامج النصي بتنسيق YAML. للحصول على مرجع حول كيفية كتابة السيناريو، استخدم وثائق Cloud-init. لكتابة البرنامج النصي، ستحتاج على الأرجح إلى استخدام المتغيرات التالية:

    • متغيرات نظام SolusVM 2 (لمشاهدتها، انقر فوق "متغيرات النظام")
    • المتغيرات التي حددتها في مخطط JSON أثناء الخطوة السابقة، على سبيل المثال، {{ login }}` و``.}

    إذا كنت تضيف تطبيق cPanel مخصصًا بترخيص مثبت مسبقًا، فحدد البرنامج النصي التالي:

    write_files:
      - path: /root/setup.sh
        permissions: '0755'
        content: |
          #!/bin/bash
          HOSTNAME={{ hostname }}
          match=$(echo "${HOSTNAME}" | grep -oP '^(?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63}$')
          if [ -z "$match" ]; then
            hostnamectl set-hostname "${HOSTNAME}.local.domain"
            HOSTNAME="${HOSTNAME}.local.domain"
          fi
          setenforce 0
          /usr/local/cpanel/bin/set_hostname "${HOSTNAME}"
          /usr/local/cpanel/cpkeyclt
    runcmd:
      - sh /root/setup.sh
      - rm -f /root/setup.sh
    

    إذا كنت تضيف تطبيق Plesk مخصصًا بترخيص مثبت مسبقًا، فحدد البرنامج النصي التالي:

    #cloud-config
    write_files:
      - path: /root/config.ini
        permissions: '0755'
        content: |
          domain="{{ domain }}"
          rootpw="{{ passwd }}"
          user="{{ user }}"
          passwd="{{ passwd }}"
          activation_key="{{ externalIntegrationResponse.keyIdentifiers.activationCode }}"
          rootmail="{{ rootmail }}"
    runcmd:
      - [ curl, "https://raw.githubusercontent.com/solusio/applications/master/plesk/setup", -o, "/root/setup.sh" ]
      - [ chmod, +x, "/root/setup.sh" ]
      - sh /root/setup.sh | while IFS= read -r line; do printf "%s %s\n" "$(date)" "$line"; done >>/var/log/logfile
      - echo "complete" > /var/www/vhosts/default/htdocs/__setup_complete.html
      - rm -r /root/setup.sh
    

    ملاحظة

    بالنسبة لتطبيق Plesk المخصص بترخيص مثبت مسبقًا، يجب عليك استخدام المتغير {{ externalIntegrationResponse.keyIdentifiers.activationCode }}. يحتوي هذا المتغير على رمز التنشيط من استجابة واجهة برمجة تطبيقات الترخيص.

    ملاحظة

    إذا لم تكن متأكدًا من مخطط JSON أو البرنامج النصي cloud-config أو أي إعداد آخر يجب أن يتوفر في التطبيق المخصص، استخدم التطبيق المدمج المقابل (إن وجد) كمرجع. لرؤية إعدادات التطبيق المضمنة، انتقل إلى "الصور" > "التطبيقات" وانقر على أيقونة بجوار التطبيق.

  3. انقر حفظ.

تمت إضافة التطبيق المخصص الخاص بك.

إضافة تطبيق مخصص بترخيص مثبت مسبقًا

يمكنك إضافة تطبيق بترخيص مثبت مسبقًا على مرحلتين. يمكنك إعداد التكامل مع واجهة برمجة التطبيقات (API) لترخيص التطبيق أولاً. ثم تقوم بإضافة تطبيق مخصص يستخدم التكامل لإصدار تراخيص للخوادم الافتراضية التي تم إنشاؤها.

Note

يمكنك فقط تكوين الترخيص للتطبيقات المخصصة.

لإضافة تطبيق cPanel بترخيص مثبت مسبقًا:

  1. اتصل بـ cPanel, LLC واطلب إنشاء حساب لك. ستستخدم بيانات اعتماد الحساب لإعداد التكامل الخاص بك.
  2. انتقل إلى الإعدادات > عمليات تكامل الترخيص الخارجي ثم انقر على إضافة تكامل.
  3. قم بتسمية عملية التكامل الخاصة بك باسم يمكن التعرف عليه، على سبيل المثال، "cPanel Pro".
  4. ضمن "النوع"، احتفظ بـ "cPanel Manage2".
  5. حدد اسم المستخدم وكلمة المرور لحساب cPanel Manage2 الخاص بك.
  6. حدد قائمة معرفات الحزمة ومعرف المجموعة (على سبيل المثال، 21159 و3520903 على التوالي) لنوع الترخيص الذي تريد تثبيته مسبقًا باستخدام cPanel. اطلع على جميع معرفات الحزم ومعرفات المجموعة المتاحة.
  7. انقر حفظ.
  8. أضف تطبيق cPanel مخصص باستخدام هذا الإجراء.

Note

يحتوي cPanel Manage2 على قيود يمكن أن تمنع الخوادم الافتراضية من الحصول على تراخيص مثبتة مسبقًا. إذا تم تنشيط ترخيص cPanel 8 مرات خلال 15 دقيقة على خوادم مختلفة تستخدم نفس عنوان IP، سيمنع cPanel Manage2 جميع عمليات تنشيط الترخيص الإضافية لحساب cPanel Manage2 الخاص بك. هذا يعني أن المستخدمين لن يحصلوا بعد الآن على تراخيص cPanel المثبتة مسبقًا. بمجرد قيام المستخدمين بتسجيل الدخول إلى cPanel، سيرون أيضًا رسالة الخطأ التالية: "أجاب خادم ترخيص cPanel بأن الترخيص قد تم تنشيطه على عدد كبير جدًا من الأجهزة (600)". لحل المشكلة، اتصل بفريق خدمة عملاء cPanel.

لإضافة تطبيق Plesk بترخيص مثبت مسبقًا:

  1. انضم إلى برنامج شركاء Plesk واطلب إنشاء حساب لك. ستستخدم بيانات اعتماد الحساب لإعداد التكامل الخاص بك.

  2. انتقل إلى الإعدادات > عمليات تكامل الترخيص الخارجي ثم انقر على إضافة تكامل.

  3. قم بتسمية عملية التكامل الخاصة بك باسم يمكن التعرف عليه، على سبيل المثال، "Plesk Web Admin Edition".

  4. ضمن "النوع"، حدد "Plesk KA".

  5. حدد اسم المستخدم وكلمة المرور لحساب Plesk KA الخاص بك.

  6. حدد ثابت المنتج (على سبيل المثال، PLESK-12-WEB-HOST-1M). سيحدد هذا الثابت نوع الترخيص الذي سيتم تثبيته مسبقًا مع Plesk. اطلع على جميع ثوابت المنتج المتاحة.

    Note

    إذا لم تكن متأكدًا من ثابت المنتج الذي تريد تحديده، فاتصل بمدير مبيعات Plesk الخاص بك.
    
  7. انقر حفظ.

  8. أضف تطبيق Plesk مخصصًا باستخدام هذا الإجراء.

إدارة التطبيقات

التحرير

يمكنك دائمًا تعديل تطبيق مخصص.

لتحرير تطبيق:

  1. انتقل إلى الصور > التطبيقات وانقر على أيقونة بجوار التطبيق المخصص الذي تريد تحريره.

    Note

    لا يمكنك تحرير التطبيقات المضمنة.
    
  2. قم بإجراء التغييرات المطلوبة، ثم انقر فوق حفظ.

إدارة الرؤية

بشكل افتراضي، تكون جميع التطبيقات المضمنة مرئية: يمكن للمستخدمين رؤية التطبيقات وتثبيتها عند إنشاء الخوادم. في بعض الحالات، قد ترغب في إخفاء التطبيقات، على سبيل المثال:

  • لقد قمت بتحميل تطبيق مخصص ولكنه ليس جاهزًا للإنتاج بعد. تريد اختبار التطبيق قبل إتاحته للمستخدمين.
  • تريد تغيير التطبيقات المضمنة المتوفرة للتثبيت.

لتغيير رؤية التطبيق:

  1. انتقل إلى الصور > التطبيقات.
  2. قم بتشغيل الرؤية أو إيقاف تشغيلها للتطبيق المطلوب.

جارى التحميل

قد ترغب في تنزيل صورة التطبيق. قد يكون من المفيد، على سبيل المثال، إضافة تطبيق مخصص وتريد التحقق مما إذا كان عنوان URL لصورة التطبيق صحيحًا.

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

  1. انتقل إلى الصور > التطبيقات.
  2. انقر على أيقونة بجوار التطبيق الذي تريد تنزيله.

Managing Default VM Settings with Applications

Applications provide similar controls for VM settings as Operating Systems. You can use Applications to define default configurations for your VMs upon creation or reinstallation.