Поделиться установкой Kohana между сайтами - PullRequest
3 голосов
/ 27 октября 2010

Привет всем, новенький в Kohana, и у меня есть быстрый вопрос.

У меня есть сайт, где будет три подраздела, организованных по поддомену (то есть admin.site.com, community.site.com, www.site.com), но каждый из подразделов будет извлекать данные из одной базы данных, поэтому следует использовать одни и те же модели.Есть ли способ организовать его так, чтобы я мог использовать одни и те же файлы модели / системы / модуля Kohana для каждого из поддоменов, но держать папку приложения отдельно?Примерно так:

/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/

Таким образом, я могу поддерживать Kohana в актуальном состоянии на трех сайтах с помощью только одного обновления, плюс я могу использовать те же модули и классы моделей.Есть ли способ, которым я могу это сделать?Или есть какой-то другой метод, который я должен использовать?

Спасибо!

1 Ответ

6 голосов
/ 27 октября 2010

Я понял, как это сделать, поэтому подумал, что отвечу, если кому-то еще понадобится об этом знать.

Я переместил свои папки system и modules из webroot (в /home/user/kohana/) и создал там папку с именем sites.Затем я создал три отдельные папки в /home/user/kohana/sites/ для каждого из моих трех поддоменов (admin, community и www).Я скопировал содержимое папки application в каждую из этих папок, а затем скопировал файлы index.php и .htaccess в руткиты для каждого субдомена.

В каждом из файлов index.php наВверху я добавил:

$install_dir = '../kohana/';

и отредактировал следующие переменные каталога, добавив новый путь:

...
$application = $install_dir.'sites/admin';
...
$modules = $install_dir.'modules';
...
$system = $install_dir.'system';

И это сработало!Я чувствую себя глупо из-за того, что не понимаю, как легко было перемещать каталоги.Надеюсь, мои объяснения последовательны и помогут кому-то еще в будущем.

...