CakePHP: Manual/Developing/Installation

Установка

Установка CakePHP может быть и сногсшибательно проста, как простое копирование в вашу корневую директорию на веб-сервере, так и максимально гибка и настраиваема, как вы пожелаете. В этом разделе мы охватим три варианта установки Cake: для программиста, для одного сайта и расширенную установку.

Установка для программиста

Просто поместите распакованный архив с CakePHP внутрь вашей корневой директории (webroot). Например, если для вебсервера является корнем путь /var/www/html, то файлы Cake должны располагаться таким образом:

Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com/cake/.

Установка для работы одного сайта

Чтобы установить CakePHP таким образом — вам необходимо иметь права на изменение корневой веб-директории вашего сервера. Эти изменения приведут к тому что весь ваш сайт будет работать как единое CakePHP приложение.

При такой установке используется следующая схема расположения файлов:

Если ваше приложение устанавливается на сервере Apache, то директиву DocumentRoot необходимо установить следующим образом:

DocumentRoot /path_to_cake_install/app/webroot

Чтобы увидеть как работает Cake, наберите в браузере http://www.example.com.

Расширенная установка

Может возникнуть ситуация, когда вам будет необходимо установить части CakePHP в разные директории, или даже на разные диски в системе. Это может быть связано с ограничениями хостинга или с тем, что вы хотите заставить работать несколько сайтов с одним ядром Cake.

Для начала вам необходимо узнать, что существуют три независимые части CakePHP:

Каждая из этих директорий может быть расположена в любом месте системы, за исключением webroot, которая обязательно должна быть доступна с точки зрения директивы Document Root. Можно вынести папку webroot за пределы папки app, вы потом расскажете системе где искать ее части.

Чтобы указать системе где хранятся ее части — надо немного изменить файл /app/webroot/index.php. Есть три константы, значения которых нужно поменять: ROOT, APP_DIR и CAKE_CORE_INCLUDE_PATH.

Давайте проверим вышеописанное на примере. Предположим, я захотел установить CakePHP следующим образом:

Учитывая все мои пожелания необходимо изменить файл webroot/index.php (который в примере расположен в /var/www/mysite/index.php) следующим образом:

if (!defined('ROOT')) {

    define('ROOT', DS.'home'.DS.'me');

}

 

if (!defined('APP_DIR')) {

    define ('APP_DIR', 'mysite');

}

 

if (!defined('CAKE_CORE_INCLUDE_PATH')) {

    define('CAKE_CORE_INCLUDE_PATH', DS.'usr'.DS.'lib'.DS.'cake');

}

/app/webroot/index.php (частично, с удаленными комментариями)

Рекомендуется использовать константу DS вместо косой черты (/) для разделения директорий. За счет этого у вас не возникнет проблем при переносе кода с одной операционной системы на другую.

Дополнительные пути

Если вам необходимо разделить части MVC архитектуры между несколькими приложениями на CakePHP, то вы можете в файле bootstrap.php указать пути, по которым следует искать ваши Модели, Контроллеры или Отображения, а так же помогающие им Поведения, Компоненты и Помощники.

Вот несколько переменных, которые можно определить в файле bootstrap.php для выполнения этой задачи:

$viewPaths        = array();

$controllerPaths  = array();

$modelPaths       = array();

$helperPaths      = array();

$componentPaths   = array();

$behaviorPaths    = array();

Элементами массива могут быть так же полные пути в файловой системе. Не забудьте поставить слеш в конце каждого пути.

Apache и mod_rewrite

Хотя CakePHP и настроен изначально таким образом чтобы работать сразу с mod_rewrite — мы заметили что у некоторых пользователей не выходит получить красивые URL-адреса, и они ведут непримиримую борьбу с настройками. Вот несколько советов, которые помогут заставить работать все так, как вам бы того хотелось:

Внимание, Огонь!

Хорошо, давайте посмотрим на CakePHP в действии. В зависимости от вашей установки наберите в браузере http://example.com/ или http://example.com/cake_install/. На текущий момент перед вами предстанет страница домашняя страница CakePHP с информацией о настройке базы данных и кеширования.

Поздравляем! Теперь вы готовы к созданию первого приложения на CakePHP!

<< Подготовка к установке | Настройка >>