Обновление Evo

    Процесс обновления Evo состоит из почти тех же самых шагов, что и процесс установки. Но с одним серьезным исключением. А именно, при обновлении вы не удаляете и не перезаписываете конфигурационный файл config.inc.php на вашем сервере. Эти шаги следующие:

    1. Если вы изменили какие-либо сниппеты или плагины, поставляемые по умолчанию, то либо заранее их переименуйте, либо, когда в процессе работы мастера установки вы доберетесь до шага, на котором вас спросят, какие сниппеты и плагины установить, отключите соответствующие им флажки. Дело в том, что в процессе обновления все сниппеты, поставляемые по умолчанию, перезаписываются, чтобы гарантировать наличие у вас их последних версий. Поэтому, если вы внесли какие-то изменения в любой из сниппетов, поставляемых вместе с ядром Evo, и не хотите, чтобы в процессе обновления произошла его перезапись, то рекомендуется сохранить этот сниппет под другим именем.

    2. Сделайте резервную копию вашего сайта. Для этого скачайте все файлы с сервера на ваш компьютер с помощью FTP-клиента, а затем с помощью утилиты phpMyAdmin (или любой другой утилиты для работы с базами данных) создайте дамп всей базы данных, используемой вашим сайтом, и тоже сохраните его на вашем компьютере.

    3. Убедитесь, что вы все сохранили в резервной копии! Да-да, серьезно!

    4. Скачайте и распакуйте zip-архив с новой версией Evo.

    5. Загрузите содержимое папки, которую вы распаковали из архива, на сервер. При этом все старые файлы следует просто перезаписать. Вообще-то, архив с дистрибутивом Evo не должен содержать конфигурационный файл config.inc.php в папке /manager/includes/, поэтому он не должен перезаписаться. Однако все-таки не будет лишним перед загрузкой файлов на сервер проверить, что конфигурационного файла в дистрибутиве нет, а также убедиться, что вы сохранили ваш текущий конфигурационный файл config.inc.php в резервной копии (вы же не забыли создать резервную копию, да?).

    6. Теперь запустите ваш веб-браузер и загрузите в нем скрипт index.php, находящийся в папке /install/.

    7. Следуйте шагам мастера установки. На этот раз, сразу же после принятия лицензионного соглашения следует выбрать опцию Обновить.

      Замечание: Если ваша версия MySQL более старая, чем 4.1, выберите опцию Расширенное Обновление и установите кодировку, используемую при соединении, как cp1251_koi8, так как в версиях MySQL до 4.1 единственное разрешенное значение настройки charset_name – это cp1251_koi8. Хотя, вообще говоря, добавить новую кодировку можно посредством редактирования файла sql/convert.cc в исходном коде MySQL, так что использование других кодировок тоже возможно.
    8. Если вы удалили ваши старые файлы вместо того, чтобы их перезаписать, вам может понадобиться изменить права доступа к файлам и папкам, указанным в руководстве по установке, чтобы разрешить к ним для сервера доступ для записи, однако, если в этом возникнет необходимость, мастер установки вам об этом сообщит.

    9. На соответствующем шаге мастера установки не забудьте отключить флажки для тех ресурсов, которые вы изменили, если вы их не переименовали заранее.

    10. Как только вы доберетесь до шага мастера установки, где находится флажок, предлагающий удалить папку /install/, убедитесь, что этот флажок включен (это предотвратит повторный запуск процесса установки или обновления кем-нибудь другим, что может причинить ущерб вашему сайту).

    11. После того, как вы завершили работу мастера установки, снова зайдите на ваш сервер через FTP и проверьте, что папка /install/ удалена. Если это не так, удалите ее вручную.

    12. Ну и наконец, восстановите доступ только для чтения у вашего конфигурационного файла config.inc.php в папке /manager/includes/. Если вы заранее записали значение прав доступа, установите его, или же попробуйте установить значение 444. Это реально важно, так как это поможет защитить ваш сайт от взлома.

    13. Завершите работу мастера обновления.

    14. Как только у вас все снова будет работать, зайдите в админку Evo и подправьте имена ваших плагинов и сниппетов, если вы там что-то меняли на шаге 1.

    15. Теперь все сделано. Вы только что обновили Evo.

    Альтернативный способ

    При загрузке новой версии Evo поверх старой у вас могут остаться старые файлы, которые больше не используются. Каждый из членов команды разработки Evo предпочитает свой способ обновления, какой ему нравится, но здесь будет приведен способ с минимальным временем недоступности сайта:

    1. Скачайте все файлы с вашего сайта.

    2. Создайте резервную копию вашей базы данных.

    3. Вообще, создайте резервную копию старой версии вашего сайта, чтобы потом в случае необходимости ее можно было восстановить.

    4. Создайте новую локальную папку и назовите ее, допустим, EvoNew (или как вам больше нравится).

    5. Извлеките файлы новой версии Evo в эту папку.

    6. Из созданной вами резервной копии скопируйте конфигурационный файл config.inc.php в папку /manager/includes/.

    7. Скопируйте все сниппеты, модули, плагины и прочие подобные компоненты, которые вам нужны или которые вы изменили, в соответствующие части папки EvoNew.

    8. Скопируйте все изображения, файлы css, файлы шаблонов, документы и тому подобное в соответствующие части папки EvoNew.

    9. Переименуйте новые папки и файлы в index.php-new, /manager-new/ и /assets-new/. Папку /install/ НЕ переименовывайте. Загрузите на сервер эти папки (в том числе папку /install/) и файл index.php-new. Это займет определенное время.

    10. Теперь переименуйте уже существующие на вашем сайте файлы и папки в index.php-old, /manager-old/ и /assets-old/.

    11. Начиная с этого момента, ваш сайт не работает.

    12. Переименуйте новые папки и файлы в index.php, /manager/ и /assets/.

    13. Запустите из вашего браузера скрипт yoursite.com/install, после чего выберите опцию Обновить. Подробности смотрите в руководстве по установке.

      Замечание: Если ваша версия MySQL более старая, чем 4.1, выберите опцию Расширенное Обновление и установите кодировку, используемую при соединении, как cp1251_koi8, так как в версиях MySQL до 4.1 единственное разрешенное значение настройки charset_name – это cp1251_koi8. Хотя, вообще говоря, добавить новую кодировку можно посредством редактирования файла sql/convert.cc в исходном коде MySQL, так что использование других кодировок тоже возможно.
    14. Начиная с этого момента, ваш сайт должен снова работать. Если же он не работает, переименуйте папки обратно!

    15. Если вы все сделали правильно, теперь можно удалить все папки с -old.

    16. Вам также следует сделать локальную резервную копию старой версии сайта и локальную резервную копию новой версии сайта.