Compartilhe uma instalação do Kohana entre sites
Pergunta
Olá a todos, sou novo em Kohana e tenho uma pergunta rápida.
Eu tenho um site onde haverá três subseções, organizadas por subdomínio (ou seja,admin.site.com, community.site.com, www.site.com), mas cada uma das subseções será extraída do mesmo banco de dados, portanto, deverá compartilhar os mesmos modelos.Existe uma maneira de organizá-lo para que eu possa usar os mesmos arquivos de modelo/sistema/módulo Kohana para cada um dos subdomínios, mas manter a pasta do aplicativo separada?Algo como:
/home/user/admin/
application/
bootstrap.php
cache/
...
index.php
/home/user/community/
application/
bootstrap.php
cache/
...
index.php
/home/user/public_html/
application/
bootstrap.php
cache/
...
index.php
/home/user/kohana/
modules/
...
models/
...
system/
Dessa forma, posso manter o Kohana atualizado em três sites com apenas uma atualização, além de poder usar os mesmos módulos e classes de modelo.Existe alguma maneira de fazer isso acontecer?Ou há algum outro método que eu deveria usar?
Obrigado!
Solução
Eu descobri como fazer isso, então pensei em responder caso alguém precise saber.
Eu mudei meu system
e modules
pastas fora do webroot (para /home/user/kohana/
) e criei uma pasta lá chamada sites
.Então criei três pastas separadas em /home/user/kohana/sites/
para cada um dos meus três subdomínios (admin
, community
, e www
).Copiei o conteúdo do application
pasta para cada uma dessas pastas e copiei o index.php
e .htaccess
arquivos para os webroots de cada subdomínio.
Em cada um dos index.php
arquivos, no topo, adicionei:
$install_dir = '../kohana/';
e editei as seguintes variáveis de diretório para incluir o novo caminho:
...
$application = $install_dir.'sites/admin';
...
$modules = $install_dir.'modules';
...
$system = $install_dir.'system';
E funcionou!Eu me sinto meio estúpido por não perceber como era fácil mover os diretórios.Espero que minha explicação seja coerente e ajude alguém no futuro.