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:
- Crie o banco de dados e o usuário pelo painel da hospedagem.
- Envie o arquivo
.sqlcompactado para o servidor. - 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:
- Ambiente: Verifique versões de PHP/Node e extensões ativas no servidor.
- Banco: Crie o banco, importe o arquivo SQL via SSH e valide as tabelas geradas.
- Código: Envie o pacote compactado, descompacte no diretório e configure o
.envcom as novas credenciais locais. - Dependências: Execute
composer install --no-dev --optimize-autoloaderounpm install --productionconforme a stack. - Permissões: Ajuste permissões de escrita para pastas temporárias e logs.
- 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.


