विषय पर बढ़ें

अनुप्रयोग

SolusVM 2 में, आप और आपके उपयोगकर्ता प्रीइंस्टॉल्ड एप्लिकेशन के साथ वर्चुअल सर्वर बनाकर समय और इंस्टॉलेशन प्रयासों को बचा सकते हैं। एप्लिकेशन आपको और आपके उपयोगकर्ताओं को सर्वर बनने के तुरंत बाद या उसके तुरंत बाद प्रोजेक्ट चालू करने में मदद करते हैं।

कई एप्लिकेशन SolusVM 2 में बॉक्स के ठीक बाहर निर्मित और उपलब्ध हैं, उदाहरण के लिए, Plesk पर वर्डप्रेस, MariaDB, NextCloud, और अन्य। आप अपने स्वयं के कस्टम एप्लिकेशन भी जोड़ सकते हैं.

आप वर्चुअल सर्वर को उन एप्लिकेशन के साथ तैनात कर सकते हैं जिनके पास पहले से ही लाइसेंस प्रीइंस्टॉल्ड हैं। फिलहाल, आप केवल [cPanel और Plesk के लिए लाइसेंस कॉन्फ़िगर कर सकते हैं] (#adding-a-custom-application-with-a-preinstalled-license) कर सकते हैं। यदि आप ऐसा करते हैं, तो जब उपयोगकर्ता कस्टम cPanel या Plesk के साथ सर्वर बनाते हैं, तो उन्हें स्वयं cPanel या Plesk लाइसेंस खरीदने और इंस्टॉल करने की आवश्यकता नहीं होगी।

एक कस्टम एप्लिकेशन जोड़ना

आप एप्लिकेशन की सूची में कस्टम एप्लिकेशन जोड़ सकते हैं. एक बार जुड़ने के बाद, जब आप और आपके उपयोगकर्ता सर्वर बनाएंगे तो कस्टम एप्लिकेशन इंस्टॉलेशन के लिए भी उपलब्ध हो जाएंगे।

एक कस्टम एप्लिकेशन जोड़ने के लिए:

  1. एप्लिकेशन छवि तैयार करें. यह OS छवि पर आधारित है, जिसे आप OS विक्रेताओं से प्राप्त कर सकते हैं (उदाहरण के लिए, Ubuntu). ओएस छवि में एप्लिकेशन पहले से इंस्टॉल हो सकता है या सर्वर बनने पर एप्लिकेशन इंस्टॉल किया जा सकता है।} और [CentOS] (https://cloud.centos.org/centos/){target=_blank

    Note

    यदि आप प्रीइंस्टॉल्ड लाइसेंस के साथ एक कस्टम एप्लिकेशन जोड़ रहे हैं, तो इस चरण को छोड़ें और चरण 2 पर जाएं।
    प्रीइंस्टॉल्ड लाइसेंस वाले कस्टम एप्लिकेशन पहले से तैयार ओएस छवियों का उपयोग करते हैं।
    
  2. छवियां > एप्लिकेशन पर जाएं और फिर एप्लिकेशन जोड़ें पर क्लिक करें।

  3. अपने एप्लिकेशन को एक पहचानने योग्य नाम दें.

  4. एप्लिकेशन आइकन चुनें. हमने यह अनुमान लगाने का प्रयास किया कि आप कौन से एप्लिकेशन जोड़ना चाहेंगे। यदि वांछित एप्लिकेशन का आइकन सूची में नहीं है, तो ग्रे आइकन में से एक चुनें, जो एप्लिकेशन के प्रकार दिखाता है (उदाहरण के लिए, "सर्वर", "शॉप कार्ट", या "स्टोरेज")।

  5. क्लाउड-इनिट संस्करण का चयन करें। अधिकांश आधुनिक OSes (उदाहरण के लिए, CentOS स्ट्रीम या Ubuntu 22) क्लाउड-इनिट v2 का समर्थन करते हैं।

    यदि आप पूर्व-स्थापित लाइसेंस के साथ एक कस्टम cPanel एप्लिकेशन जोड़ रहे हैं, तो v2-centos निर्दिष्ट करें। यदि आप प्रीइंस्टॉल्ड लाइसेंस के साथ एक कस्टम Plesk एप्लिकेशन जोड़ रहे हैं, तो क्लाउड-इनिट संस्करण उस ओएस पर निर्भर करता है जिस पर आप Plesk चलाना चाहते हैं: CentOS पर Plesk के लिए, v2-centos निर्दिष्ट करें, उबंटू पर प्लेस्क के लिए—v2

  6. एप्लिकेशन छवि का URL प्रदान करें.

    यदि आप पूर्व-स्थापित लाइसेंस के साथ एक कस्टम cPanel एप्लिकेशन जोड़ रहे हैं, तो निम्न URL निर्दिष्ट करें:

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

    यदि आप पूर्व-स्थापित लाइसेंस के साथ एक कस्टम Plesk एप्लिकेशन जोड़ रहे हैं, तो URL उस OS पर निर्भर करता है जिस पर आप Plesk चलाना चाहते हैं:

    • CentOS पर Plesk:

      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 वेब एडमिन संस्करण")।

  8. योजनाएँ फ़ील्ड परिभाषित करती है कि इस नए एप्लिकेशन के लिए नए वर्चुअल सर्वर निर्माण के लिए किन योजनाओं का उपयोग किया जा सकता है। जो योजनाएं एप्लिकेशन से बंधी नहीं हैं वे दिखाई देंगी लेकिन नए वर्चुअल सर्वर निर्माण के लिए नहीं चुनी जा सकेंगी।

  9. यदि आप चाहते हैं कि आपके उपयोगकर्ता सर्वर बनाते समय एप्लिकेशन को देखें और इंस्टॉल करें, तो इसे दृश्यमान रखें। आप एप्लिकेशन को उपयोगकर्ताओं से छिपाना भी चाह सकते हैं, उदाहरण के लिए, यदि यह अभी तक उत्पादन के लिए तैयार नहीं है। ऐसे में विजिबिलिटी बंद कर दें.

  10. लॉगिन प्रकार चुनें. यह आपके एप्लिकेशन पर निर्भर करता है और परिभाषित करता है कि उपयोगकर्ता इसमें कैसे लॉग इन करेंगे:

Note

    एक कस्टम cPanel एप्लिकेशन URL के माध्यम से लॉगिंग का उपयोग करता है। एक Plesk "स्क्रिप्ट (JS)" लॉगिन प्रकार का उपयोग करता है।

- यदि एप्लिकेशन यूआरएल द्वारा लॉगिंग का उपयोग करता है, तो "यूआरएल" चुनें और दाईं ओर फ़ील्ड में लॉगिन लिंक प्रदान करें,
    उदाहरण के लिए, `https://{{ hostname }}/?login={{ login }}&password={{ password }}`

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

    उपयोगकर्ता सर्वर के कार्ड पर लॉगिन लिंक पर क्लिक करके आपके एप्लिकेशन में लॉग इन करेंगे
    और उनके आवेदन की साख यूआरएल के अंदर भेज दी जाएगी।.

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

    यदि आप पूर्व-स्थापित लाइसेंस के साथ एक कस्टम cPanel एप्लिकेशन जोड़ रहे हैं, तो निम्न URL निर्दिष्ट करें: `https://{{ hostname }}:2087/`.

-   यदि आप "स्क्रिप्ट (जेएस)" लॉगिन प्रकार चुनते हैं, तो "लॉगिन लिंक स्क्रिप्ट" फ़ील्ड में जावास्क्रिप्ट लॉगिन स्क्रिप्ट प्रदान करें।
    उपयोगकर्ता सर्वर के कार्ड पर लॉगिन लिंक पर क्लिक करके आपके एप्लिकेशन में लॉग इन करेंगे
    और उनके आवेदन के क्रेडेंशियल एक 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. "उपयोगकर्ता डेटा टेम्प्लेट" फ़ील्ड में, क्लाउड-कॉन्फिग स्क्रिप्ट प्रदान करें जिसे पहले सर्वर बूट के ठीक बाद क्लाउड-इनिट द्वारा निष्पादित किया जाएगा। स्क्रिप्ट में आपके एप्लिकेशन को चालू करने और चलाने के लिए आवश्यक पोस्ट-कॉन्फ़िगरेशन चरण शामिल होने चाहिए, उदाहरण के लिए : डायनेमिक फॉर्म में प्रदान किए गए क्रेडेंशियल्स के साथ एप्लिकेशन के व्यवस्थापक को बनाना, उपयोगकर्ताओं और उपयोगकर्ताओं के समूह बनाना , और इसी तरह।

    स्क्रिप्ट YAML प्रारूप में लिखी गई है। स्क्रिप्ट लिखने के तरीके के संदर्भ के लिए, क्लाउड-इनिट डॉक्यूमेंटेशन का उपयोग करें। स्क्रिप्ट लिखने के लिए, आपको संभवतः निम्नलिखित वेरिएबल्स का उपयोग करने की आवश्यकता होगी:

    • SolusVM 2 सिस्टम वेरिएबल्स (उन्हें देखने के लिए, "सिस्टम वेरिएबल्स" पर क्लिक करें)
    • वे वेरिएबल जो आपने पिछले चरण के दौरान JSON स्कीमा में निर्दिष्ट किए थे, उदाहरण के लिए, {{ login }} और {{ password }}.

    यदि आप पूर्व-स्थापित लाइसेंस के साथ एक कस्टम 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 स्कीमा, ``क्लाउड-कॉन्फिग`` स्क्रिप्ट, या कोई अन्य सेटिंग जो कस्टम एप्लिकेशन में होनी चाहिए,
    संदर्भ के रूप में संबंधित अंतर्निहित एप्लिकेशन (यदि कोई हो) का उपयोग करें। अंतर्निहित एप्लिकेशन सेटिंग्स देखने के लिए,
    `इमेजेज` > `एप्लिकेशन` पर जाएं और एप्लिकेशन के आगे ![](../../img/pensil.png) आइकन पर क्लिक करें।
    
  3. सहेजें पर क्लिक करें।

आपका कस्टम एप्लिकेशन जोड़ा गया था.

प्रीइंस्टॉल्ड लाइसेंस के साथ एक कस्टम एप्लिकेशन जोड़ना

आप दो चरणों में पूर्वस्थापित लाइसेंस के साथ एक एप्लिकेशन जोड़ते हैं। आप पहले एप्लिकेशन के लाइसेंसिंग एपीआई के साथ एक एकीकरण स्थापित करें। फिर आप एक कस्टम एप्लिकेशन जोड़ते हैं जो बनाए गए वर्चुअल सर्वर के लिए लाइसेंस जारी करने के लिए एकीकरण का उपयोग करेगा।

Note

आप केवल कस्टम एप्लिकेशन के लिए लाइसेंसिंग कॉन्फ़िगर कर सकते हैं।

प्रीइंस्टॉल्ड लाइसेंस के साथ cPanel एप्लिकेशन जोड़ने के लिए:

  1. cPanel, LLC से संपर्क करें और अपने लिए एक खाता बनाने के लिए कहें। आप अपना एकीकरण स्थापित करने के लिए खाते के क्रेडेंशियल का उपयोग करेंगे।
  2. सेटिंग्स > बाहरी लाइसेंसिंग एकीकरण पर जाएं और फिर एकीकरण जोड़ें पर क्लिक करें।
  3. अपने एकीकरण को एक पहचानने योग्य नाम दें, उदाहरण के लिए, "cPanel Pro"।
  4. "प्रकार" के अंतर्गत, "cPanel Manage2" रखें।
  5. अपने cPanel Manage2 खाते के लिए उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें।
  6. जिस लाइसेंस प्रकार को आप cPanel के साथ प्रीइंस्टॉल करना चाहते हैं, उसके पैकेज आईडी और समूह आईडी (उदाहरण के लिए, क्रमशः 21159 और 3520903) की सूची निर्दिष्ट करें। सभी उपलब्ध पैकेज आईडी और समूह आईडी देखें।
  7. सहेजें पर क्लिक करें।
  8. इस प्रक्रिया का उपयोग करके एक कस्टम cPanel एप्लिकेशन जोड़ें.

Note

cPanel Manage2 में एक सीमा है जो वर्चुअल सर्वर को प्रीइंस्टॉल्ड लाइसेंस प्राप्त करने से रोक सकती है। यदि एक ही आईपी पते का उपयोग करने वाले विभिन्न सर्वरों पर 15 मिनट के भीतर एक cPanel लाइसेंस 8 बार सक्रिय किया जाता है, तो cPanel Manage2 आपके cPanel Manage2 खाते के लिए आगे के सभी लाइसेंस सक्रियणों को अवरुद्ध कर देगा। इसका मतलब है कि उपयोगकर्ताओं को अब प्रीइंस्टॉल्ड cPanel लाइसेंस प्राप्त नहीं होंगे। एक बार जब उपयोगकर्ता cPanel में लॉग इन करते हैं, तो उन्हें निम्न त्रुटि संदेश भी दिखाई देगा: "cPanel लाइसेंस सर्वर ने उत्तर दिया कि लाइसेंस बहुत सारी मशीनों (600) पर सक्रिय कर दिया गया है"। समस्या को हल करने के लिए, cPanel ग्राहक सेवा टीम से संपर्क करें.

पहले से इंस्टॉल लाइसेंस के साथ Plesk एप्लिकेशन जोड़ने के लिए:

  1. प्लेस्क पार्टनर प्रोग्राम से जुड़ें और अपने लिए एक खाता बनाने के लिए कहें। आप अपना एकीकरण स्थापित करने के लिए खाते के क्रेडेंशियल का उपयोग करेंगे।

  2. सेटिंग्स > बाहरी लाइसेंसिंग एकीकरण पर जाएं और फिर एकीकरण जोड़ें पर क्लिक करें।

  3. अपने एकीकरण को एक पहचानने योग्य नाम दें, उदाहरण के लिए, "प्लेस्क वेब एडमिन एडिशन"।

  4. "प्रकार" के अंतर्गत, "प्लेस्क केए" चुनें।

  5. अपने Plesk KA खाते के लिए उपयोगकर्ता नाम और पासवर्ड निर्दिष्ट करें।

  6. उत्पाद स्थिरांक निर्दिष्ट करें (उदाहरण के लिए, PLESK-12-WEB-HOST-1M)। यह स्थिरांक Plesk के साथ पूर्वस्थापित किए जाने वाले लाइसेंस प्रकार को निर्धारित करेगा। सभी उपलब्ध उत्पाद स्थिरांक देखें

    Note

    यदि आप निश्चित नहीं हैं कि कौन सा उत्पाद स्थिरांक निर्दिष्ट किया जाए, तो अपने Plesk बिक्री प्रबंधक से संपर्क करें।
    
  7. सहेजें पर क्लिक करें।

  8. इस प्रक्रिया का उपयोग करके एक कस्टम Plesk एप्लिकेशन जोड़ें

अनुप्रयोगों का प्रबंधन

संपादन

आप किसी कस्टम एप्लिकेशन को हमेशा संपादित कर सकते हैं.

किसी एप्लिकेशन को संपादित करने के लिए:

  1. छवियां > एप्लिकेशन पर जाएं और जिस कस्टम एप्लिकेशन को आप संपादित करना चाहते हैं उसके बगल में आइकन पर क्लिक करें।

    Note

    आप अंतर्निहित एप्लिकेशन संपादित नहीं कर सकते.
    
  2. वांछित परिवर्तन करें और फिर सहेजें पर क्लिक करें।

दृश्यता का प्रबंधन

डिफ़ॉल्ट रूप से, सभी अंतर्निहित एप्लिकेशन दृश्यमान होते हैं: उपयोगकर्ता सर्वर बनाते समय एप्लिकेशन को देख और इंस्टॉल कर सकते हैं। कुछ मामलों में, आप एप्लिकेशन छिपाना चाह सकते हैं, उदाहरण के लिए:

  • आपने एक कस्टम एप्लिकेशन अपलोड किया है लेकिन यह अभी तक उत्पादन के लिए तैयार नहीं है। आप एप्लिकेशन को अपने उपयोगकर्ताओं के लिए उपलब्ध कराने से पहले उसका परीक्षण करना चाहते हैं।
  • आप यह बदलना चाहते हैं कि इंस्टॉलेशन के लिए कौन से अंतर्निहित एप्लिकेशन उपलब्ध हैं।

किसी एप्लिकेशन की दृश्यता बदलने के लिए:

  1. छवियाँ > एप्लिकेशन पर जाएँ।
  2. वांछित एप्लिकेशन के लिए दृश्यता को चालू या बंद करें।

डाउनलोड

आप एप्लिकेशन छवि डाउनलोड करना चाह सकते हैं। यह मददगार हो सकता है, उदाहरण के लिए, आपने एक कस्टम एप्लिकेशन जोड़ा है और यह जांचना चाहते हैं कि एप्लिकेशन छवि यूआरएल सही है या नहीं।

किसी एप्लिकेशन की छवि डाउनलोड करने के लिए:

  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.