Voltar para o início
Laravel & PHP

# O Guia Definitivo: Como Publicar um Projeto Laravel na Hostinger via SSH

Publicado em 28/06/2026 às 19:50
## 1. Preparação Local do Projeto
Antes de enviar os arquivos para o servidor, é fundamental otimizar o framework para o ambiente de produção e limpar os caches locais para evitar conflitos de caminhos. No seu terminal local (como o Laragon), execute:

```bash
php artisan config:cache
php artisan route:cache
php artisan view:cache
Depois de otimizar, compacte todo o diretório do projeto em um arquivo .zip. Isso fará o upload ser drasticamente mais rápido do que enviar pasta por pasta.

2. Organização de Pastas e Upload na Hostinger
Quando você trabalha com subdomínios (ex: blog.embersys.com.br), a Hostinger organiza o servidor criando uma pasta isolada dentro do diretório raiz.

Acesse o hPanel da Hostinger e abra o Gerenciador de Arquivos.

Navegue até o caminho exato do seu subdomínio: domains/blog.embersys.com.br/public_html.

Faça o upload do seu arquivo .zip e extraia-o diretamente dentro dessa pasta public_html.

3. O "Pulo do Gato": Apontando para a Pasta Public
O Laravel inicia a aplicação obrigatoriamente a partir da pasta /public. Para que o seu subdomínio acesse o projeto corretamente sem que você precise digitar /public na URL do navegador, crie ou edite o arquivo .htaccess na raiz da public_html do seu subdomínio com o seguinte código:

Apache
<IfModule mod_rewrite.c>
RewriteEngine On

# Se o arquivo ou diretório real não existir, processa a regra
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

# Redireciona silenciosamente todo o tráfego para a pasta public do Laravel
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
4. Configuração Segura do Banco de Dados (.env)
No hPanel, vá em Bancos de Dados MySQL e crie um novo banco e usuário.

Atenção: A Hostinger sempre adiciona um prefixo com o ID da sua conta (ex: u845152123_) no nome do banco e do usuário. Use o nome completo.

Abra o arquivo .env na raiz do projeto e configure as credenciais de produção, garantindo que o modo debug esteja desativado por segurança:

Snippet de código
APP_ENV=production
APP_DEBUG=false
APP_URL=[https://blog.embersys.com.br](https://blog.embersys.com.br)

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=u845152123_nome_do_banco
DB_USERNAME=u845152123_usuario_do_banco
DB_PASSWORD=sua_senha_forte_aqui
5. Executando Comandos via SSH com o PHP Correto
Ao acessar o servidor via SSH, se você rodar apenas o comando php -v, verá que o terminal padrão utiliza uma versão anterior (como o PHP 8.2). Como os projetos modernos em Laravel exigem o PHP 8.3, precisamos chamar o binário do PHP correto usando o caminho absoluto que a Hostinger disponibiliza via CloudLinux.

Navegue até a pasta do seu projeto no terminal:

Bash
cd domains/blog.embersys.com.br/public_html
Agora, execute as tarefas necessárias utilizando o caminho do PHP 8.3 do servidor (/opt/alt/php83/usr/bin/php):

Limpar resquícios de configurações locais:
Bash
/opt/alt/php83/usr/bin/php artisan config:clear
Rodar as Migrations no Banco de Dados:
Bash
/opt/alt/php83/usr/bin/php artisan migrate --force
(O parâmetro --force impede que o Laravel bloqueie a execução, confirmando que você deseja alterar o banco em ambiente de produção).

Criar o Link de Armazenamento (Storage):
Se o seu projeto lida com upload de imagens em posts ou arquivos, crie o link simbólico para a pasta pública:

Bash
/opt/alt/php83/usr/bin/php artisan storage:link
Conclusão
Seguindo essa estrutura, seu ecossistema Laravel estará configurado perfeitamente dentro da Hostinger. O isolamento por subdomínios garante a organização do ambiente, enquanto o uso do binário correto do PHP previne qualquer erro de compatibilidade do Composer e do Artisan. O projeto agora está pronto, seguro e online!

---

Está na mão! Esse artigo serve tanto para a sua documentação pessoal quanto para o prime