Multiplos sites em laravel em servidor compartilhado

799 views
Skip to first unread message

José Daniel Guerreiro

unread,
Oct 20, 2015, 7:37:16 PM10/20/15
to Laravel Brasil
Boa noite,

Sou bem iniciante em Laravel, e estou tendo um problema que não sei por onde tento resolver.

Montei dois sites em laravel 5.1, e eles serão hospedados no mesmo servidor (ubuntu/apache2), um dos sites ficará no www2 e o outro no www3 (subdomínios que apontam para pastas diferentes).

Ambos já funcionam em localhost em pastas diferentes (windows/apache2), mas ao fazer o upload dos sites acabou acontecendo que, mesmo estando em subdomínios diferentes, parece que eles se misturam.

O www2 funciona perfeitamente, mas o www3, apesar de receber o apontamento certinho ( o __dir__ é www3 pois consigo verificar no index.php do public), acaba, em seguida. indo para o www2, desconsiderando totalmente o laravel que fica no www3, e usa o env e rotas e tudo o mais do www2.

Alguém já teve esse tipo de problema? Estou fazendo algo errado ou necessita mesmo de alguma gambiarra para montar o laravel num servidor compartilhado?

Abraços

Daniel


Clodoaldo Bragato Lopes

unread,
Oct 20, 2015, 9:43:19 PM10/20/15
to Laravel Brasil
Cara boa noite,

Tenha em mente que o que você está fazendo não tem relação com sub-dominios, na verdade você está tratando de hosts. Essa configuração é feita sob o apache eu faço isso com frequência e sempre funciona perfeitamente. Voce deve ver como está a confiuguração do seu apache na pasta /etc/apache2/sites-availables. Eu costumo criar um arquivo de configuração para cada host. após isso é só rodar o a2ensite para cada arquivo criado e o host começa a responder para o endereco configurado


Outra coisa importante é que o diretório de cada site deve ser estanque ou seja

/var/www/www2  para www2.dominio.com.br e /var/www/www3 para www3.dominio.com.br.
 
Espero ter ajudado

José Daniel Guerreiro

unread,
Oct 20, 2015, 9:51:13 PM10/20/15
to Laravel Brasil
Obrigado pela atenção Clodoaldo,

Esta parte dos hosts eu acho que está ok, ela foi feita por outra pessoa, mas tanto o www2 como o www3 respondem em pastas diferentes e estanques.

O meu problema é que no index.php, do public do www3, após o laravel instanciar o $Kernel, o basepath é setado para o www2 ([basePath:protected] => /var/www/html/www2).

Gostaria de entender o que está levando o Laravel a setar o basepath do www3 para www2, enquanto que o __dir__ está certinho como www2.

Abraços

Daniel

José Daniel Guerreiro

unread,
Oct 20, 2015, 9:52:16 PM10/20/15
to Laravel Brasil
Apenas corrigindo onde falo que o __dir__ está como www2, na verdade queria dizer que está certinho como www3.

Clodoaldo Bragato Lopes

unread,
Oct 20, 2015, 9:58:03 PM10/20/15
to Laravel Brasil

Quando você criou o segundo site, você simplesmente copiou o diretório ou usou o laravel new projeto?

Se você só copiou pode ser o motivo de você estar passando por este problema. Quando eu crio um novo site, mesmo que eu vá reaproveitar algo eu uso o laravel new projeto e usando a IDE copio apenas aquilo que eu implemententei: Controllers, Views, Models, Middlewares, assets, etc, etc, etc.

Acredito que ao criar do zero ele aproveite para criar referencias internas, que acredito que possam até ser modificadas, embora não devessem.

Tente rodar composer update no segundo site para ver se ele aponta algum erro e até corrige as referencias.


Em terça-feira, 20 de outubro de 2015 21:37:16 UTC-2, José Daniel Guerreiro escreveu:

José Daniel Guerreiro

unread,
Oct 20, 2015, 10:14:55 PM10/20/15
to Laravel Brasil
Sim, você tem razão.

O segundo site é praticamente igual ao primeiro... por isso eu o copiei.

Já tinha tentado o composer update sem sucesso... estou pensando seriamente em criar um novo projeto e o montar novamente, acho que talvez seja a melhor solução, apesar de que vai levar bastante tempo.

Clodoaldo, mais uma vez, muito obrigado pela atenção !

Abraços

Daniel

José Daniel Guerreiro

unread,
Oct 20, 2015, 11:11:23 PM10/20/15
to Laravel Brasil
Infelizmente não resolveu.

iniciei uma aplicação do zero, apenas copiei os controllers, views, rotas e etc... e o problema persiste.

Será que existe alguma chave, ou outra coisa que identifique uma aplicação laravel e esteja fazendo esta confusão?

Isso ocorre apenas na produção, pois em localhost tenho vários sites laravel e eles não conflitam.

Bom... não sei.

Abraços

Daniel

Clodoaldo Bragato Lopes

unread,
Oct 21, 2015, 8:20:47 AM10/21/15
to Laravel Brasil
Cara posta as configurações de host do apache, ainda acho que o problema está lá

Daniel Schmitz

unread,
Oct 21, 2015, 10:43:50 AM10/21/15
to laravel-brasil
faz um search in files no laravel do ww3 buscando por www2, veja se aparece algo 

--
Você recebeu essa mensagem porque está inscrito no grupo "Laravel Brasil" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para laravel-brasi...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

José Daniel Guerreiro

unread,
Nov 7, 2015, 7:30:15 PM11/7/15
to Laravel Brasil
Pessoal, boa noite.

Acabei resolvendo o problema.

Realmente sou iniciante em Laravel, e fico até com vergonha de falar, mas como pode ser que venha a ajudar mais algum desaviado, como eu, aqui vai.

Ambos os projetos (o www3 e o www4) possuíam o mesmo nome, assim, setei capa site com um nome diferente (php artisan app:name ), e pronto, a confusão toda acabou.

Agradeço muito a atenção de vocês.

Abraços

Daniel
Reply all
Reply to author
Forward
0 new messages