Как правильно обновлять Moodle?

Как правильно обновлять Moodle?

от Вадим Лёвкин -
Количество ответов: 37
Прошу опытных пользователь поделиться опытом улыбаюсь

Как Вы обновляете Moodle? Как следует его обновлять правильно?

Текущая версия у меня: Moodle 2.9.1+
Есть доступ по FTP, все права.
В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Alexey Piguzov -

Инструкция

А так по фтп закидываю файлы из нового архива поверх старого с заменой файлов. Главное config.php сохранить предварительно.

В ответ на Alexey Piguzov

Re: Как правильно обновлять Moodle?

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

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

Правильно - удалить все файлы кроме config.php и залить файлы новой версии.

В ответ на Vadim Dvorovenko

Re: Как правильно обновлять Moodle?

от Вадим Лёвкин -

"Правильно - удалить все файлы кроме config.php и залить файлы новой версии".

Вадим, удалить все файлы, это включая moodledata и все папки из директории установки moodle? А как не удалить созданные курсы?

Для системы Moodle я создал отдельный поддомен на сайте. Означает ли Ваша рекомендация, что нужно удалить все папки из директории поддомена?

Могли бы Вы по пунктам написать список правильных действий?

В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Vadim Tabunshchik -
Изображение пользователя Developers

Другой Вадим ответит, ОК?

В moodledata удалять нельзя каталог filedir (тут хранятся все файлы курсов), остальное, в принципе можно удалять. Но лучше moodledata вообще не трогать, особенно, если не знаешь, чего делаешь. улыбаюсь

Перед обновлением нужно сделать резервные копии всех каталогов (директории установки moodle, moodledata) и бэкап БД. Вдруг обновление не получится или захочется всё вернуть назад.

Потом удаляете всё, кроме config.php, из каталога установки moodle и "заливаете" туда файлы новой версии. Естественно, нужно вернуть назад файлы нестандартных модулей/плагинов/др. (если были установлены), проверив предварительно наличие их новых версий в каталоге дополнений moodle.

Всё.

Какие папки, окромя относящихся к moodle, находятся в вашей "директории поддомена", мне неведомо, поэтому ничего по этому поводу не скажу.

В ответ на Vadim Tabunshchik

Re: Как правильно обновлять Moodle?

от Вадим Лёвкин -

Большущее спасибо за полный ответ!!! Я действительно пока мало что понимаю в moodle, но очень нравится! улыбаюсь

Обновился! улыбаюсь

А в директории поддомена находятся следующие папки:

cgi
docs
errordocs
logs
moodledata
php
stat

Вроде бы они все (кроме moodledata) были созданы автоматические при создании поддомена. Поэтому наверное их не надо удалять.

А директория установки - docs, в ней я разместил все папки и файлы из папки moodle, при разархивации скачанного обновления.

Вопрос на уточнение: бэкап БД делается через phpMyAdmin (командой экспорта) или как-то иначе следует это делать?

В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Alexey Piguzov -
Вопрос на уточнение: бэкап БД делается через phpMyAdmin (командой экспорта) или как-то иначе следует это делать?

Да это самый простой способ сделать бэкап БД. Экспорт-Обычные настройки, выделить все таблицы (они должны быть уже выделены) еще рекомендуют ставить галку "Добавить DROP..." После жмем ОК и указываем место сохранения.

В ответ на Vadim Tabunshchik

Re: Как правильно обновлять Moodle?

от Vladimir 1 -
уважаемые подскажите, а каков механизм обновления для "Moodle packages for Windows"?
т.е. портейбл версия Moodle на XAMPP
В ответ на Vladimir 1

Re: Как правильно обновлять Moodle?

от Vadim Tabunshchik -
Изображение пользователя Developers

Механизм обновления ничем не отличается от других установок, если установленная версия и новая используют одно и то же ПО сервера (PHP, MySQL). Т. е., можно беспроблемно в одном и том же пакете for Windows обновиться с 3.6 до 3.7 или 3.8. Может и с версии 3.5 получится такое обновление, не пробовал.

Если же нужно обновиться с более ранних версий, работающих на старых версиях софта PHP, MySQL, то тут нужно полностью менять весь пакет, а БД восстанавливать из бекапа. moodledata, естественно, нужно тоже сохранить.

Смотрите системные требования для разных версий Мудл (https://download.moodle.org/releases/latest/, https://download.moodle.org/releases/security/, https://download.moodle.org/releases/legacy/) и сравнивайте с тем, что в вашем установленном пакете. Поймете, на какую версию можно обновиться.

В ответ на Vadim Tabunshchik

Re: Как правильно обновлять Moodle?

от Vladimir 1 -
Вот что получилось с обновлением портейбл Moodle
Остановил Moodle и переименовал папку в Moodle.old
Распаковал новый портейбл пакет в папку Moodle
отправил в новую установку файл конфига и папку moodledata - сайт не работает, невозможно подключиться к базе
попытался mysqldump.exe сделать дамп с теми же реквизитами, что ранее делал на работающем сайте - невозможно подключиться к базе
Не было времени разбираться в итоге в старую установку Moodle сделал копирование всего из нового пакета
В ответ на Vladimir 1

Re: Как правильно обновлять Moodle?

от Vadim Tabunshchik -
Изображение пользователя Developers
Кто ж так делает?
Файлы базы данных \server\mysql\data\moodle\ остались в Moodle.old, ibdata1, ib_logfile* - там же. Вы никогда не подключились бы к mysql.
Если ПО сервера соответствует требованиям новой версии МУдл, нужно было всё, кроме config.php, удалить из \server\moodle\, распаковать туда файлы новой версии, запустить Start Moodle.exe, открыть сайт, зайти в уведомления. Всё.
В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Stanislav Nikolski -
Ставите в режим техобслуживания, делаете копию moodle, moodledata, дамп базы, а далее распаковываете ваш архив (заливаете распакованным ) заменяя папку moodle, а далее как при установке
В ответ на Stanislav Nikolski

Re: Как правильно обновлять Moodle?

от Вадим Лёвкин -

Спасибо за совет ставить в режим техобслуживания!

В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Alexander Matveyev -

Всем здравствуйте, хотел попросить совет. Можно ли и стоит ли обновлять moodle через версию, к примеру с 2.7.10 до 2.9.3? Или нужно постепенно? Или точного механизма нет?

В ответ на Alexander Matveyev

Re: Как правильно обновлять Moodle?

от Alexey Piguzov -
По уже приведенной выше ссылке сказано:
Note: You can only upgrade to Moodle 2.9 from Moodle 2.2 or later. If upgrading from earlier versions, you must upgrade to 2.2 as a first step.
Начиная с 2.2 можно, но наверное надежней по порядку, а еще надежней полный backup и можно пробовать.
В ответ на Alexander Matveyev

Re: Как правильно обновлять Moodle?

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle

Если есть бекап, то можно на любую.

В ответ на Виталий Лавров

Re: Как правильно обновлять Moodle?

от Andrej Gojnasch -

При попытке обновления и переводе сайта в режим обслуживания выбросило с сайта... Теперь высвечивается только: "Извините, сайт находится в режиме технического обслуживания и сейчас недоступен". Как попасть на сайт для продолжения обновления?

В ответ на Andrej Gojnasch

Re: Как правильно обновлять Moodle?

от Vadim Tabunshchik -
Изображение пользователя Developers
Как попасть на сайт для продолжения обновления?

Напрямую ввести адрес страницы авторизации не пробовали? http://site/login/index.php

ЗЫ: Админа (кто устанавливал систему) при включении режима обслуживания не должно выбрасывать с сайта.

Можно отключить режим техобслуживания в БД, поставив в «0» параметр maintenance_enabled в табл. mdl_config. Изменение параметра сразу может не отразиться на сайте, поэтому почистите кеш moodle через консоль (скрипт admin/cli/purge_caches.php)

В ответ на Vadim Tabunshchik

Re: Как правильно обновлять Moodle?

от Andrej Gojnasch -
В ответ на Andrej Gojnasch

Re: Как правильно обновлять Moodle?

от Vladimir ZH -

Подскажите, пожалуйста, как лучше в новую версию залить уже установленные плагины? Можно ли просто скопировать всю папку /Blocks или /Mod из прошлой версии или нужно по одному добавлять согласно списку плагинов, которые исчезли в новой версии? 

В ответ на Vladimir ZH

Re: Как правильно обновлять Moodle?

от Alexandre Scherbyna -
Далеко не всегда к новой версии Moodle подходят плагины от старой. Откройте хранилище плагинов, потом нужный плагин и вкладку Vresions. Там увидите, есть ли версия плагина для нужной вам версии Moodle. Бывает, что плагин реально работает, но об этом еще не успели написать. Короче, надо проверять.
Иногда переход на новую версию Moodle приходится откладывать пока для нее не появятся все нужные плагины.
В ответ на Alexandre Scherbyna

Re: Как правильно обновлять Moodle?

от Vladimir ZH -
Спасибо! Да, я понимаю . Все проверил. Я просто хочу понять правильную технику переноса плагинов из старой версии в новую. Там в Папке /Block лежат файлы в корне. https://prnt.sc/tugyg8
Я просто хочу понять, что лучше взять все папки из старой версии и перенести только их и оставить файлы из корня от новой или можно просто всю папку Block перенести в новую версию ?
В ответ на Vladimir ZH

Re: Как правильно обновлять Moodle?

от Vladimir ZH -
я просто боюсь что если всю папку с плагинами перенести в новую установку то затрутся обновленные плагины новой версии. Если это так то получается нужно каждый новый плагин в ручную добавлять затем обновлять страницу со списком плагинов и так для всех.
В ответ на Vladimir ZH

Re: Как правильно обновлять Moodle?

от Alexandre Scherbyna -
Нет. Каждый дополнительный плагин - это одна дополнительная папка. Причем тут какие то файлы из корня? Они к дополнительным плагинам никакого отношения не имеют.
Вы скачиваете из сайта новую версию Moodle без доп. плагинов, т.е. без дополнительных папок. Если у вас установлено 5 или 15 доп. плагинов, значит нужно добавить 5 или 15 доп. папок. Папки можно добавлять и по одной, и все 15 за один раз, но ни какие попало, а те, которые подходят для вашей новой версии Moodle. Вот и всё! Что за навязчивая идея неглядя копировать  всю папку с плагинами?
В ответ на Alexandre Scherbyna

Re: Как правильно обновлять Moodle?

от Dmitry Luschan -
Добрый день.
А что делать, если плагинов много, а их папки располагаются в разных местах? В качестве примера таких плагинов VPL (https://moodle.org/plugins/mod_vpl) устанавливается в директорию moodle/mod, а CodeRunner (https://moodle.org/plugins/qtype_coderunner) соответственно в директорию moodle/question/type.
А что если у меня будет установлено сотня плагинов? Во время установки мне надо запоминать их все "в лицо" и после обновления директории moodle переносить ВСЕ их директории руками или записывать каждый плагин в скрипт собственный скрипт обновления?
Выглядит очень не продумано и костыльно, поэтому искренне надеюсь, что есть правильное решение. Ну или просто подскажите как лучше поступить, если правильного решения нет.
И плагины обновлять нужно перед обновлением самого moodle?
Буду очень благодарен за помощь, потому что эта проблема не даёт спокойно обновлять moodle.
В ответ на Dmitry Luschan

Re: Как правильно обновлять Moodle?

от Alexandre Scherbyna -

Можно делать по-разному. Мне, например, нравится такой метод. 

Разумеется, перед обновлением делаете резервную копию папок moodle, moodledata и базы данных. 

Потом переименовываете moodle в moodle-old и скачиваете с moodle.org папку moodle с новой версией. Файл config.php копируете из старой папки в новую. Входите, как администратор, на сайт и начинается его обновление. По завершении выводится страничка с информацией об отсутствующих плагинах. Возле каждого из них есть кнопка, при нажатии на которую, папка с нужной версией плагина автоматически загрузится с moodle.org в нужное место папки moodle и эта кнопка исчезнет. После того, как перещелкаете все кнопки, нажмете внизу странички кнопку Обновить. 

Вот и всё. Если все прошло удачно, то moodle-old удаляете.

В ответ на Alexandre Scherbyna

Re: Как правильно обновлять Moodle?

от Dmitry Luschan -
Спасибо за подсказку. Звучит правда несложно. В следующий раз обязательно попробую так и поступить.
Но к сожалению, в этот раз придерживался вашей инструкции неточно и сначала обновил moodle, а только затем попытался обновить plugin coderunner. В итоге сайт повисает (бесконечно показывает белый экран) на моменте установки обновлений. Пробовал удалять директорию с плагином и восстанавливать её из бэкапа moodle, но это не помогает - аналогично процесс обновления не заканчивается.
Буду благодарен за подсказку, как починать.
ЗЫ бэкап БД и moodledata перед обновлением не делал =(
В ответ на Dmitry Luschan

Re: Как правильно обновлять Moodle?

от Vadim Dvorovenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода

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


В ответ на Vadim Dvorovenko

Re: Как правильно обновлять Moodle?

от Dmitry Luschan -
К сожалению, всё оказалось не тривиально. Например, среди инструментов командной строки (admin/cli/*.php) нет обновления плагинов, только обновление всего moodle.
Методом проб обновил плагин таким образом: удалил старую директорию плагина coderunner (moodle/question/type/coderunner), распаковал в это место новую версию плагина, установил владельцем директории пользователя web-сервера (www-data) и запустил обновление (moodle/admin/cli/upgrade.php).
Помогло. Больше не вижу уведомлений о необходимости обновить плагин.
Напомню, проблемы были похоже из-за внутренних конфликтов в плагине после неудачного обновления moodle.
Всем спасибо за помощь.
В ответ на Alexandre Scherbyna

Re: Как правильно обновлять Moodle?

от Алексей Трофименко -

У меня сейчас стоит Moodle 3.7.1+ (Build: 20190801)

в уведомлениях прислали

Доступна более новая версия Moodle!

Moodle 3.9.4+ (Build: 20210130) Версия 2020061504.02 Стабильная версия Скачать Подробнее...
Moodle 3.8.7 (Build: 20210118) Версия 2019111807 Стабильная версия Скачать Подробнее...
Moodle 3.10.1+ (Build: 20210130) Версия 2020110901.02 Стабильная версия Скачать Подробнее...
Moodle 3.7.9 (Build: 20201109) Версия 2019052009 Стабильная версия Скачать Подробнее...
 можно ли сразу обновиться на самую последнюю версию 3.10? или нужно постепенно повышать версию с 3.7.9?
В ответ на Вадим Лёвкин

Re: Как правильно обновлять Moodle?

от Денис Ю -
Добрый всем.
Плиз, дайте алгоритм неучу обновления с 3.8.4 на 3.9.1+.
Мудл стоит на своем сервере под ubuntu server 18.04.

благодарю
В ответ на Денис Ю

Re: Как правильно обновлять Moodle?

от Dmitry Luschan -
Советую придерживаться алгоритма, озвученного выше Alexandre Scherbyna https://moodle.org/mod/forum/discuss.php?d=321762#p1647787
Если какой-то пункт не понятен, спрашивайте конкретнее, постараюсь подсказать.
Удачи.
В ответ на Dmitry Luschan

Re: Как правильно обновлять Moodle?

от Yury Soloviev -
Добрый день!
Видно я что-то не понимаю. Смысл в обновлении - удалить все файлы, кроме конфига, залить новую версию и оно всё успешно заработает. Естественно, решил попробовать на отдельном сервере. Накатил сайт, удалил папку мудла, залил новую версию. Всё как по науке. Зашел на сайт - предложили обновиться. Обновился. Сайт чистый, с нуля. В SQL все данные есть. В moodledata - тоже все папки на месте. Почему тогда сайт чистёхонек как новорожденный? Ни пользователей, ни курсов. Ни-че-го. 
Что я упустил? Кэш почистил, но вряд ли это помогло бы...
В ответ на Yury Soloviev

Re: Как правильно обновлять Moodle?

от Виталий Лавров -
Изображение пользователя Эксперт по Moodle
> Смысл в обновлении - удалить все файлы, кроме конфига, залить новую версию и оно всё успешно заработает.
Это при условии, что нет дополнительных плагинов и изменений. Более безопасный вариант обновления через git.
> Почему тогда сайт чистёхонек как новорожденный? Ни пользователей, ни курсов. Ни-че-го.
Есть подозрение, что при обновлении что-то пошло не так или вы не обратили внимание, что вам предложили установить новую версию, а не обновить.
Посмотрите в config.php с какой базой и с каким префиксом работает ваш обновленный moodle.
Сравните размер базы рабочего сервера с тем, что у вас на отдельном сервере.
> Что я упустил?
Что-то упустили.

У вас есть рабочий moodle или его полный бекап, который вы развернули на отдельном сервере, т.ч. процесс можно повторить еще раз и понять где ошибка.
В ответ на Yury Soloviev

Re: Как правильно обновлять Moodle?

от Nurbek Tentiev -
Вы уверены, что сделали именно апгрейд существующей системы, а не установку новой? По вашему описанию похоже на то, что новый Moodle установили.
Если конфиг-файл не трогали, то должен быть обновить, т.е. внести изменения в существовавшие базу данных и папку moodledata.