====== Установка ====== ===== Создание проекта из шаблона ===== Существует несколько вариантов развертывания проекта, самый распространенный - это создание проекта из стандартного проекта в svn. * Перейти в каталог ''D:\Documents\Projects\PHP'' * Выполнить ''svn checkout http://path/to/repo/project'' * Перейти в папку проекта ''D:\Documents\Projects\PHP\'' * Создать в этой папке папку ''docs'' * Скопировать в папку docs файл ''create-from-template.sh'' ((Если вы хотите, чтобы проект работал без svn, запустите файл create-from-template-imports.sh)) из Eaze/trunk/docs/create-from-template.sh; * Запустить create-from-template.sh ( __для запуска необходим Cygwin__ ) c параметром mysql или pgsql; команда для запуска ''./create-from-template.sh pgsql'' (создаст проект для работы с базой PostgreSQL) Если возникла ошибка //"Сопоставление между именами пользователей и идентификаторами безопасности не было произведено"//, то необходимо в ручную выставить права для папок * cache * shared/temp * shared/files Для этих папок выставить права для пользователя: Everyone - RW ( чтение и запись ) – англ. Windows; Все - RW - русская Windows; После удачного запуска скрипта развертывания проекта, необходимо настроить файл settings.xml **Внести изменения в файл settings.xml в папке docs;** %sitename% - имя сайта; %project% - имя проекта ( писать с большой буквы ) %web_root% - путь к папке web проекта %db_name% - имя базы данных; %db_user% - имя пользователя бд %db_pass% - пароль %db_encode% - кодировка %db_root% - путь к папке bin СУБД %sender_name% - имя отправителя; %sender_email% - адрес отправителя; %mail_charset % - кодировка писем; * Запустить ''Eaze.PrepareProject.exe'' * Удалить в папке web/etc/locale ненужные файлы. Оставить ru.xml * Выполнить ''svn commit'' проекта * Выполнить ''svn update'' проекта * Перйти в каталог ''docs''; * Отредактировать, а затем запустить ''create-hosts.bat'' (если у вас не стандартная установка); * Отредактировать, а затем запустить ''rebuild-database.bat'' (если у вас не стандартная установка); ===== Развертывание системы на удаленной машине ===== На удаленной машине должен быть установлен rsync + ssh или rsyncd. ==== Развертывание проекта с нуля ==== - Запустить Cygwin - Определить, где будет располагаться папка Delpoy * cd D: * ls * mkdir Deploy - Перейти в каталог Deploy и взять проект из репозитория * cd Deploy * svn checkout http://path/to/repository/project - Перейти в папку с файлом Makefile * cd * ls - Совершить deploy * make sync deploy layout=devel * ==== Проблемы с выливкой ==== Иногда возникают проблемы с выливкой по rsync - после выливаний хосты ложатся на лопатки... Проблема заключается в правах у папки проекта в папке deploy. К примеру, если Вы хотите вылить вылить Switch: Administrator@nancy /cygdrive/d/www/deploy $ svn checkout http://svn.1adw.com/ifmo/Switch В итоге права на папку выглядят так: "drwxr-xr-x+" (все нормально). Если же сделать checkout через TortoiseSVN, то права будут такими: "d---------+" (все ужасно). === Решение №1 - правильное: === Чекаутить проекты в deploy через консоль. === Решение №2 - приемлимое: === Проставить правильные права. Administrator@nancy /cygdrive/d/www/deploy $ chmod -R 777 Switch/ === Решение №3 - для задротов: === - Открываем makefile в проекте - Ищем вызов команды "rsync -Cavuz -e " - Добавляем туда параметр "--chmod=ugo=rwX" - Коммитим файл.