Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Обновление

Документация / С чего начать / Обновление

Поддержка вашего Cotonti в актуальном состоянии, обновление с предыдущих версий и других систем

Перевод на русский: birdy_owl

Эта инструкция поможет вам выполнить необходимые действия, чтобы обновить ваш сайт на Cotonti. Есть основание предположить, что у вас имеется некоторый опыт в работе с веб-сайтами и использовании популярных инструментов, например phpMyAdmin, FTP и т. д.

Хорошо, если у вас есть привычка делать резервные копии сайтов и баз данных перед внесением крупных исправлений.

#1. Проведение обновлений Cotonti Siena

Большинство обновлений ветви Siena (0.9.x) автоматизированы. Если у вас есть сайт на Siena, ядро, модули или плагины которого вы хотите обновить, выполните следующие действия:

  1. Скопируйте обновленные файлы в дерево сайта. Замените имеющиеся файлы на обновленные.

  2. Если вы удалили файл install.php из корневой папки после предыдущей установки/обновления, восстановите его сейчас. Если вы обновляете весь пакет Cotonti, а не отдельный модуль/плагин, сделайте файл datas/config.php доступным для записи для PHP (обычно подразумевается установка на него CHMOD 666 или CHMOD 664).

  3. Запустите скрипт установки в окне браузера, например http://example.com/install.php

  4. Скрипт автоматически объединит изменения в файле config.php, проверит наличие патчей SQL и обновит их, проверит на наличие обновлений для всех установленных модулей и плагинов и применит доступные. Если произойдет ошибка, она будет отображаться на красном фоне. Журнал обновлений без ошибок отображается на зеленом фоне. Если при обновлении происходят ошибки, обратитесь к поддержке на форумах.

  5. После успешного завершения обновления можно удалить install.php до следующего обновления и запретить доступ к записи в datas/config.php (CHMOD 644).

Примечание для разработчиков расширений: скрипт обновления отслеживает изменения в плагинах и модулях, сравнивая номер их версии с номером версии в базе данных. Он не сверяет существующие файлы и не ищет патчи. Так что после обновления установочного файла расширения (конфигурация, права по умолчанию и т. д.), внесения изменений в хуки или части расширения, добавления патчей для PHP или SQL не забудьте изменить номер версии в установочном файле расширения, чтобы скрипт обновления идентифицировал его как подлежащий обработке.

#2. Обновление с Cotonti Genoa

Сайт на Genoa можно обновить до Siena. Конфигурация и база данных будут преобразованы автоматически. То же самое произойдет с обновляемыми до Siena модулями и плагинами. Устаревшие плагины Genoa и Seditio после обновления будут отключены, так как они потребуют портирования на Siena или подключения специального плагина совместимости.

Выполните следующие действия для обновления сайта:

  1. Создайте резервные копии файлов и базы данных сайта. Это настоятельно рекомендуется. Если что-то пойдет не так, вы сможете восстановить сайт из резервной копии.

  2. Скопируйте файлы Siena и вставьте поверх дерева файлов Genoa. Перезапишите старые файлы.

  3. Сделайте файл datas/config.php доступным для записи для PHP (Обычно подразумевается установка на него CHMOD 666 или CHMOD 664).

  4. Запустите скрипт установки в окне браузера, например http://example.com/install.php

  5. После этого сайт будет переведен на Siena. Это может занять некоторое время в зависимости от объема данных на вашем сайте. Если произойдет ошибка, она будет отображаться на красном фоне. Журнал обновлений без ошибок отображается на зеленом фоне. Если при обновлении происходят ошибки, обратитесь к поддержке на форумах.

  6. После успешного завершения обновления можно удалить install.php до следующего обновления и запретить доступ к записи в datas/config.php (CHMOD 644).

Тема вашего сайта переключится на Nemesis — тема для разработчиков/резервная тема Siena. Это происходит из-за того, что скины теперь называются темами, они располагаются в другой папке, и вам потребуется трансформировать скин Genoa в тему Siena для использования на сайте.

Плагины, не перенесенные в Siena после обновления будут отключены. Затем, если плагин переносится на Siena, вы сможете обновить его файлы и снова установить его в разделе Администрирование => Расширения. Если работа вашего сайта сильно зависит от плагинов Genoa, можно включить частичную обратную совместимость, установив плагин Genoa в разделе Администрирование => Расширения. После этого можно будет устанавливать и запускать плагины для Genoa. Их правильная работа не гарантируется, однако Cotonti сделает все возможное для предоставления им прежнего интерфейса. Результатом этого является снижение производительности, поэтому это решение следует использовать только как временную меру, пока все необходимые плагины не будут перенесены на Siena.

Вопрос о переносе скинов и плагинов Genoa на Siena не рассматривается в данном руководстве — обратитесь к соответствующим статьям.

#2.1. Обновление с Seditio

Обновление Seditio до Cotonti Genoa требуется, если вы хотите обновить сайт на Seditio до последней версии Cotonti. Обновить Seditio до Cotonti Genoa можно следующим образом:

  1. Во-первых, убедитесь, что ваш сайт на Seditio использует версии 126 или 130, обновление с более старых версий не поддерживается.

  2. Затем убедитесь, что база данных Seditio переведена в кодировку UTF-8. Обратитесь к документации на Seditio или поиску в Интернете, если вам нужна помощь на этом шаге.

  3. Распакуйте файлы последней версии Cotonti Genoa и замените файлы Seditio на них.

  4. Откройте phpMyAdmin и примените патчи SQL в папке sql в следующем порядке:

    • patch-125-n-0.0.1.sql

    • patch-0.0.1-0.0.2.sql

    • patch-0.0.2-0.0.3.sql

    • patch-0.0.3-0.0.4.sql

    • и так далее по возрастанию номеров версий в патче-A.B.C-D.E.F.sql

  1. Скопируйте sql/patch-0.6.txt в patch.php в корневой каталог сайта. Запустите в окне браузера, например http://example.com/patch.php. Затем удалите файл patch.php.

  2. Откройте файлы datas/config-sample.php и datas/config.php, объедините необходимые изменения из config-sample.php в config.php.

После обновления сайта до Genoa и тестирования, вы сможете обновить его до Siena, как указано в предыдущем разделе.



1. Eugene  28.01.2012 23:15

Thanks: 0

в части Genoa-Siena пункт 5 не совпадает с англ.версией. Лично у меня при обновлении с  Genoa 0.6.2 -> Siena 0.9.7(testing) скрипт не спрашивал о парсинге.

Сразу после апгрейда шикарно законвертил форумы и страницы в HTML.

Благодарность за удобный инструмент!

2. Dayver  05.04.2012 09:17

Thanks: 0

Документ не раскрывает вопроса как нужно обновлять - поетапно:

Если например установлена Siena 093 то нужно поочереди обновлять до 094 потом 095 и так далее до последней

или

Если например установлена Genoa 0.6.18 то нужно обновить до 0.6.19 потом 0.6.20 и аж до последней генуи а потом с нее на последнюю сиену?

 

Или же инструмент обновит с любой текущей версии движка до послелней сиены (или генуи в зависимости от требуемого конечного результата)????

3. Trustmaster  08.04.2012 17:53

Thanks: 0

С Genoa на Siena этапы описаны подробно, читайте внимательнее. В ветке Siena происходит обновление с любой версии на последнюю.

4. Oughtem  22.06.2012 17:36

Thanks: 0

фраза "скрипт.... проверит на наличие обновлений для всех установленных модулей и плагинов и применит доступные." не понятна. Имеются ввиду стандартные плагины и расширения?

5. Trustmaster  22.06.2012 18:34

Thanks: 0

Все установленные. Проверит, имеются ли патчи на диске, а не на сайте-источнике.

6. CrazyFreeMan  16.01.2015 21:54

Thanks: 0

"Если вы удалили файл install.php из корневой папки после предыдущей установки/обновления, восстановите его сейчас. "

Пункт не понятный, если у меня версия к примеру 9.16 файл я удалил инстал, теперь хочу обновится до 9.17 то мне нужно взять файл инстал с старой версии и его запустить? и после обновитсядо 9.18 нужно взять файл инстал от 9.17 ?

7. Dayver  17.01.2015 00:02

Thanks: 1

Нет, со старой ничего брать не нужно. Этот пункт как дополнение-уточнение к первому, тоесть имелось ввиду что если вы, например, имеете сайт на 0.9.16 и допустим используете не все 28 плагинов которые шли в коробке с двигом, а только к примеру 10, а остальные 18 не просто выключены в админке а и удалены с фтп физически, соответвенно при обновлении например до 0.9.17 или например сразу к 0.9.18 (минуя 0.9.17 - ведь можно и так) вы конечно можете тупо залить все файлы из архива 0.9.18 поверх старых, но ведь зачем заливать\обновлять например те 18 плагинов которые вы не использовали в предыдущей версии и естественно не нужны в новой потому логичнее из архива новой версии вы будете заливать поверх старых только 10 плагинов. Но с файлом install.php (и папкой setup - которую я так же как и install.php тоже сразу удаляю с сервера после установки\обновления двига) не так. Если во время установки 0.9.16 вы этот файл не удалили (а его стоит удалять) то при обновлении до 0..9.18 вы его должны перезалить новым из архива новой версии, а если удалили тогда всеравно взять и залить из архива с новой версией ибо он нужен будет для процеса обновления. Обновление провели и сразу удалили файл install.php (и папку setup - я так делаю) ибо они уже не нужны, а когда в следующий раз будете обновлятся то возмете их из новой версии. Может немного сумбурно но постарался пояснить детально что и почему, если всеравно вопросы возникнут - задавайте на форуме.

8. Dave  26.08.2017 14:04

Thanks: 0

help...

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection refused' in /home/dave69/www/system/database.php on line 79( ! ) PDOException: SQLSTATE[HY000] [2002] Connection refused in /home/dave69/www/system/database.php on line 79Call Stack#TimeMemoryFunctionLocation10.0005260920{main}( )../install.php:020.01681834352CotDB->__construct( )../install.php:10830.01681834816__construct ( )../database.php:79

Всего: 8, на странице: 8

Добавление комментариев доступно только зарегистрированным пользователям