Ir para o conteúdo

Aplicações

No SolusVM 2, você e seus usuários podem economizar tempo e esforços de instalação criando servidores virtuais com aplicações pré-instaladas. As aplicações ajudam você e seus usuários a colocar os projetos em funcionamento assim que ou logo após a criação de um servidor.

Várias aplicações estão integradas e disponíveis no SolusVM 2 imediatamente, por exemplo, WordPress no Plesk, MariaDB, NextCloud e outros. Você também pode adicionar suas próprias aplicações personalizadas.

Você pode implantar servidores virtuais com aplicações que já possuem licenças pré-instaladas. No momento, você pode configurar o licenciamento para cPanel e Plesk apenas. Se você fizer isso, quando os usuários criarem servidores com cPanel ou Plesk personalizados, eles não precisarão comprar e instalar licenças cPanel ou Plesk.

Adicionando uma aplicação personalizada

Você pode adicionar aplicações personalizadas à lista de aplicações. Depois de adicionados, as aplicações personalizados também ficarão disponíveis para instalação quando você e seus usuários criarem servidores.

Para adicionar uma aplicações personalizada:

  1. Prepare a imagem da aplicação. É baseado na imagem do sistema operacional, que você pode obter dos fornecedores de SO (por exemplo, Ubuntu e CentOS). A imagem do Sistema Operacional pode ter a aplicação pré-instalada ou a aplicação pode ser instalada quando um servidor é criado.

    Note

    Se você estiver adicionando uma aplicação personalizada com uma licença pré-instalada, pule esta etapa e vá para a etapa 2.
    Aplicações personalizadas com licenças pré-instaladas usam imagens de Sistema Operacional já preparadas.
    
  2. Vá para Imagens > Aplicações e clique em Adicionar Aplicação.

  3. Dê a sua aplicação um nome reconhecível.

  4. Selecione o ícone da aplicação. Tentamos adivinhar quais aplicações você deseja adicionar. Caso o ícone da aplicação desejada não esteja na lista, escolha um dos ícones cinza, que mostram os tipos de aplicações (por exemplo, “Servidor”, “Carrinho de Compras” ou “Armazenamento”).

  5. Selecione a versão cloud-init. A maioria dos sistemas operacionais modernos (por exemplo, CentOS Stream ou Ubuntu 22) suporta cloud-init v2.

    Se você estiver adicionando uma aplicação cPanel personalizada com uma licença pré-instalada, especifique v2-centos. Se você estiver adicionando uma aplicação Plesk personalizada com uma licença pré-instalada, a versão cloud-init depende do sistema operacional em que você deseja que o Plesk seja executado: para Plesk no CentOS, especifique v2-centos, para Plesk no Ubuntu—v2.

  6. Forneça a URL para a imagem da aplicação.

    Se você estiver adicionando uma aplicação cPanel personalizada com uma licença pré-instalada, especifique a seguinte URL:

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

    Se você estiver adicionando uma aplicação Plesk personalizada com uma licença pré-instalada, a URL depende do sistema operacional em que você deseja que o Plesk seja executado:

    • Plesk no CentOS:

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

    • Plesk no Ubuntu:

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

  7. Se você estiver adicionando uma aplicação cPanel ou Plesk personalizada com uma licença pré-instalada, selecione o nome da integração de licenciamento que você criou anteriormente (por exemplo, "cPanel Pro" ou "Plesk Web Admin Edition").

  8. O campo Planos define quais planos podem ser usados para criação de novo servidor virtual para esta nova aplicação. Os planos que não estão vinculados a aplicação ficarão visíveis, mas não poderão ser selecionados para a criação de um novo servidor virtual.

  9. Se você deseja que seus usuários vejam e instalem a aplicação ao criar servidores, mantenha-o visível. Você também pode ocultar a aplicação dos usuários, por exemplo, se ele ainda não estiver pronto para produção. Neste caso, desligue a visibilidade. Neste caso, desligue a visibilidade.

  10. Selecione o tipo de login. Depende da sua aplicação e define como os usuários farão login nela:

Note

    Um aplicativo cPanel personalizado usa login via URL. Um Plesk usa o tipo de login "Script (JS)".

-   Caso a aplicação utilize login por URL, selecione “URL” e forneça o link de login no campo à direita,
    por exemplo, `https://{{ hostname }}/?login={{ login }}&password={{ password }}`

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

    Os usuários farão login em seu aplicativo clicando no link de login no cartão do servidor
    e as credenciais de seu aplicativo serão passadas dentro da URL.

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

    Se você estiver adicionando uma aplicação cPanel personalizado com uma licença pré-instalada, especifique a seguinte URL: `https://{{ hostname }}:2087/`.

-  Se você selecionar o tipo de login “Script (JS)”, forneça o script de login JavaScript no campo “Login de link de script”.
   Os usuários farão login em sua aplicação clicando no link de login no cartão do servidor
    e as credenciais do seu aplicativo serão enviadas por meio de uma solicitação POST.

    Se você estiver adicionando uma aplicação Plesk personalizada com uma licença pré-instalada, especifique o seguinte script de login:
        `                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/');                   });                `

-   Para algumas aplicações não baseados na Web (por exemplo, bancos de dados), você precisa mostrar as credenciais que os usuários usarão para fazer login.
    Neste caso, selecione “Info (HTML)” e forneça as informações de login como código HTML no campo “Login de link de script”.
    Os usuários farão login na sua aplicação usando as credenciais que veem no formulário HTML.

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

-   Às vezes, você não precisa de nenhum login (por exemplo, se você adicionar uma compilação de Sistema Operacional personalizada como uma aplicação).
    Neste caso, selecione “Nenhum”.
  1. Edite o esquema JSON. Quando os usuários criarem servidores e escolherem sua aplicação, eles verão o formulário dinâmico baseado neste esquema JSON. O formulário dinâmico geralmente é o formulário de registro, que coleta credenciais do administrador da aplicação. Por exemplo, o JSON de exemplo presente no campo gera o seguinte formulário dinâmico: Por exemplo, o JSON de exemplo presente no campo gera o seguinte formulário dinâmico:

    Se você estiver adicionando uma aplicação cPanel personalizada com uma licença pré-instalada, especifique o seguinte esquema JSON:

    {
      "title": "cPanel",
      "description": "Crie uma experiência de hospedagem excepcional.\nPlataforma de hospedagem líder do setor com suporte de classe mundial.",
      "type": "object"
    }
    

    Se você estiver adicionando uma aplicação Plesk personalizada com uma licença pré-instalada, especifique o seguinte esquema JSON:

    {
      "title": "Plesk",
      "description": "Plataforma avançada de gerenciamento de servidores",
      "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. No campo “Modelo de dados do usuário”, forneça o script cloud-config que será executado pelo cloud-init logo após a primeira inicialização do servidor. O script deve conter etapas pós-configuração necessárias para que sua aplicação esteja instalado e funcionando, por exemplo: criar o administrador da aplicação com as credenciais fornecidas no formulário dinâmico, criação de usuários e grupos de usuários e assim por diante.

    O script é escrito no formato YAML. Para referência sobre como escrever o script, use a documentação do cloud-init. Para escrever o script, você provavelmente precisará usar as seguintes variáveis:

    • Variáveis de sistema SolusVM 2 (para vê-las, clique em “Variáveis de Sistema”)
    • Variáveis que você especificou no esquema JSON durante a etapa anterior, por exemplo, {{ login }} e {{ password }}.

    Se você estiver adicionando uma aplicação cPanel personalizada com uma licença pré-instalada, especifique o seguinte script:

    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
    

    Se você estiver adicionando uma aplicação Plesk personalizada com uma licença pré-instalada, especifique o seguinte script:

    #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
    

    Observação

    Para aplicações Plesk personalizadas com uma licença pré-instalada, você deve usar a variável {{ externalIntegrationResponse.keyIdentifiers.activationCode }}. Esta variável contém o código de ativação da resposta da API de licenciamento.

    Observação

    Se você não tiver certeza de qual esquema JSON, script cloud-config ou outra configuração que um aplicativo personalizado deve ter, use o aplicativo integrado correspondente (se houver) como referência. Para ver as configurações integradas do aplicativo, vá para Imagens > Aplicações e clique no ícone próximo ao aplicativo.

  3. Clique em Salvar.

Seu aplicativo personalizado foi adicionado.

Adicionando um aplicativo personalizado com uma licença pré-instalada

Você adiciona um aplicativo com uma licença pré-instalada em dois estágios. Primeiro, você configura uma integração com a API de licenciamento do aplicativo. Em seguida, você adiciona um aplicativo personalizado que usará a integração para emitir licenças para servidores virtuais criados.

Note

Você só pode configurar o licenciamento para aplicativos personalizados.

Para adicionar um aplicativo cPanel com licença pré-instalada:

  1. Entre em contato com cPanel, LLC e peça para criar uma conta para você. Você usará as credenciais da conta para configurar sua integração.
  2. Vá para Configurações > Integrações de Licenciamento Externo e clique em Adicionar Integração.
  3. Dê à sua integração um nome reconhecível, por exemplo, “cPanel Pro”.
  4. Em “Tipo”, mantenha “cPanel Manage2”.
  5. Especifique o nome de usuário e a senha da sua conta cPanel Manage2.
  6. Especifique a lista de IDs de pacote e ID de grupo (por exemplo, 21159 e 3520903 respectivamente) do tipo de licença que você deseja pré-instalar com cPanel. Veja todos os IDs de pacotes e IDs de grupos disponíveis.
  7. Clique em Salvar.
  8. Adicione uma aplicação cPanel personalizada usando este procedimento.

Note

O cPanel Manage2 tem uma limitação que pode impedir que servidores virtuais obtenham licenças pré-instaladas. Se uma licença cPanel for ativada 8 vezes em 15 minutos em vários servidores que usam o mesmo endereço IP, o cPanel Manage2 bloqueará todas as ativações de licença adicionais para sua conta cPanel Manage2. Isso significa que os usuários não receberão mais licenças cPanel pré-instaladas. Assim que os usuários fizerem login no cPanel, eles também verão a seguinte mensagem de erro: "O servidor de licença cPanel respondeu que a licença foi ativada em muitas máquinas (600)". Para resolver o problema, entre em contato com a equipe de atendimento ao cliente cPanel.

Para adicionar uma aplicação Plesk com uma licença pré-instalada:

  1. Participe do Programa de Parceiros Plesk e peça para criar uma conta para você. Você usará as credenciais da conta para configurar sua integração.

  2. Vá para Configurações > Integrações de Licenciamento Externo e clique em Adicionar Integração.

  3. Dê à sua integração um nome reconhecível, por exemplo, "Plesk Web Admin Edition".

  4. Em "Tipo", selecione "Plesk KA".

  5. Especifique o nome de usuário e a senha da sua conta Plesk KA.

  6. Especifique a constante do produto (por exemplo, PLESK-12-WEB-HOST-1M). Esta constante determinará o tipo de licença a ser pré-instalada com o Plesk. Veja todas as constantes de produto disponíveis.

    Note

    Se você não tiver certeza de qual constante de produto especificar, entre em contato com seu gerente de vendas do Plesk.
    
  7. Clique em Salvar.

  8. Adicione um\ aplicação Plesk personalizada usando este procedimento.

Gerenciando Aplicações

Editando

Você sempre pode editar uma aplicação personalizada.

Para editar uma aplicação:

  1. Vá para Imagens > Aplicações e clique no ícone próximo à aplicação personalizada que você deseja editar.

    Note

    Você não pode editar aplicações integradas.
    
  2. Faça as alterações desejadas e clique em Salvar.

Gerenciando a Visibilidade

Por padrão, todos as aplicações integradas ficam visíveis: os usuários podem ver e instalar as aplicações quando criam servidores. Em alguns casos, você pode querer ocultar aplicações, por exemplo:

  • Você carregou uma aplicação personalizada, mas ele ainda não está pronto para produção. Você deseja testar a aplicação antes de disponibilizá-lo para seus usuários.
  • Você deseja alterar quais aplicações integradas estão disponíveis para instalação.

Para alterar a visibilidade de uma aplicação:

  1. Vá para Imagens > Aplicações.
  2. Ative ou desative a visibilidade da aplicação desejada.

Fazendo download

Você pode querer fazer o download da imagem da aplicação. Pode ser útil se, por exemplo, você adicionou uma aplicação personalizada e deseja verificar se a URL da imagem da aplicação está correta.

Para fazer download da imagem de uma aplicação:

  1. Vá para Imagens > Aplicações.
  2. Clique no ícone próximo à aplicação que deseja baixar.

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.