Visão geral
Este tutorial explica a primeira instalação do MVO Panel em um domínio ou subdomínio próprio. O assistente web verifica o servidor, valida a licença, configura o banco, cria o primeiro administrador e prepara as estruturas iniciais do painel.
Faça a instalação primeiro em um ambiente novo. Não envie o MVO Panel por cima de um WHMCS ou de outro sistema já em produção e não reutilize um banco com tabelas de outra aplicação.
O que você precisa antes de começar
- uma licença ativa do MVO Panel e sua chave no formato
MVO-...; - um domínio ou subdomínio apontando para o servidor, por exemplo
painel.suaempresa.com.br; - certificado HTTPS válido;
- PHP 8.2 ou superior;
- extensões PHP PDO, PDO MySQL, mbstring, OpenSSL, Sodium, cURL e JSON;
- MariaDB 10 ou MySQL 8 com um banco vazio e usuário próprio;
- pacote completo do MVO Panel, incluindo
vendore arquivos ocultos; - acesso ao gerenciador de arquivos, FTP/SFTP ou SSH;
- permissão para criar uma tarefa cron a cada cinco minutos.
Se o servidor usa versões diferentes do PHP para o site e para o terminal, selecione PHP 8.2 ou superior nos dois ambientes. Não presuma que o comando php do terminal usa a mesma versão do domínio.
1. Criar o domínio e ativar HTTPS
- No painel da hospedagem, crie o domínio ou subdomínio que receberá o MVO Panel.
- Aponte o DNS para o endereço IP do servidor.
- Emita e instale um certificado TLS válido, como Let's Encrypt.
- Abra o endereço pelo navegador e confirme que ele responde em HTTPS sem aviso de certificado.
Use uma URL definitiva durante a instalação. Se instalar em https://painel.suaempresa.com.br, informe exatamente esse endereço no assistente, sem acrescentar /admin ou /install.
2. Criar o banco de dados
Crie um banco vazio com codificação utf8mb4 e um usuário exclusivo. Anote:
- host do banco, geralmente
localhostou127.0.0.1; - porta, normalmente
3306; - nome do banco;
- usuário;
- senha.
Conceda ao usuário permissão para criar e alterar tabelas dentro desse banco. Não use o usuário root do MySQL em produção. Se desejar que o instalador crie o banco, o usuário também precisará da permissão CREATE DATABASE.
3. Enviar os arquivos do MVO Panel
- Baixe o pacote na Área do Cliente, em Serviços ou Downloads.
- Extraia o pacote no computador antes de enviar ou extraia-o diretamente no servidor.
- Envie todo o conteúdo para a pasta do domínio.
- Confirme que as pastas
app,config,install,public,storage,templatesevendorestão presentes. - Confirme também o envio dos arquivos ocultos
.htaccessda raiz, depublice deinstall.
Não envie apenas o conteúdo da pasta public. O MVO Panel precisa dos arquivos da aplicação que ficam fora dela. Quando o servidor permite configurar o DocumentRoot, ele pode apontar para public; quando não permite, a entrada da raiz encaminha a requisição para a pasta pública.
4. Ajustar permissões
O usuário do site precisa conseguir gravar temporariamente na raiz para criar o arquivo .env e precisa manter acesso de escrita às pastas:
storage;storage/logs;storage/sessions.
Em hospedagens com Plesk ou cPanel, use o usuário da assinatura, não root, como proprietário dos arquivos do site. Evite permissão 777. Comece com diretórios 755 ou 775 e arquivos 644 ou 664, conforme o grupo usado pelo PHP no servidor.
5. Abrir o instalador
No navegador, acesse:
https://painel.suaempresa.com.br/install/O assistente possui cinco etapas:
- licença e confirmação inicial;
- verificação dos requisitos do servidor;
- conexão com MySQL ou MariaDB;
- identidade do painel e primeiro administrador;
- execução da instalação.
Informe a chave da licença exatamente como aparece na Área do Cliente. A licença pode estar vinculada ao domínio, IP e diretório; se algum vínculo estiver incorreto, solicite a reemissão antes de continuar.

6. Conferir os requisitos
Todos os requisitos precisam aparecer como Aprovado. Se algum item estiver pendente:
- confirme a versão PHP usada pelo domínio;
- habilite a extensão indicada na configuração do PHP;
- reinicie o PHP-FPM ou Apache quando o painel da hospedagem exigir;
- confirme que
vendor/autoload.phpfoi enviado; - corrija o proprietário e as permissões de
storage, logs, sessões e raiz.
Não ignore extensões pendentes e não desative a validação do instalador. A extensão Sodium é necessária para validar as assinaturas da licença.

7. Informar o banco de dados
Preencha host, porta, banco, usuário e senha anotados anteriormente. Use Testar e continuar para validar a conexão e avançar.
Se a conexão falhar, confirme:
- se o banco aceita conexões a partir do servidor web;
- se o nome do host está correto;
- se o usuário pertence ao banco informado;
- se a senha não recebeu espaços extras ao ser copiada;
- se a porta está liberada;
- se o banco está vazio e usa
utf8mb4.

8. Configurar o painel e o administrador
Informe:
- nome da empresa ou do painel;
- URL HTTPS definitiva;
- e-mail de suporte;
- nome e sobrenome do administrador;
- e-mail administrativo;
- uma senha exclusiva com pelo menos 10 caracteres, incluindo letra maiúscula, letra minúscula e número.
Guarde o acesso administrativo em um gerenciador de senhas. Não reutilize a senha do servidor, banco ou e-mail.

9. Concluir a instalação
Ao confirmar, o MVO Panel:
- valida novamente a licença;
- grava o arquivo
.env; - cria as tabelas e executa as migrations;
- instala permissões e modelos de e-mail;
- registra os módulos disponíveis;
- cria o primeiro administrador;
- grava
storage/installed.lockpara bloquear uma nova instalação.
Quando a tela informar sucesso, abra o endereço administrativo apresentado, normalmente:
https://painel.suaempresa.com.br/admin/loginEntre com o administrador criado e confirme que o painel inicial abre sem erro.

10. Configurar o cron
Crie uma tarefa executada a cada cinco minutos. No terminal, descubra primeiro o caminho do PHP 8.2 ou superior usado pelo domínio. Um exemplo comum é:
/opt/plesk/php/8.2/bin/php /var/www/vhosts/suaempresa.com.br/httpdocs/crons/cron.php allNo cPanel, o caminho pode ser diferente. Use o caminho absoluto real do PHP e da instalação. A expressão de agendamento é:
*/5 * * * *Depois, abra Ferramentas > Automação e cron e confira a última execução. O cron processa pedidos, tickets, cobranças, vencimentos, suspensões, domínios e outras rotinas; deixar essa tarefa sem agendamento impede a automação normal do painel.
11. Fazer a configuração inicial
Antes de receber clientes:
- abra Configurações > Configurações gerais > Geral e revise empresa, endereço, moeda, fuso horário e e-mails;
- configure SMTP e envie uma mensagem de teste;
- ative apenas os módulos que realmente serão usados;
- cadastre servidores e teste cada conexão;
- configure ao menos uma forma de pagamento;
- crie grupos e produtos;
- revise templates de e-mail, impostos, cron e regras de suspensão;
- crie um cliente e um pedido de homologação;
- teste uma fatura, pagamento, provisionamento e ticket antes de publicar a loja.
Os módulos são descobertos durante a instalação, mas começam inativos. Isso evita que uma integração seja executada antes de suas credenciais e produtos estarem configurados.
12. Proteger a instalação
Depois de validar o login e o cron:
- mantenha
storage/installed.lock; - remova a pasta
installda instalação de produção ou bloqueie seu acesso pelo servidor web; - restrinja o acesso ao arquivo
.env; - mantenha
app_debug=false; - faça backup do banco,
.env, uploads e arquivos de configuração; - não publique chaves de licença, credenciais ou logs;
- mantenha HTTPS obrigatório;
- atualize o painel somente por pacotes oficiais e faça backup antes de cada versão.
Não remova .env ou storage/installed.lock numa instalação ativa. Isso não é um procedimento de atualização e pode reabrir um fluxo destrutivo.
Problemas frequentes
A página /install/ retorna 403
Confirme que install/.htaccess foi enviado e que o domínio permite as diretivas do Apache. No Plesk, revise também as diretivas adicionais e o proprietário da pasta. Não libere acesso público indiscriminado a todos os arquivos para contornar o erro.
A página fica em branco ou retorna HTTP 500
Confira o log do domínio, o log do PHP e storage/logs. As causas mais comuns são versão PHP incorreta, extensão ausente, pacote incompleto, permissões ou dependências do Composer ausentes. Corrija a causa; não esconda a mensagem desativando logs antes de concluir o diagnóstico.
A licença não é aceita
Confira a chave, o status do serviço e os vínculos de domínio, IP e diretório. O servidor também precisa conseguir acessar https://www.mvo.host/licensing/verify/ por HTTPS. Não compartilhe a chave em imagens ou tickets públicos.
O banco conecta, mas a instalação não termina
Confirme que o usuário pode criar e alterar tabelas, que o banco está vazio e que não há falta de espaço em disco. Leia a mensagem e os logs antes de repetir. Não execute a instalação várias vezes sobre um banco parcialmente preenchido sem primeiro fazer backup e identificar a falha.
O painel abre, mas as automações não funcionam
Confirme que o cron usa o PHP correto, o caminho absoluto da instalação e o argumento all. Depois verifique a execução em Ferramentas > Automação e cron e os logs.
Checklist final
- domínio e HTTPS funcionando;
- PHP 8.2+ e todas as extensões aprovadas;
- banco exclusivo e conexão validada;
- licença aceita;
- instalação concluída sem HTTP 500;
- login administrativo funcionando;
- SMTP testado;
- cron executando a cada cinco minutos;
- módulos necessários configurados e testados;
- pedido de homologação concluído;
- backup inicial criado;
- diretório de instalação removido ou bloqueado.
Com todos os itens confirmados, o MVO Panel está pronto para receber a configuração comercial e as integrações da operação.