콘텐츠로 이동

응용

SolusVM 2에서는 사전 설치된 애플리케이션으로 가상 서버를 생성하여 귀하와 귀하의 사용자가 시간과 설치 노력을 절약할 수 있습니다. 응용 프로그램은 귀하와 귀하의 사용자가 서버가 생성되자마자 또는 직후에 프로젝트를 시작하고 실행할 수 있도록 도와줍니다.

SolusVM 2에는 다양한 애플리케이션이 내장되어 있어 즉시 사용할 수 있습니다. 예를 들어 Plesk의 WordPress, MariaDB, NextCloud 등 자신만의 맞춤형 애플리케이션을 추가할 수도 있습니다.

이미 라이센스가 사전 설치된 애플리케이션을 사용하여 가상 서버를 배포할 수 있습니다. 현재는 cPanel 및 Plesk에 대한 라이센스 구성만 가능합니다. 그렇게 하면 사용자가 사용자 정의 cPanel 또는 Plesk를 사용하여 서버를 생성할 때 cPanel 또는 Plesk 라이선스를 직접 구매하고 설치할 필요가 없습니다.

사용자 정의 애플리케이션 추가

애플리케이션 목록에 사용자 정의 애플리케이션을 추가할 수 있습니다. 일단 추가되면 귀하와 귀하의 사용자가 서버를 생성할 때 사용자 정의 응용 프로그램을 설치할 수도 있습니다.

사용자 정의 애플리케이션을 추가하려면:

  1. 애플리케이션 이미지를 준비합니다. OS 공급업체 에서 얻을 수 있는 OS 이미지를 기반으로 합니다(예: UbuntuCentOS). OS 이미지에는 애플리케이션이 사전 설치되어 있거나 서버 생성 시 애플리케이션을 설치할 수 있습니다.

    Note

    라이선스가 사전 설치된 맞춤형 애플리케이션을 추가하는 경우 이 단계를 건너뛰고 2단계로 이동하세요.
    라이선스가 사전 설치된 맞춤형 애플리케이션은 이미 준비된 OS 이미지를 사용합니다.
    
  2. 이미지 > 애플리케이션으로 이동한 다음 애플리케이션 추가를 클릭합니다.

  3. 애플리케이션에 알아볼 수 있는 이름을 지정하세요.

  4. 애플리케이션 아이콘을 선택하세요. 우리는 귀하가 추가하고 싶은 애플리케이션이 무엇인지 추측해 보았습니다. 원하는 애플리케이션의 아이콘이 목록에 없으면 애플리케이션 유형 (예: "서버", "장바구니" 또는 "저장소")를 표시하는 회색 아이콘 중 하나를 선택합니다.

  5. cloud-init 버전을 선택하세요. 대부분의 최신 OS(예: CentOS Stream 또는 Ubuntu 22)는 cloud-init v2를 지원합니다.

    라이센스가 사전 설치된 사용자 정의 cPanel 애플리케이션을 추가하는 경우 v2-centos를 지정하세요. 라이센스가 사전 설치된 사용자 정의 Plesk 애플리케이션을 추가하는 경우 cloud-init 버전은 Plesk를 실행하려는 OS에 따라 다릅니다. CentOS의 Plesk의 경우 , v2-centos 지정, Ubuntu의 Plesk —v2.

  6. 애플리케이션 이미지의 URL을 제공합니다.

    라이센스가 사전 설치된 사용자 정의 cPanel 애플리케이션을 추가하는 경우 다음 URL을 지정하십시오.

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

    라이센스가 사전 설치된 사용자 정의 Plesk 응용 프로그램을 추가하는 경우 URL은 Plesk를 실행할 OS에 따라 다릅니다.

    • CentOS의 Plesk:

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

    • Ubuntu의 Plesk:

      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는 "스크립트(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-init 에 의해 실행될 cloud-config 스크립트를 제공합니다. 스크립트에는 애플리케이션을 실행하는 데 필요한 구성 후 단계가 포함되어야 합니다. (예: 동적 양식에 제공된 자격 증명을 사용하여 애플리케이션 관리자 생성, 사용자 및 사용자 그룹 생성) , 등등.

    스크립트는 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 스크립트 또는 사용자 정의 애플리케이션에 필요한 다른 설정이 무엇인지 확실하지 않은 경우, 해당 내장 애플리케이션(있는 경우)을 참조로 사용하십시오. 내장된 애플리케이션 설정을 보려면, 이미지 > 응용 프로그램으로 이동하여 응용 프로그램 옆에 있는 아이콘을 클릭하세요.

  3. 저장을 클릭합니다.

사용자 정의 애플리케이션이 추가되었습니다.

사전 설치된 라이센스를 사용하여 사용자 정의 애플리케이션 추가

사전 설치된 라이센스가 있는 애플리케이션을 두 단계로 추가합니다. 먼저 애플리케이션의 라이선스 API와의 통합을 설정합니다. 그런 다음 생성된 가상 서버에 대한 라이센스를 발급하기 위해 통합을 사용할 사용자 정의 애플리케이션을 추가합니다.

Note

사용자 정의 애플리케이션에 대해서만 라이센스를 구성할 수 있습니다.

사전 설치된 라이센스로 cPanel 애플리케이션을 추가하려면:

  1. cPanel, LLC에 연락하여 계정 생성을 요청하세요. 통합을 설정하려면 계정의 자격 증명을 사용합니다.
  2. 설정 > 외부 라이선스 통합으로 이동한 다음 통합 추가를 클릭합니다.
  3. 통합에 "cPanel Pro"와 같이 인식 가능한 이름을 지정하십시오.
  4. "유형"에서 "cPanel Manage2"를 유지합니다.
  5. cPanel Manage2 계정의 사용자 이름과 비밀번호를 지정하세요.
  6. cPanel을 사전 설치하려는 라이선스 유형의 패키지 ID 및 그룹 ID(예: 각각 '21159' 및 '3520903') 목록을 지정합니다. 사용 가능한 모든 패키지 ID그룹 ID를 확인하세요.
  7. 저장을 클릭합니다.
  8. 이 절차를 사용하여 사용자 정의 cPanel 애플리케이션을 추가하세요.

Note

cPanel Manage2에는 가상 서버가 사전 설치된 라이센스를 얻지 못하는 제한이 있습니다. 동일한 IP 주소를 사용하는 다양한 서버에서 cPanel 라이선스가 15분 이내에 8번 활성화되면 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.