Deploy de Aplicação via SSH na Hostinger: Como Subir Código e Banco de Dados com Segurança

Aprenda o passo a passo técnico para subir código, importar dumps de banco de dados via SSH na Hostinger e evitar erros comuns de configuração em produção.

Deploy de Aplicação via SSH na Hostinger: Como Subir Código e Banco de Dados com Segurança

Receber o código-fonte finalizado e o dump do banco de dados traz a falsa impressão de que a aplicação está pronta para rodar em poucos minutos. No entanto, o processo de migração e deploy em servidores de hospedagem compartilhada ou VPS frequentemente esbarra em permissões incorretas de arquivos, versões incompatíveis de runtime e falhas na importação de bancos volumosos.

Quando o prazo é urgente, tentar fazer o upload de milhares de arquivos via FTP tradicional é inviável: conexões caem, arquivos são corrompidos e a transferência leva horas. A abordagem correta e profissional exige o uso de SSH, garantindo integridade e agilidade.

Abaixo, exploramos a arquitetura de configuração ideal para subir uma aplicação com base de dados na Hostinger utilizando a linha de comando.


1. Conexão SSH e Preparação do Ambiente

O primeiro passo prático é habilitar o acesso SSH no painel da Hostinger (hPanel) e estabelecer a conexão a partir do terminal:

bash
ssh -p 65002 u123456789@ip-do-servidor

Antes de mover os arquivos finais para a raiz pública (public_html), valide a versão do interpretador (PHP ou Node.js, dependendo da stack do seu projeto) disponível no ambiente:

bash
php -v
node -v

Configurar a versão correta do runtime no painel evita erros de compilação ou funções descontinuadas logo no primeiro carregamento da aplicação.


2. Transferência e Descompactação do Código

Em vez de enviar a pasta descompactada, comprima todo o projeto localmente em um arquivo .zip ou .tar.gz (ignorando pastas como vendor, node_modules e logs):

bash

Envio via SCP

scp -P 65002 projeto.zip u123456789@ip-do-servidor:~/public_html/

No terminal da hospedagem, extraia o conteúdo diretamente no destino:

bash
cd ~/public_html
unzip projeto.zip
rm projeto.zip

Esse procedimento reduz o tempo de transferência de horas para poucos segundos e preserva a integridade de cada arquivo.


3. Importação Eficiente do Dump SQL

Ferramentas web como phpMyAdmin frequentemente sofrem com limites de tempo de execução (timeout) e restrições de tamanho no upload (geralmente limitados a 128 MB ou 256 MB). Para dumps médios ou grandes, a importação via terminal é a única via garantida:

  1. Crie o banco de dados e o usuário pelo painel da hospedagem.
  2. Envie o arquivo .sql compactado para o servidor.
  3. Execute o comando de importação direto no MySQL/MariaDB:

bash
mysql -u usuariobanco -p nomedo_banco < backup.sql

Insira a senha gerada para o usuário. Essa operação roda diretamente no processo interno do servidor, eliminando falhas de conexão intermediárias.


4. Gestão de Permissões e Variáveis de Ambiente

Um erro clássico após a descompactação é a atribuição incorreta de permissões de leitura e escrita. Pastas de cache e upload precisam de permissões adequadas, enquanto arquivos de configuração sensíveis devem permanecer restritos.

Em sistemas que desenvolvo, a separação rígida entre o código-fonte e as variáveis de ambiente é tratada como prioridade de segurança. O arquivo de configuração (como o .env) nunca deve ser exposto publicamente na web. Certifique-se de que o documento raiz (DocumentRoot) aponte para a pasta pública da aplicação (ex: /public) e nunca para a raiz do repositório onde residem credenciais e arquivos de bootstrap.

Ajuste permissões padrão de pastas e arquivos com segurança:

bash
find . -type d -exec chmod 755 {} ;
find . -type f -exec chmod 644 {} ;


Fluxo de Deploy: Checklist Rápido

Para garantir que nenhuma ponta fique solta em um lançamento urgente, siga esta sequência operacional:

  1. Ambiente: Verifique versões de PHP/Node e extensões ativas no servidor.
  2. Banco: Crie o banco, importe o arquivo SQL via SSH e valide as tabelas geradas.
  3. Código: Envie o pacote compactado, descompacte no diretório e configure o .env com as novas credenciais locais.
  4. Dependências: Execute composer install --no-dev --optimize-autoloader ou npm install --production conforme a stack.
  5. Permissões: Ajuste permissões de escrita para pastas temporárias e logs.
  6. DNS e SSL: Confirme o apontamento dos registros A/CNAME e force a emissão do certificado HTTPS.

Conclusão e Próximos Passos

Configurar uma hospedagem sob pressão exige domínio da infraestrutura e conhecimento prático de terminal para evitar que falhas silenciosas afetem o ambiente de produção. Seguir boas práticas na manipulação do banco de dados e na proteção de variáveis de ambiente garante estabilidade imediata ao projeto.

Se você possui uma aplicação pronta que precisa ser colocada no ar com urgência, estabilidade e garantia de segurança de ponta a ponta, entre em contato para uma consultoria técnica de infraestrutura e deploy especializado.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.