Bỏ qua

Các ứng dụng

Trong SolusVM 2, bạn và người dùng của mình có thể tiết kiệm thời gian và công sức cài đặt bằng cách tạo máy chủ ảo với các ứng dụng được cài đặt sẵn. Ứng dụng giúp bạn và người dùng của bạn thiết lập và chạy dự án ngay sau khi máy chủ được tạo.

Một số ứng dụng được tích hợp sẵn và có sẵn ngay trong SolusVM 2, chẳng hạn như WordPress trên Plesk, MariaDB, NextCloud và các địa chỉ khác. Bạn cũng có thể thêm các ứng dụng tùy chỉnh của riêng bạn.

Bạn có thể triển khai máy chủ ảo với các ứng dụng đã được cài đặt sẵn giấy phép. Hiện tại, bạn chỉ có thể định cấu hình cấp phép cho cPanel và Plesk. Nếu bạn làm như vậy, khi người dùng tạo máy chủ bằng cPanel hoặc Plesk tùy chỉnh, họ sẽ không cần phải tự mua và cài đặt giấy phép cPanel hoặc Plesk.

Thêm ứng dụng tùy chỉnh

Bạn có thể thêm các ứng dụng tùy chỉnh vào danh sách ứng dụng. Sau khi được thêm, các ứng dụng tùy chỉnh cũng sẽ có sẵn để cài đặt khi bạn và người dùng của bạn tạo máy chủ.

Để thêm một ứng dụng tùy chỉnh:

  1. Chuẩn bị hình ảnh ứng dụng. Nó dựa trên hình ảnh hệ điều hành mà bạn có thể lấy từ các nhà cung cấp hệ điều hành (ví dụ: UbuntuCentOS). Hình ảnh hệ điều hành có thể được cài đặt sẵn ứng dụng hoặc có thể cài đặt ứng dụng khi máy chủ được tạo.

    Note

    Nếu bạn đang thêm một ứng dụng tùy chỉnh có giấy phép được cài đặt sẵn, hãy bỏ qua bước này và chuyển sang bước 2.
    Các ứng dụng tùy chỉnh có giấy phép được cài đặt sẵn sẽ sử dụng hình ảnh hệ điều hành đã được chuẩn bị sẵn.
    
  2. Đi tới Hình ảnh > Ứng dụng rồi nhấp vào Thêm ứng dụng.

  3. Đặt cho ứng dụng của bạn một cái tên dễ nhận biết.

  4. Chọn biểu tượng ứng dụng. Chúng tôi đã cố gắng đoán xem bạn có thể muốn thêm những ứng dụng nào. Nếu biểu tượng của ứng dụng mong muốn không có trong danh sách, hãy chọn một trong các biểu tượng màu xám hiển thị loại ứng dụng (ví dụ: “Máy chủ”, “Giỏ hàng” hoặc “Bộ lưu trữ”).

  5. Chọn phiên bản cloud-init. Hầu hết các hệ điều hành hiện đại (ví dụ: CentOS Stream hoặc Ubuntu 22) đều hỗ trợ cloud-init v2.

    Nếu bạn đang thêm ứng dụng cPanel tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định v2-centos. Nếu bạn đang thêm ứng dụng Plesk tùy chỉnh với giấy phép được cài đặt sẵn, phiên bản cloud-init tùy thuộc vào hệ điều hành mà bạn muốn Plesk chạy trên đó: đối với Plesk trên CentOS, hãy chỉ định v2-centos, dành cho Plesk trên Ubuntu—v2.

  6. Cung cấp URL tới hình ảnh ứng dụng.

    Nếu bạn đang thêm ứng dụng cPanel tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định URL sau:

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

    Nếu bạn đang thêm ứng dụng Plesk tùy chỉnh có giấy phép được cài đặt sẵn, URL sẽ tùy thuộc vào hệ điều hành mà bạn muốn Plesk chạy trên đó:

    • Plesk trên CentOS:

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

    • Plesk trên Ubuntu:

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

  7. Nếu bạn đang thêm ứng dụng cPanel hoặc Plesk tùy chỉnh với giấy phép được cài đặt sẵn, hãy chọn tên của tiện ích tích hợp cấp phép mà bạn đã tạo trước đó (ví dụ: "cPanel Pro" hoặc "Phiên bản quản trị web Plesk").

  8. Trường Gói xác định gói nào có thể được sử dụng để tạo máy chủ ảo mới cho ứng dụng mới này. Các gói không bị ràng buộc với ứng dụng sẽ hiển thị nhưng không thể chọn để tạo máy chủ ảo mới.

  9. Nếu bạn muốn người dùng của mình xem và cài đặt ứng dụng khi họ tạo máy chủ, hãy giữ nó ở chế độ hiển thị. Bạn cũng có thể muốn ẩn ứng dụng khỏi người dùng, chẳng hạn như nếu nó chưa sẵn sàng để sản xuất. Trong trường hợp này, hãy tắt khả năng hiển thị.

  10. Chọn loại đăng nhập. Nó phụ thuộc vào ứng dụng của bạn và xác định cách người dùng sẽ đăng nhập vào ứng dụng đó:

Note

    Ứng dụng cPanel tùy chỉnh sử dụng đăng nhập qua URL. Plesk sử dụng kiểu đăng nhập "Script (JS)".

- Nếu ứng dụng sử dụng đăng nhập bằng URL, hãy chọn “URL” và cung cấp liên kết đăng nhập vào trường bên phải,
     ví dụ, `https://{{ hostname }}/?login={{ login }}&password={{ password }}`

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

   Người dùng sẽ đăng nhập vào ứng dụng của bạn bằng cách nhấp vào liên kết đăng nhập trên thẻ của máy chủ và thông tin xác thực ứng dụng của họ sẽ được chuyển vào bên trong URL.

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

    Nếu bạn đang thêm ứng dụng cPanel tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định URL sau: `https://{{ hostname }}:2087/`.

-   Nếu bạn chọn loại đăng nhập “Tập lệnh (JS)”, hãy cung cấp tập lệnh đăng nhập JavaScript trong trường “Tập lệnh liên kết đăng nhập”.
     Người dùng sẽ đăng nhập vào ứng dụng của bạn bằng cách nhấp vào liên kết đăng nhập trên thẻ của máy chủ
     và thông tin đăng nhập của ứng dụng của họ sẽ được gửi qua yêu cầu POST.

     Nếu bạn đang thêm ứng dụng Plesk tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định tập lệnh đăng nhập sau:
        `                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/');                   });                `

-   Đối với một số ứng dụng không dựa trên web (ví dụ: cơ sở dữ liệu), bạn cần hiển thị thông tin xác thực mà người dùng sẽ sử dụng để đăng nhập.
     Trong trường hợp này, hãy chọn “Thông tin (HTML)” và cung cấp thông tin đăng nhập dưới dạng mã HTML trong trường “Tập lệnh liên kết đăng nhập”.
     Người dùng sẽ đăng nhập vào ứng dụng của bạn bằng cách sử dụng thông tin đăng nhập họ thấy trong biểu mẫu HTML.

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

- Đôi khi bạn hoàn toàn không cần đăng nhập (ví dụ: nếu bạn thêm bản dựng hệ điều hành tùy chỉnh làm ứng dụng).
     Trong trường hợp này, hãy chọn “Không có”.
  1. Chỉnh sửa lược đồ JSON. Khi người dùng tạo máy chủ và chọn ứng dụng của bạn, họ sẽ thấy biểu mẫu động dựa trên lược đồ JSON này. Biểu mẫu động thường là biểu mẫu đăng ký, thu thập thông tin xác thực của quản trị viên ứng dụng. Ví dụ: JSON mẫu có trong trường sẽ tạo ra dạng động sau:

    Nếu bạn đang thêm ứng dụng cPanel tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định lược đồ JSON sau:

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

    Nếu bạn đang thêm ứng dụng Plesk tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định lược đồ JSON sau:

    {
      "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. Trong trường “Mẫu dữ liệu người dùng”, hãy cung cấp tập lệnh cloud-config sẽ được thực thi bởi cloud-init ngay sau lần khởi động máy chủ đầu tiên. Tập lệnh phải chứa các bước hậu cấu hình cần thiết để thiết lập và chạy ứng dụng của bạn, ví dụ: tạo quản trị viên của ứng dụng bằng thông tin xác thực được cung cấp ở dạng động, tạo người dùng và nhóm người dùng , và như thế.

    Kịch bản được viết ở định dạng YAML. Để tham khảo về cách viết kịch bản, hãy sử dụng tài liệu cloud-init. Để viết tập lệnh, rất có thể bạn sẽ cần sử dụng các biến sau:

    • Các biến hệ thống SolusVM 2 (để xem chúng, hãy nhấp vào “Biến hệ thống”)
    • Các biến mà bạn đã chỉ định trong lược đồ JSON ở bước trước, ví dụ: {{ login }}{{ password }}.

    Nếu bạn đang thêm ứng dụng cPanel tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định tập lệnh sau:

    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
    

    Nếu bạn đang thêm ứng dụng Plesk tùy chỉnh có giấy phép được cài đặt sẵn, hãy chỉ định tập lệnh sau:

    #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
    

    Ghi

    Đối với ứng dụng Plesk tùy chỉnh có giấy phép được cài đặt sẵn, bạn phải sử dụng biến {{ externalIntegrationResponse.keyIdentifiers.activationCode }}. Biến này chứa mã kích hoạt từ phản hồi API cấp phép.

    Ghi

    Nếu bạn không chắc chắn về lược đồ JSON, tập lệnh cloud-config hoặc cài đặt khác mà ứng dụng tùy chỉnh phải có, sử dụng ứng dụng tích hợp tương ứng (nếu có) làm tài liệu tham khảo. Để xem cài đặt ứng dụng tích hợp, đi tới Images > Applications và nhấp vào biểu tượng bên cạnh ứng dụng.

  3. Nhấp vào để Lưu.

Ứng dụng tùy chỉnh của bạn đã được thêm vào.

Thêm ứng dụng tùy chỉnh với giấy phép được cài đặt sẵn

Bạn thêm ứng dụng có giấy phép cài đặt sẵn theo hai giai đoạn. Trước tiên, bạn thiết lập tích hợp với API cấp phép của ứng dụng. Sau đó, bạn thêm một ứng dụng tùy chỉnh sẽ sử dụng tích hợp để cấp giấy phép cho các máy chủ ảo đã tạo.

Note

Bạn chỉ có thể định cấu hình cấp phép cho các ứng dụng tùy chỉnh.

Để thêm ứng dụng cPanel có giấy phép được cài đặt sẵn:

  1. Hãy liên hệ với cPanel, LLC và yêu cầu tạo tài khoản cho bạn. Bạn sẽ sử dụng thông tin xác thực của tài khoản để thiết lập tích hợp của mình.
  2. Đi tới Cài đặt > Tích hợp cấp phép bên ngoài rồi nhấp vào Thêm tích hợp.
  3. Đặt tên dễ nhận biết cho tiện ích tích hợp của bạn, ví dụ: "cPanel Pro".
  4. Trong "Loại", giữ "cPanel Management2".
  5. Chỉ định tên người dùng và mật khẩu cho tài khoản cPanel Management2 của bạn.
  6. Chỉ định danh sách ID gói và ID nhóm (ví dụ: 211593520903 tương ứng) của loại giấy phép bạn muốn cài đặt sẵn với cPanel. Xem tất cả ID góiID nhóm có sẵn.
  7. Nhấp vào để Lưu.
  8. Thêm ứng dụng cPanel tùy chỉnh bằng quy trình này.

Note

cPanel Management2 có một hạn chế có thể ngăn máy chủ ảo nhận giấy phép cài đặt sẵn. Nếu giấy phép cPanel được kích hoạt 8 lần trong vòng 15 phút trên nhiều máy chủ khác nhau sử dụng cùng một địa chỉ IP, cPanel Managed2 sẽ chặn tất cả các lần kích hoạt giấy phép tiếp theo cho tài khoản cPanel Managed2 của bạn. Điều đó có nghĩa là người dùng sẽ không nhận được giấy phép cPanel cài đặt sẵn nữa. Khi người dùng đăng nhập vào cPanel, họ cũng sẽ thấy thông báo lỗi sau: "Máy chủ cấp phép cPanel trả lời rằng giấy phép đã được kích hoạt trên quá nhiều máy (600)". Để giải quyết vấn đề, hãy liên hệ với nhóm dịch vụ khách hàng cPanel.

Để thêm ứng dụng Plesk có giấy phép được cài đặt sẵn:

  1. Tham gia Chương trình đối tác Plesk và yêu cầu tạo tài khoản cho bạn. Bạn sẽ sử dụng thông tin xác thực của tài khoản để thiết lập tích hợp của mình.

  2. Đi tới Cài đặt > Tích hợp cấp phép bên ngoài rồi nhấp vào Thêm tích hợp.

  3. Đặt tên dễ nhận biết cho tiện ích tích hợp của bạn, ví dụ: "Phiên bản quản trị web Plesk".

  4. Trong "Loại", chọn "Plesk KA".

  5. Chỉ định tên người dùng và mật khẩu cho tài khoản Plesk KA của bạn.

  6. Chỉ định hằng số sản phẩm (ví dụ: PLESK-12-WEB-HOST-1M). Hằng số này sẽ xác định loại giấy phép sẽ được cài đặt sẵn với Plesk. Xem tất cả các hằng số sản phẩm có sẵn.

    Note

    Nếu bạn không chắc chắn nên chỉ định hằng số sản phẩm nào, hãy liên hệ với người quản lý bán hàng Plesk của bạn.
    
  7. Nhấp vào để Lưu.

  8. Thêm ứng dụng Plesk tùy chỉnh bằng quy trình này.

Quản lý ứng dụng

Chỉnh sửa

Bạn luôn có thể chỉnh sửa một ứng dụng tùy chỉnh.

Để chỉnh sửa một ứng dụng:

  1. Đi tới Hình ảnh > Ứng dụng và nhấp vào biểu tượng bên cạnh ứng dụng tùy chỉnh mà bạn muốn chỉnh sửa.

    Note

    Bạn không thể chỉnh sửa các ứng dụng tích hợp.
    
  2. Thực hiện những thay đổi mong muốn rồi nhấp vào Lưu.

Quản lý chế độ hiển thị

Theo mặc định, tất cả các ứng dụng tích hợp đều hiển thị: người dùng có thể xem và cài đặt ứng dụng khi họ tạo máy chủ. Trong một số trường hợp, bạn có thể muốn ẩn ứng dụng, ví dụ:

  • Bạn đã tải lên một ứng dụng tùy chỉnh nhưng nó chưa sẵn sàng để đưa vào sản xuất. Bạn muốn thử nghiệm ứng dụng trước khi cung cấp cho người dùng của mình.
  • Bạn muốn thay đổi những ứng dụng tích hợp sẵn có để cài đặt.

Để thay đổi mức độ hiển thị của một ứng dụng:

  1. Đi tới Hình ảnh > Ứng dụng.
  2. Bật hoặc tắt khả năng hiển thị cho ứng dụng mong muốn.

Đang tải xuống

Bạn có thể muốn tải xuống hình ảnh ứng dụng. Chẳng hạn, điều này có thể hữu ích nếu bạn đã thêm một ứng dụng tùy chỉnh và muốn kiểm tra xem URL hình ảnh ứng dụng có chính xác hay không.

Để tải xuống hình ảnh của ứng dụng:

  1. Đi tới Hình ảnh > Ứng dụng.
  2. Nhấp vào biểu tượng bên cạnh ứng dụng bạn muốn tải xuống.

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.