====== Установка проекта на базе LIMB 2.x ======
===== Системные требования =====
**Операционная система** : любая
**Веб-сервер** : Apache 1.3+ с модулем mod_rewrite для читабельных url
**Язык** : PHP 4.2+
**База данных** : MySQL 4.0+ (LIMB работает на 3.23+ с поддержкой InnoDB таблиц, однако возможности поиска требуют версии 4.0+).
===== Что нам потребуется =====
Для создания проектов нам потребуется как минимум 2 архива - сам LIMB и пустой проект empty-project. Для каждого релиза LIMB-а, связанного со значительными изменениями, выпускается своя версия empty-project. Если изменения небольшие и выпуска очередного empty-project на sf.net нет, значит можно использовать empty-project для ближайшего релиза. empty-project содержит самые базовые настройки, дамп. Фронтальной части в empty-project нет.
Для пробы возможностей LIMB можно также скачать демо-проект (LIMB качать нужно в любом случае). Демка - это проект, в котором есть достаточно продвинутая фронтальная часть. Ее рекомендуется посмотреть всем, кто хочет использовать LIMB для своих проектов в будущем или хочет сравнить LIMB с другими системами.
===== Закачка и распаковка =====
Скачайте последний релиз LIMB 2.x и empty-project с [[http://sourceforge.net/project/showfiles.php?group_id=109345|Sourceforge.net]].
Распакуйте эти архивы в //различные// папки. Назовем папку с LIMB LIMB_DIR, а папку с empty-project как PROJECT_DIR.
===== Настройка базы данных =====
Создайте в MySQL новую базу данных для проекта. После этого можно закачать дамп файла с начальным состоянием проекта. Дамп можно найти в **PROJECT_DIR/init/init_ru.sql** (или init_en.sql если проект будет иметь английский язык в качестве основного). На сегодняшний момент поддерживаются дампы только для русского и английского языков.
Если у вас есть желание запускать модульные тесты (функциональных в LIMB 2.x нет), то необходимо будет создать еще одну базу данных и слить в нее дамп из **PROJECT_DIR/init/init_tests.sql**
Обычно мы называем базу данных для тестов также как и основная база, только с суффиксом -tests. Какая именно база данных будет использоваться, настраивается в файле **PROJECT_DIR/tests/setup.php** или, что более правильно, в **PROJECT_DIR/tests/setup.override.php**
===== Настройка веб-сервера Apache =====
Сначала настроим виртуальный хост для проекта:
#project settings
DocumentRoot PROJECT_DIR
ServerName your_project_name
ErrorLog logs/your_project_name_dev-error.log
CustomLog logs/your_project_name_dev-access.log common
Alias /shared LIMB_DIR/shared/
//Если у вас нет прав на изменение файла httpd.conf, то можете просто скопировать **LIMB_DIR/shared** папку в **PROJECT_DIR/shared**//
Также для нормальной работы LIMB необходим модуль Apache mod_rewrite, который позволяет использовать более читабельные url пути. В каждом проекте LIMB расположен файл **.htaccess** с пользовательскими настройками Apache примерно со следующим содержанием:
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/shared/.*
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php [L,QSA]
Суть этого кода сводится к тому, чтобы все запросы проходили через скрипт index.php. Следует также помнить о том, что для отработки файла .htaccess, требуется опция Apache **AllowOverride All** для директории с проектом.
===== Настройка проекта =====
Допустим, что предыдущие шаги были выполнены верно. Теперь настало время для настройки проекта на базе LIMB. Найдите файл **PROJECT_DIR/setup.override.php** и переопределите необходимые контанты. Если такого файла нет, то его можно создать из прототипа PROJECT_DIR/setup.override.php-example.
Значения некоторых констант.
* PROJECT_DIR - путь до вашего проекта. В принципе, можно не определять, так как с LIMB 2.3+ эта константа настраивается автоматически.
* LIMB_DIR - путь до LIMB CMF.
* DB_HOST - хост или IP сервера базы данных.
* DB_LOGIN - логин к базе данных
* DB_PASSWORD - пароль
* DB_NAME - имя базы данных с проектом
* DEVELOPER_EMAIL - адрес почты разработчика. LIMB будет отсылать сообщения об ошибках на этот адрес, что иногда бывает полезным.
* ADMINISTRATOR_EMAIL - адрес администратора сайта. Значение по умолчанию для многих модулей, которые занимаются рассылкой.
Возможно, что в этом файле будут еще какие-либо опции. Читайте комментарии и многое будет понятно.
Далее необходимо установить права на записать для каталога **PROJECT_DIR/var**. Суть в том, чтобы ваш веб-сервер мог писать в эту папку. В этой папке хранятся логи, медиа-файлы, кеши, откомпилированные шаблоны и т.д.
===== Настройка тестовой среды =====
SimpleTest больше не поставляется в составе Limb 2.3+. Для того, чтобы запустить тесты, необходимо будет сказать и настроить SimpleTest самостоятельно:
* Скачайте последнуюю версию SimpleTest (1.0) с [[http://sourceforge.net/project/showfiles.php?group_id=76550&package_id=77475|SourceForge.net]]
* Распакуйте его в отдельную папку.
* В файле PROJECT_DIR/tests/setup.php необходимо установить путь до директории с SIMPLE_TEST (константа SimpleTest).
{{{limb:tests.thumbnail.gif.png }}} Для того, чтобы тесты работали, необходимо установить права за запись для папки **PROJECT_DIR/tests/var** для веб-сервера, в точности также, как это было сделано для **PROJECT_DIR/var**. Теперь можно набрать в браузере "http://you-project-name/tests" и запустить все тесты на выполнение. Если вы получили зеленую полоску - значит все ОК и можно начинать разрабатывать свое приложение при помощи LIMB 2.x
===== Это все! =====
Этого должно быть достаточно. Если вы сделали все правильно, то проект должен работать. Помните, что в empty-project нет фронтальной части, так что не удивляйтесь если увидите что-то вроди "Main page" и все.