Configurando Laravel no cPanel com Subdomínio

Guia passo a passo para configurar o Laravel com storage links em subdomínios cPanel

1. Entendendo a estrutura

No seu caso, você tem uma configuração específica:

Importante: No Laravel padrão, os arquivos públicos ficam na pasta public dentro do projeto. No seu caso, você está usando um subdomínio separado para os arquivos públicos.

2. Problema com o Storage Link

Quando você executa php artisan storage:link, o Laravel tenta criar um link simbólico na pasta public do projeto, mas você precisa que este link seja criado no document root do subdomínio.

O erro encontrado:

php artisan storage:link
# O comando executa, mas os arquivos não aparecem no subdomínio

3. Solução: Criar o link manualmente

Siga estes passos para criar o link simbólico manualmente:

Passo 1: Verifique os caminhos

cd /home/conexaoweb/app.conexaowebangola.com/
pwd

Isso confirmará o caminho completo para o document root do subdomínio.

Passo 2: Crie o link simbólico manualmente

ln -s /home/conexaoweb/sigp/storage/app/public /home/conexaoweb/app.conexaowebangola.com/storage

Este comando cria um link da pasta de storage do Laravel para o document root do subdomínio.

Passo 3: Verifique se o link foi criado

ls -la /home/conexaoweb/app.conexaowebangola.com/

Você deve ver uma entrada como storage -> /home/conexaoweb/sigp/storage/app/public

Dica: Se precisar remover o link para recriá-lo, use: rm /home/conexaoweb/app.conexaowebangola.com/storage

4. Configurar o Laravel

Para que o Laravel reconheça corretamente a URL dos arquivos de storage, você precisa ajustar a configuração:

Edite o arquivo .env:

# Adicione ou modifique esta linha
APP_URL=https://app.conexaowebangola.com

Se necessário, ajuste config/filesystems.php:

'public' => [
    'driver' => 'local',
    'root' => storage_path('app/public'),
    'url' => env('APP_URL').'/storage',
    'visibility' => 'public',
],

5. Verificar permissões

Certifique-se de que as permissões estão corretas para que os arquivos possam ser acessados:

chmod -R 755 /home/conexaoweb/sigp/storage
chmod -R 755 /home/conexaoweb/app.conexaowebangola.com/storage
Nota sobre permissões: Dependendo da configuração do seu servidor, você pode precisar ajustar para 775 ou outro valor. Certifique-se de que o usuário do servidor web (geralmente apache ou nginx) tem permissão para ler e escrever nos diretórios.

6. Limpar cache do Laravel

Para garantir que todas as mudanças sejam aplicadas, limpe o cache do Laravel:

cd /home/conexaoweb/sigp/
php artisan config:clear
php artisan cache:clear
php artisan view:clear

7. Testar a configuração

Para testar se tudo está funcionando:

Crie um arquivo de teste na pasta storage:

echo "Teste de storage" > /home/conexaoweb/sigp/storage/app/public/teste.txt

Acesse pelo navegador:

https://app.conexaowebangola.com/storage/teste.txt

Se você conseguir ver o conteúdo do arquivo, significa que o link simbólico está funcionando corretamente.