ข้ามไปที่เนื้อหา

การใช้งาน

ใน SolusVM 2 คุณและผู้ใช้สามารถประหยัดเวลาและความพยายามในการติดตั้งโดยการสร้างเซิร์ฟเวอร์เสมือนพร้อมแอปพลิเคชันที่ติดตั้งไว้ล่วงหน้า แอปพลิเคชันช่วยให้คุณและผู้ใช้ของคุณเริ่มต้นโครงการและดำเนินการได้ทันทีหรือไม่นานหลังจากสร้างเซิร์ฟเวอร์

มีแอปพลิเคชันจำนวนหนึ่งติดตั้งอยู่ภายในและพร้อมใช้งานใน SolusVM 2 ทันทีที่แกะกล่อง เช่น WordPress บน Plesk, MariaDB, NextCloud และอื่นๆ คุณยังสามารถเพิ่มแอปพลิเคชันที่คุณกำหนดเองได้

คุณสามารถปรับใช้เซิร์ฟเวอร์เสมือนกับแอปพลิเคชันที่ติดตั้งใบอนุญาตไว้ล่วงหน้าแล้ว ในขณะนี้ คุณสามารถ กำหนดค่าใบอนุญาตสำหรับ cPanel และ Plesk เท่านั้น หากคุณทำเช่นนั้น เมื่อผู้ใช้สร้างเซิร์ฟเวอร์ด้วย cPanel หรือ Plesk แบบกำหนดเอง พวกเขาจะไม่จำเป็นต้องซื้อและติดตั้งใบอนุญาต cPanel หรือ Plesk ด้วยตนเอง

การเพิ่มแอปพลิเคชันที่กำหนดเอง

คุณสามารถเพิ่มแอปพลิเคชันแบบกำหนดเองลงในรายการแอปพลิเคชันได้ เมื่อเพิ่มแล้ว แอปพลิเคชันแบบกำหนดเองจะพร้อมสำหรับการติดตั้งเมื่อคุณและผู้ใช้ของคุณสร้างเซิร์ฟเวอร์

ในการเพิ่มแอปพลิเคชันแบบกำหนดเอง:

  1. เตรียมภาพการสมัคร ขึ้นอยู่กับอิมเมจ OS ซึ่งคุณสามารถหาได้จากผู้จำหน่ายระบบปฏิบัติการ (เช่น Ubuntu) อิมเมจระบบปฏิบัติการสามารถติดตั้งแอปพลิเคชันไว้ล่วงหน้าหรือสามารถติดตั้งแอปพลิเคชันได้เมื่อสร้างเซิร์ฟเวอร์} และ [CentOS] (https://cloud.centos.org/centos/){target=_blank

    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
      

    • Plesk บน Ubuntu:

      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/`

- หากคุณเลือกประเภทการเข้าสู่ระบบ “สคริปต์ (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)

-   บางครั้งคุณไม่จำเป็นต้องเข้าสู่ระบบใดๆ เลย (เช่น หากคุณเพิ่มบิลด์ OS แบบกำหนดเองเป็นแอปพลิเคชัน)
     ในกรณีนี้ ให้เลือก "ไม่มี"
  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 }} และ {{ 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 }}``
     ตัวแปรนี้มีรหัสเปิดใช้งานจากการตอบสนอง API ใบอนุญาต
    

    !!! บันทึก

     หากคุณไม่แน่ใจว่าสคีมา JSON, สคริปต์ ``cloud-config`` หรือการตั้งค่าอื่นใดที่แอปพลิเคชันแบบกำหนดเองต้องมี
     ใช้แอปพลิเคชันในตัวที่เกี่ยวข้อง (ถ้ามี) เป็นข้อมูลอ้างอิง หากต้องการดูการตั้งค่าแอปพลิเคชันภายใน
     ไปที่ `Images` > `Applications` และคลิกไอคอน ![](../../img/pencil.png) ถัดจากแอปพลิเคชัน
    
  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.