Como Configurar Variáveis de Ambiente
Olá! Sou a Sensei da GeHost 😊 Neste guia, você vai aprender a configurar variáveis de ambiente de forma fácil e segura. Variáveis de ambiente são como "caixas de guarda" do seu site — guardam informações importantes (senhas, chaves, configurações) fora do código, protegidas.
💡 Dica Sensei: Variáveis de ambiente são fundamentais para manter seu site seguro. Nunca coloque senhas ou chaves diretamente no código!
O que são Variáveis de Ambiente?
Variáveis de ambiente são valores que seu site lê do servidor, não do código. Imagine que seu site é um restaurante: as variáveis de ambiente são como as instruções que você cola na cozinha ("use sal iodado", "temperatura do forno: 200°C"). Quando o código precisa desse valor, ele pergunta ao servidor: "qual é o valor de X?" e o servidor responde.
Exemplos comuns:
- Senhas de banco de dados (DATABASE_PASSWORD)
- Chaves de API (STRIPE_KEY, OPENAI_KEY)
- Ambiente do site (APP_ENV = production ou development)
- Endereço do banco de dados (DATABASE_HOST)
- Chave de criptografia (APP_KEY)
Por que Usar Variáveis de Ambiente?
- Segurança: Senhas não ficam visíveis no código-fonte (que pode vazar).
- Flexibilidade: Você muda a senha do banco de dados sem tocar no código.
- Ambientes diferentes: Um valor pra teste, outro pra seu site ao vivo.
- Facilidade de manutenção: Tudo centralizado, sem procurar em 10 arquivos diferentes.
Métodos de Configuração
Método 1: Arquivo .env (Recomendado para a Maioria)
A forma mais comum é criar um arquivo chamado .env na raiz do seu site. É um arquivo de texto simples com pares "nome = valor".
Passo a passo:
- Acesse o cPanel (painel.gehost.com.br) com suas credenciais.
- Abra o Gerenciador de Arquivos (File Manager).
- Navegue até a pasta raiz do seu site (geralmente public_html ou a pasta do seu domínio).
- Clique em + Arquivo (ou "New File") → dê o nome .env (comece com ponto mesmo).
- Abra o arquivo e escreva suas variáveis, uma por linha:
APP_ENV=production DATABASE_HOST=localhost DATABASE_NAME=seu_banco DATABASE_USER=seu_usuario DATABASE_PASSWORD=sua_senha_segura API_KEY=chave_secreta_aqui
- Salve o arquivo.
- Certifique-se que o arquivo .env não aparece na web (seu site deve ter uma regra no .htaccess ou nginx.conf que bloqueia acesso a .env). A GeHost já faz isso por padrão, mas se duvidou, contacte o suporte.
⚠️ Importante Sensei: Nunca commite o arquivo .env para o GitHub ou controle de versão. Crie um arquivo .env.example com valores fictícios (pra documentar a estrutura) e ignore o .env real.
Método 2: Variáveis no cPanel (Para Aplicações PHP)
Se sua aplicação usa PHP puro (não framework como Laravel), você pode definir variáveis diretamente no cPanel:
- No cPanel, procure por Environment Variables (Variáveis de Ambiente) — não aparece em todos os planos.
- Se disponível, clique em adicionar variável.
- Preencha:
- Variable Name: (ex.: DATABASE_PASSWORD)
- Variable Value: (ex.: sua_senha)
- Salve.
No seu código PHP, acesse com:
$senha = getenv('DATABASE_PASSWORD');
Método 3: Via SSH (Para Usuários Avançados)
Se tem acesso SSH ao servidor:
- Conecte-se via terminal/SSH.
- Navegue até a pasta raiz: cd ~/public_html
- Crie o arquivo: nano .env
- Escreva suas variáveis, salve (Ctrl+X, depois Y).
- Defina permissões: chmod 600 .env (apenas o dono lê).
Exemplos Comuns de Variáveis
Para WordPress (WP-Config):
DB_NAME=seu_banco_wordpress DB_USER=seu_usuario DB_PASSWORD=senha_forte DB_HOST=localhost WP_ENV=production
Para Laravel:
APP_ENV=production APP_DEBUG=false APP_KEY=base64:sua_chave_aqui DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=seu_banco DB_USERNAME=seu_usuario DB_PASSWORD=senha_forte MAIL_MAILER=smtp MAIL_HOST=seu_smtp MAIL_PORT=587 MAIL_USERNAME=seu_email MAIL_PASSWORD=sua_senha_email
Para Node.js / Aplicações Dinâmicas:
NODE_ENV=production PORT=3000 DATABASE_URL=mysql://usuario:senha@localhost/banco API_SECRET=sua_chave_secreta STRIPE_KEY=sk_live_xxx
Dicas e Boas Práticas
- Use senhas fortes: Gere senhas de 20+ caracteres com letras, números e símbolos.
- Uma variável por linha: No .env, cada configuração numa linha separada (CHAVE=valor).
- Sem espaços ao redor do =: Escreva DB_PASSWORD=abc123, não DB_PASSWORD = abc123.
- Valores com espaços: Use aspas duplas: APP_NAME="Meu Site Top"
- Não compartilhe o .env: Mantenha segredo. Se vazou, mude todas as senhas imediatamente.
- Teste antes de ir pro ar: Configure tudo em um ambiente de teste antes de colocar em produção.
- Documente (em .env.example): Crie um arquivo .env.example mostrando a estrutura esperada (sem valores reais) — ajuda quando onboarding novos dev.
🔐 Sensei diz: Variáveis de ambiente são seu escudo de segurança. Quanto menos dados sensíveis forem expostos no código, mais seguro seu site fica.
Troubleshooting — Quando Algo Não Funciona
Problema: Meu Site Diz "Variável não Encontrada"
Solução:
- Verifique o nome exato da variável (maiúsculas/minúsculas).
- Confirme que o arquivo .env está na raiz do seu site (não numa subpasta).
- Reinicie a aplicação (às vezes o servidor precisa carregar o .env de novo) — se usa cPanel, reinicie o PHP; se usa Node, desligue e ligue de novo.
- Verifique que seu código está lendo a variável corretamente:
- PHP: getenv('NOME') ou $_ENV['NOME']
- Laravel: env('NOME')
- Node: process.env.NOME
Problema: ".env" não Aparece no Gerenciador de Arquivos
Solução: Arquivos que começam com ponto (.) são "ocultos". No Gerenciador de Arquivos do cPanel, procure por Settings (engrenagem, canto superior direito) e ative "Show Hidden Files" (mostrar arquivos ocultos).
Problema: Erro de Permissão (Permission Denied)
Solução: O arquivo .env precisa ter as permissões corretas. No Gerenciador de Arquivos:
- Clique com botão direito no .env → Change Permissions.
- Ajuste para 644 (seu site lê, ninguém mais mexe) ou deixe o padrão.
- Salve.
Problema: Mudei a Senha, mas o Site Continua com a Antiga
Solução: O servidor pode estar "cachando" (guardando na memória) o valor antigo. Tente:
- Reinicie o PHP no cPanel (procure por "Restart PHP" em Advanced).
- Se usa Node/Python, desligue a aplicação e ligue de novo.
- Aguarde 5-10 minutos pra cache expirar.
Precisa de Ajuda?
Se está preso ou tem dúvida, contacte o suporte GeHost pelo painel de tickets. Pode ser também que sua aplicação exija um setup específico — a gente te ajuda! 😊
Abraço da Sensei: Variáveis de ambiente são simples quando você entende o porquê. Segurança em primeiro lugar, sempre!