====== Установка проекта на базе 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" и все.