Documentação Técnica

Habilitar Websocket - SIC

Para habilitar o Websocket no ambiente você precisa acessar os nós de LiteSpeed e habilitar o websocket. Primeiro passo é logar no litespeed com usuário e senha, caso não tenha, pode clicar em recuperar senha na SIC:

image.png

Ao pedir para resetar a senha, você irá receber os e-mails com acessos e urls. Ao logar no painel do LiteSpeed, clique em Configuration -> Virtual Hosts

image.png

Clique em View/Edit da opção Jelastic:

image.png

Clique na aba General e depois vá na seção WebSocket e clique em Add:

image.png

image.png

Após isso basta preencher os campos com os dados conforme o print, clicar em Save e após isso, no topo da página vai aparecer um link para fazer um Graceful Restart, clique nele e ele irá reiniciar o LiteSpeed e seu websocket estará funcionando.

image.png

image.png

Comandos práticos para testar e verificar o WebSocket:

Se o cliente está na cloudflare, verifique o se o SSL/TLS está configurado como flexible:

image.png

Criação de Storage

Criando o Ambiente Storage

No painel da Save In Cloud do cliente, clique em New Environment.

A estrutura do Storage é composta por:

Image Configuração Apache:

Untitled (1).png

Imagem configuração Storage:

Untitled (2).png

Caso você não receba os dados de FTP no e-mail do cliente, você fará o passo de adicionar o FTP ao Storage.

Para adicionar FTP ao storage você irá com o mouse em cima do storage e clicará em Add-ons, conforme imagem abaixo:

Untitled (3).png

image.png

Clique em install e após a instalação você receberá os dados de login do FTP no e-mail da conta Save In Cloud.

Configurando o ambiente EduStore para FTP

No arquivo .env da aplicação você usará as chaves abaixo para configurar o ftp da aplicação, caso a aplicação use Amazon S3, remova as chaves e cole as chave abaixo substituindo os valores pelo valores de login ftp do cliente.

FILESYSTEM_DRIVER="ftp" FTP_HOST="xxx.xxx.xxx.xx" FTP_USERNAME="jelastic-ftp" FTP_PASSWORD="xxxxxxx" FTP_PORT="21" FTP_URL="https://xxxxxxxxx"

SSL no Storage ou Subdomínio Cloudflare

Seu ftp está configurado, porém há dois caminhos que você pode seguir e ambos estão corretos, um dos caminhos é mais rápido e o outro é mais demorado.

SSL no Storage

Nesse caminho, você adicionará o SSL no seu ambiente storage, para o que mesmo tenha a url protegida pelo HTTPS.

Para fazer isso clique em no Add-ons do Apache e clique em LetsEncrypt, após isso ele irá pedir o domínio ao qual você deseja adicionar o SSL, adicione a url do seu ambiente storage, o mesmo colocado na config acima (FTP_URL): xxxxx.jelastic.saveincloud.net.

Untitled (4).png

SSL com Subdomínio Save In Cloud:

Na cloudflare do cliente você irá em DNS e adicionar um novo registro DNS (Tipo A) apontando para o ip público do seu storage (faixa vermelha é o IP), você poderá escolher o subdomínio que quiser, por padrão usamos o cdn.xxxxxx. Sera o ip publico do apache.

Untitled (1).png

Liberando o CrossDomain do Storage:

No apache do seu storage você vai clicar em configurações, clicar no diretório conf.d e vai abrir o arquivo 10-shared_headers.conf

Untitled (2).png

Untitled (3).png

Troque o bloco de código pelo de baixo (o objetivo dele é que qualquer domínio poderá ver os arquivos do storage):

<IfModule headers_module>

 Header set Access-Control-Allow-Origin "*"
Header always set X-XSS-Protection "1; mode=block;"

</IfModule>

Após isso basta reiniciar o apache do storage e testar se sua aplicação já está enviando os arquivos corretamente, sucesso!

Untitled (4).png

Criação de ponto de montagem no apache:

No apache do seu storage você vai clicar em configurações, clicar no diretório conf.d e vai abrir o arquivo 10-shared_headers.conf

Untitled (1).png

Untitled (2).png

URL públic MYSQL

Untitled (1).png

Untitled (2).png

Untitled (3).png

Habilitando Cron

Configurando CRON na SIC


Abrir o apache/lightspeed do ambiente e clicar na pasta a esquerda escrito CRON

Untitled (1).png

Adicionar as linhas de comando abaixo:

* * * * * cd /var/www/webroot/ROOT && php artisan schedule:run >> /dev/null 2>&1
30 * * * * sh /var/www/webroot/ROOT/clear.sh

Ferramentas - Tips & Tricks

Preparar Ambiente para Alta Carga

1. Objetivo

Normalmente, para lançamentos dos nossos clientes é imprescindível que analisemos a infraestrutura dos ambientes envolvidos, para que os mesmos possam aguentar a carga de processamento. Para isso precisamos nos atentar a:

Untitled (1).png

Untitled (2).png

Em cada ambiente terá um ícone para mostrar as estatísticas, clique para ver.

Untitled (3).png

O Out ext. limit deve estar no máximo, para aguentar o tráfego de rede, o mínimo para lançamentos é de 400MB.

Para aumentar essa configuração entre em contato com a Save In Cloud, passe os nomes dos ambiente e peça para aumentar o limite de banda externa.

2. Balanceamento com múltiplos

O ambiente obrigatoriamente precisa ter um nginx para balancear, após isso adicionamos mais nós de lightspeed/apache, conforme imagem abaixo:.

Untitled (1).png

Após adicionar ou remover nós de apache é importante ajustar o arquivo CRON, acesse o arquivo cron do primeiro nó e deixe em apenas um dos nós o schedule do Laravel.

Untitled (2).png

Untitled (3).png

Nos demais nós, mantenha comentado, ou seja, apenas um dos nós de apache deve gerenciar a fila.

Untitled (4).png

Configuração de Backup de Banco

1. Objetivo

Ao utilizar o Banco de Dados atrelado a Jelastic precisamos configurar uma opção para backup automático.

1. Criar um ambiente separado para armazenamento:

Este ambiente terá apenas uma opção de armazenamento, segue imagem de configuração:

WhatsApp Image 2022-07-05 at 11.18.36.jpeg

2. Apontar o ambiente de armazenamento como backup

Após criado o ambiente de armazenamento, precisamos apontar nosso backup para ele, para isso devemos ir no ambiente principal do nosso banco de dados, clicar em configurações e ir até a pasta de “backup”, selecione a pasta de backup e clique em configurações, logo em seguida selecione a opção “Montar” (segue imagem de exemplo):

WhatsApp Image 2022-07-05 at 11.18.35.jpeg

Após clicar em  “Montar” selecione o node do ambiente de armazenamento na opção “NFS Server” e em seguida adicione o caminho da pasta para backup na opção “Caminho remoto” por padrão a pasta será “/data” (segue imagem de exemplo):

WhatsApp Image 2022-07-05 at 11.18.35 (1).jpeg

3. Criar um comando cron para executar o backup

Após os passos anteriores chegamos na fase final de configuração, aqui precisamos criar um comando cron para rodar o dump do Banco de Dados, no servidor do banco clique em configurações, após isso acesse a pasta “cron” e na sequencia clique no arquivo mysql (segue imagem de exemplo):

Untitled (1).png

Dentro do arquivo “mysql” podemos configurar um cron para rodar o backup.

Exemplo de comandos crons:

#0 1 * * * /var/lib/jelastic/bin/backup_script.sh -m dump -c 15 -u USER -p PASSWORD -d db1[,db2,db3....]

#0 2 * * * /var/lib/jelastic/bin/backup_script.sh -m dump -u USER -p PASSWORD -d db -t table1[,table2,table3....]

#0 3 * * * /var/lib/jelastic/bin/backup_script.sh -m dumpall -c 10 -u USER -p PASSWORD

Cron utilizado para o backup do Banco de Dados do Braço Forte:

01 03 * * * /var/lib/jelastic/bin/backup_script.sh -m dump -u USER -p PASSWORD -d bracoforte

Nesse comando ele executa o dump de todas as tabelas do Banco de Dados “bracoforte” ás 03:01 todos os dias.

Nginx - Formas de Balanceamento

Fonte: https://nginx.org/en/docs/http/load_balancing.html

Usando nginx como balanceador de carga HTTP

Métodos de balanceamento de carga
Configuração padrão de balanceamento de carga
Balanceamento de carga menos conectado
Persistência de sessão
Balanceamento de carga ponderado
Verificações de integridade
Leitura adicional

Introdução

O balanceamento de carga entre várias instâncias de aplicativos é uma técnica comumente usada para otimizar a utilização de recursos, maximizar a taxa de transferência, reduzir a latência e garantir configurações tolerantes a falhas.

É possível usar o nginx como um balanceador de carga HTTP muito eficiente para distribuir tráfego para vários servidores de aplicativos e melhorar o desempenho, a escalabilidade e a confiabilidade de aplicativos da web com o nginx.

Métodos de balanceamento de carga

Os seguintes mecanismos (ou métodos) de balanceamento de carga são suportados no nginx:

Configuração de balanceamento de carga padrão

A configuração mais simples para balanceamento de carga com nginx pode ser parecida com a seguinte:

http {
    upstream myapp1 {
        servidor srv1.example.com;
        servidor srv2.example.com;
        servidor srv3.example.com;
    }

    servidor {
        ouvir 80;

        localização / {
            proxy_pass http://myapp1;
        }
    }
}

No exemplo acima, há 3 instâncias do mesmo aplicativo em execução em srv1-srv3. Quando o método de balanceamento de carga não é configurado especificamente, o padrão é round-robin. Todas as solicitações são encaminhadas por proxy para o grupo de servidores myapp1, e o nginx aplica o balanceamento de carga HTTP para distribuir as solicitações.

A implementação de proxy reverso no nginx inclui balanceamento de carga para HTTP, HTTPS, FastCGI, uwsgi, SCGI, memcached e gRPC.

Para configurar o balanceamento de carga para HTTPS em vez de HTTP, basta usar “https” como protocolo.

Ao configurar o balanceamento de carga para FastCGI, uwsgi, SCGI, memcached ou gRPC, use as diretivas fastcgi_pass , uwsgi_pass , scgi_pass , memcached_pass e grpc_pass respectivamente.

Balanceamento de carga menos conectado

Outra disciplina de balanceamento de carga é a menos conectada. Essa abordagem permite controlar a carga em instâncias de aplicativos de forma mais justa em situações em que algumas solicitações demoram mais para serem concluídas.

Com o balanceamento de carga menos conectado, o nginx tentará não sobrecarregar um servidor de aplicativos ocupado com solicitações excessivas, distribuindo as novas solicitações para um servidor menos ocupado.

O balanceamento de carga menos conectado no nginx é ativado quando a diretiva least_conn é usada como parte da configuração do grupo de servidores:

    upstream myapp1 {
        conexão_menor;
        servidor srv1.example.com;
        servidor srv2.example.com;
        servidor srv3.example.com;
    }

Persistência de sessão

Observe que, com o balanceamento de carga round-robin ou de menor conexão, cada solicitação de cliente subsequente pode ser potencialmente distribuída para um servidor diferente. Não há garantia de que o mesmo cliente será sempre direcionado para o mesmo servidor.

Se houver necessidade de vincular um cliente a um servidor de aplicativo específico — em outras palavras, tornar a sessão do cliente "fixa" ou "persistente" em termos de sempre tentar selecionar um servidor específico — o mecanismo de balanceamento de carga ip-hash pode ser usado.

Com o ip-hash, o endereço IP do cliente é usado como uma chave de hash para determinar qual servidor em um grupo de servidores deve ser selecionado para as solicitações do cliente. Este método garante que as solicitações do mesmo cliente sejam sempre direcionadas ao mesmo servidor, exceto quando este estiver indisponível.

Para configurar o balanceamento de carga ip-hash, basta adicionar a diretiva ip_hash à configuração do grupo do servidor (upstream):

upstream myapp1 {
    ip_hash;
    servidor srv1.example.com;
    servidor srv2.example.com;
    servidor srv3.example.com;
}

Balanceamento de carga ponderado

Também é possível influenciar ainda mais os algoritmos de balanceamento de carga do nginx usando pesos de servidor.

Nos exemplos acima, os pesos do servidor não são configurados, o que significa que todos os servidores especificados são tratados como igualmente qualificados para um método específico de balanceamento de carga.

Com o round-robin em particular, isso também significa uma distribuição mais ou menos igual de solicitações entre os servidores — desde que haja solicitações suficientes e quando as solicitações sejam processadas de maneira uniforme e concluídas com rapidez suficiente.

Quando o parâmetro de peso é especificado para um servidor, o peso é contabilizado como parte da decisão de balanceamento de carga.

    upstream myapp1 {
        servidor srv1.example.com peso=3;
        servidor srv2.example.com;
        servidor srv3.example.com;
    }

Com essa configuração, a cada 5 novas solicitações serão distribuídas entre as instâncias do aplicativo da seguinte maneira: 3 solicitações serão direcionadas para srv1, uma solicitação irá para srv2 e outra para srv3.

Da mesma forma, é possível usar pesos com balanceamento de carga menos conectado e ip-hash nas versões recentes do nginx.

Verificações de saúde

A implementação de proxy reverso no nginx inclui verificações de integridade do servidor em banda (ou passivas). Se a resposta de um servidor específico falhar com um erro, o nginx marcará esse servidor como falho e tentará evitar a seleção deste servidor para solicitações de entrada subsequentes por um tempo.

A diretiva max_fails define o número de tentativas consecutivas malsucedidas de comunicação com o servidor que devem ocorrer durante o fail_timeout . Por padrão, max_fails é definido como 1. Quando definido como 0, as verificações de integridade são desativadas para este servidor. O parâmetro fail_timeout também define por quanto tempo o servidor será marcado como com falha. Após o intervalo fail_timeout após a falha do servidor, o nginx começará a sondar o servidor normalmente com as solicitações do cliente ativo. Se as sondagens forem bem-sucedidas, o servidor será marcado como ativo.

Leitura adicional

Além disso, existem mais diretivas e parâmetros que controlam o balanceamento de carga do servidor no nginx, como proxy_next_upstream , backup , down e keepalive . Para mais informações, consulte nossa documentação de referência .

Por último, mas não menos importante, o balanceamento de carga de aplicativos, as verificações de integridade dos aplicativos, o monitoramento de atividades e a reconfiguração dinâmica de grupos de servidores estão disponíveis como parte de nossas assinaturas pagas do NGINX Plus.

Guia Completo: Criação de Conta SIC e Configuração de Ambiente do Zero

Documentação: 
https://wiki.edustore.online/books/save-in-cloud

Videos Complementares:
Ambiente Principal Parte 1 : https://www.youtube.com/watch?v=JQhrZJxuqrE&ab_channel=EduStore-PlataformaPremiumparaCursosOnline
Ambiente Principal Parte 2 :https://www.youtube.com/watch?v=ggunGuD2VI8
Ambiente Storage: https://www.youtube.com/watch?v=m08mbwIvXWg


Esta documentação é um guia completo para a criação de uma nova conta SIC, cobrindo todas as etapas necessárias para a configuração integral do ambiente. Acima, você encontrará materiais de apoio — como documentações e vídeos complementares — que podem ser utilizados como referência caso surjam dúvidas durante o processo de instalação.

Criando uma Conta SIC

Para começar, é necessário criar uma conta na SIC. Clique no link abaixo e siga as instruções para concluir o processo de cadastro.

https://register.saveincloud.com/geral/site

image.png

Observação: O ideal é utilizar o seguinte padrão de e-mail para o cadastro: cliente_novo@edustore.online. Vale lembrar que, durante a ativação via SMS, será necessário um número de celular ativo e acessível do próprio cliente para receber o código de verificação.

Acesso Inicial ao SIC e Ativação da Conta Paga

Com a conta já criada, acesse o link abaixo utilizando o e-mail e a senha cadastrados. Em seguida, clique em "Entrar" para acessar o ambiente.

https://app.jelastic.saveincloud.net/

image.png

Antes de iniciar a configuração do ambiente, é necessário que o colaborador realize a compra de um crédito inicial no valor aproximado de R$150 a R$200.
Para isso, clique na opção "Assinar o Cloud", localizada na parte superior da tela. Esse processo irá direcionar para o cadastro e aquisição dos créditos necessários.
Consulte a imagem abaixo para facilitar a identificação do botão.

image.png

image.png

Após a conclusão do cadastro, o botão "Assinar o Cloud" será substituído por "Saldo", na mesma posição anterior.
Clique em "Saldo", depois em "Comprar saldo", selecione o valor desejado (entre R$150 e R$200, conforme citado acima) e escolha a forma de pagamento PIX.

⚠️ Atenção: Dependendo do cliente, o método de pagamento disponível pode variar.

 image.png

Criando o primeiro ambiente

Para criar o primeiro ambiente, vá até a parte superior da tela e clique em "Novo Ambiente". Ao fazer isso, será exibida uma tela semelhante a uma das imagens demonstradas abaixo.

Importante: Caso surja alguma dúvida durante o processo de criação do ambiente, consulte os vídeos complementares localizados acima nesta documentação — especialmente os vídeos "Ambiente Principal – Parte 1" e "Parte 2".

image.png

Aqui está o fluxograma que serve de guia para a configuração, e alguns pontos importantes: 

IMPORTANTE:

"Atualizamos o ambiente para PHP 8.3 (anteriormente 8.1). As imagens existentes são antigas, então considere que qualquer referência à versão 8.1 agora corresponde à 8.3."

image.png

⚠️ Observação: Este fluxograma representa um modelo padrão recomendado para ambientes de baixa demanda.
Para cenários mais robustos ou com alto tráfego, os valores de recursos podem variar — consulte a documentação técnica ou entre em contato com o suporte para orientações específicas.
A inclusão do Redis é opcional e pode ser omitida em ambientes com demanda extremamente baixa, onde o uso de cache in-memory não é essencial.

Imagens de como deve ficar a configuração:


PHP-NGIX-NOME

image.png

LITESPEED

image.png

MYSQL

image.png

REDIS

image.png

Após concluir as configurações conforme mencionado, clique em "Criar" e aguarde alguns minutos.

Após a conclusão da criação do ambiente, serão enviados por e-mail os detalhes relacionados à configuração e acesso de cada serviço, incluindo:

Esses e-mails contêm informações essenciais, como URLs de acesso, credenciais, portas e IPs, sendo fundamentais para o gerenciamento do ambiente.

O ambiente será provisionado automaticamente e, ao finalizar, terá uma aparência semelhante ao exemplo mostrado abaixo.

image.png

Liberando Sudo su & Installando PHP-Redis

Precisa entrar entrar contato com o pessoal da SIC para fazer a liberação do modo su do ambiente. A partir da liberação do ambiente, siga esses passos: 

Apontando o Domínio para o Ambiente SIC

Para concluir a ativação do ambiente SIC, é necessário configurar os domínios personalizados do cliente e realizar os apontamentos DNS corretamente.

Solicite ao cliente o domínio principal que será utilizado (ex: seudominio.com.br).
Caso o domínio ainda não esteja registrado, oriente o cliente a registrar em serviços como Registro.br, GoDaddy, HostGator, etc.

Aponte o cliente (ou acesse com autorização) ao painel de gerenciamento DNS, que pode variar conforme o provedor (Cloudflare, Registro.br, GoDaddy, etc.).

Pegando o ip publico da NGIX:

image.png

⚠️ Importante: Cada painel pode ter uma interface diferente, mas os registros seguem os mesmos padrões.

Adicione os seguintes registros do tipo A, apontando para o IP público do ambiente (NGINX):

Subdomínio Tipo Valor (apontar para)
cdn.seudominio.com.br A Verificar no ambiente storage.
painel.seudominio.com.br A IP público do servidor (NGIX)
sala.seudominio.com.br A IP público do servidor (NGIX)

Compartilhamento de ambientes e Git

Para centralizar e organizar os ambientes na conta principal da Edustore, compartilhe o ambiente com o e-mail: contato@edustore.online

Passo a passo:

  1. Acesse Configurações → Colaboração → Compartilhado por mim

  2. Clique em Convidar

  3. Informe o e-mail contato@edustore.online

  4. Marque a opção /admin (todos os ambientes)

image.png

image.png

Integração com Git no LiteSpeed

Para facilitar a integração com o repositório GitLab e centralizar os ambientes, é recomendado compartilhar o ambiente com a conta principal da Edustore: contato@edustore.online

 Isso permite acessar rapidamente os repositórios Git já configurados nessa conta, agilizando a vinculação e a configuração do deploy.

Para vincular o repositório Git ao ambiente LiteSpeed:

  1. Vá em Implementação → Implementar via Git

  2. Configure o repositório e branch conforme necessário

  3. Após a publicação, defina o comando pós-deploy:


cd /var/www/webroot/ROOT && composer install

image.png

image.png

image.png

image.png

image.png

Importante: Esse comando garante que as dependências PHP do projeto sejam instaladas automaticamente após o deploy.

Configurações no LiteSpeed

image.png

image.png

image.png

 Configurações no LiteSpeed

Adicionando Pastas e Arquivos aos Favoritos

Ao acessar o LiteSpeed, vá até a aba Configurações e localize as pastas e arquivos principais do ambiente, conforme mostrado na imagem acima.

Para facilitar o acesso no dia a dia:

  1. Clique com o botão esquerdo sobre a pasta ou arquivo desejado.

  2. No menu exibido, clique em "Adicionar aos Favoritos".

✅ Recomendamos adicionar os seguintes itens:

Ajustes no php.ini

No mesmo ambiente LiteSpeed, acesse o arquivo php.ini e habilite as seguintes extensões necessárias para o funcionamento correto da aplicação:


extension=gd.so extension=imagick.so 

Ainda no php.ini, ajuste os seguintes parâmetros para garantir melhor desempenho e suporte a arquivos grandes:

memory_limit = 10000M post_max_size = 8000M upload_max_filesize = 20000M

Para imagick e gd serem de fato, iniciadas tem que ajustar individualmente em no diretorio php.d (/usr/local/lsws/lsphp83/etc/php.d), onde deve ser procurado nos arquivos 20-gd.ini e 40-imagick.

image.png

image.png

Verificando email e configurações diretas

Após criar os ambientes, recebemos e-mails para concluir a configuração. Acesse o e-mail usado no cadastro da SIC e procure a mensagem do LiteSpeed para finalizar o processo.

CAIXA DE ENTRADA DO SEU EMAIL DE CADASTRO:

image.png

CONTEÚDO DO EMAIL DO LITESPEED

image.png

Depois disso, acesse o sistema pela URL de Acesso enviado no e-mail, utilizando seu login e senha.
Em seguida, você será direcionado para a tela abaixo:

image.png

Dentro das configurações do servidor LiteSpeed, vamos ajustar dois pontos importantes:

1) Caminho do WebSocket

Acesse:
Configuration > Virtual Hosts

Em seguida:

  1. Clique em View/Edit no Virtual Host desejado.

  2. Vá até a aba General.

  3. Ao final da página, localize a seção WEB SOCKET PROXY SETUP e clique em Edit.

Nessa configuração, os campos devem ficar exatamente como mostrado na imagem abaixo, ou seja, utilizando a mesma URI e o mesmo Address.

Obs: Ainda é necessária fazer mais outra configuração para o websocket funcionar corretamente, será mostrada mais a frente.


image.pngimage.png

image.png

2) Caminho pasta publica

Acesse:
Configuration > Virtual Hosts

Em seguida:

  1. Clique em View/Edit no Virtual Host desejado.

  2. Vá até a aba General.

  3. No campo General > Document Root : temos que adicionar um "/public". Como mostrado a baixo.
image.png

Após salvar, será exibida na parte superior uma mensagem com um link “Graceful Restart”.
Clique nesse link e aguarde alguns instantes até aparecer a mensagem de confirmação.

Feito isso, a configuração no LiteSpeed estará concluída.

Configuração de tamanho de request LiteSpeed

image.png

Add-Ons (Nginx e LiteSpeed)

No Nginx, vamos instalar os add-ons necessários.
O principal deles é o “Let’s Encrypt Free SSL”.

Ao configurar o SSL:

Depois de preencher, basta aplicar a configuração e aguardar alguns minutos até que o certificado seja gerado e tudo esteja ativo.

image.png

image.png

image.png

Siga o mesmo caminho, porem agora no LiteSpeed.

No LiteSpeed, vamos instalar os add-ons necessários.
O principal deles é o “LiteSpeed License Manager”.

Obs: Essa configuração antes de ser realizada, deve ser verificada mediante a equipe, pois podem envolver custos.

image.png

Criando o Storage

https://wiki.edustore.online/books/documentacao-tecnica/page/criacao-de-storage

Conclusão do Ambiente

Da mesma forma que você recebeu um e-mail com os dados do LiteSpeed, também será enviado outro e-mail com as informações do SQL.

image.png

image.png

Em seguida, acesse Configurações do ambiente > Endpoints:

  1. Clique em Adicionar;
  2. Selecione o node de SQL.

  3. Defina o Nome e a Porta como:

    • Tipo: MySQL

    • Porta: 3306 (padrão do SQL)

Após salvar, será gerada uma porta pública, que aparecerá em tela de forma similar ao exemplo abaixo.

Agora no Navicat, siga os passos abaixo:

  1. Crie uma nova conexão MySQL, conforme o modelo da imagem.

  2. Preencha os campos utilizando os dados recebidos do servidor (host, usuário, senha e porta pública do MySQL).

  3. Após preencher tudo, clique em Testar Conexão e verifique se a conexão foi estabelecida com sucesso.

image.png

image.png

Após isso, clique com o botão direito do mouse sobre a conexão e selecione “New Database”.
Informe um nome para o banco de dados e clique em OK.

Lembre-se de usar nomes relacionados ao cliente, seguindo o mesmo padrão dos bancos que já estão sendo utilizados como exemplo.

image.png

image.png

Configuração .env

No LiteSpeed, acesse Configurações > .env.

A partir daqui, vamos ajustar as variáveis de ambiente necessárias para rodar as migrations do projeto corretamente.

Configure o arquivo .env desta forma (substituindo os campos entre parênteses pelos dados do seu ambiente):

APP_DEBUG=false

APP_URL=https://sala.seudominio.com.br        # sala
URL_SITE="seudominio.com.br"                 # vitrine
URL_MATRIX="painel.seudominio.com.br"        # painel

DB_CONNECTION=mysql
DB_PORT=3306
DB_HOST=(conforme o e-mail do banco)
DB_DATABASE=(nome do database criado no Navicat)
DB_USERNAME=(usuário enviado no e-mail)
DB_PASSWORD=(senha enviada no e-mail)

FILESYSTEM_DRIVER=ftp
FTP_HOST="(conforme storage)"
FTP_USERNAME="(conforme storage)"
FTP_PASSWORD="(conforme storage)"
FTP_PORT=21
FTP_URL="https://(conforme storage, subdomínio CDN)"

Caso existam outras configurações no .env, verifique com a equipe antes de alterar.

Em seguida, acesse o Web SSH do LiteSpeed.

No terminal, navegue até a pasta do projeto:

cd /var/www/webroot/ROOT

E execute o comando:

php artisan migrate

Se der erro na primeira vez, você pode rodar o comando novamente, pois muitas vezes a migration é concluída corretamente na segunda tentativa.

Finalizando Websocket

Agora vamos finalizar a configuração do WebSocket.

No painel, acesse:

LiteSpeed → Cron → LiteSpeed

Em seguida, cole o comando abaixo:

# IMPORTANT NOTE!

# Please make sure there is a blank line after the last cronjob entry.

* * * * * cd /var/www/webroot/ROOT && php artisan schedule:run >> /dev/null 2>&1

Agora, após concluir todos os passos, você já pode testar o acesso em:

Se ambos abrirem normalmente, sem erros, significa que o ambiente foi configurado com sucesso e o processo está finalizado. 

Rodando Seeds & Migrations

No .env configure as chaves de login social:

FB_ID=414578407312542
FB_SECRET=f25ab006f5a69d9fa9f1b375b51150cf
GOOGLE_SECRET=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
GOOGLE_ID=861561782343-m3j5oin7toha588n903ncofh9ver9bmh.apps.googleusercontent.com
LINKEDIN_CLIENT_ID=77ppfdd8dc7i6l
LINKEDIN_CLIENT_SECRET=6eFq4JCazURpH3C3

Após isso, caso o cliente utilize cache com o Redis, configure o CACHE_DRIVER = redis e o configure as chaves de acesso do redis: REDIS_HOST="****.saveincloud.net.br" e REDIS_PASSWORD="****"


Acesse o ambiente via WebSSH e acesso o diretório: cd /var/www/webroot/ROOT/, nele execute os seguintes comandos:

Feito, base criada, dados configurados, tudo pronto!

Configurações iniciais no painel


Em outros->configurações, temos que adicionar essa configuração.

image.png