Обновление Moodle 1.9 до версии 2.x: порядок и подводные камни

Как обновить Moodle 1.9 через промежуточную версию 2.2: резервные копии, удаление неподдерживаемых модулей, обновление через браузер и через консоль.

Актуальность. Moodle 1.9 и 2.x давно не поддерживаются. Принцип остался прежним: обновление идёт ступенями через обязательные промежуточные версии, а надёжнее всего запускать его из консоли. Список промежуточных версий смотрите в документации Moodle для своей исходной версии.

1. Резервные копии

Обновление меняет структуру базы и может идти часами, поэтому без копий начинать нельзя.

mysqldump -u root -p moodle_db > /home/backup/moodle_db.sql
tar -czf /home/backup/moodle_files.tar.gz /var/www/moodle /var/moodledata

2. Только через версию 2.2

С 1.9 можно обновиться только на 2.2. Удалите из каталога сайта все файлы, кроме config.php, распакуйте туда дистрибутив 2.2 и откройте сайт в браузере.

  • Мастер проверит окружение — все пункты должны быть зелёными.
  • Затем покажет список модулей. Если какой-то модуль не поддерживается новой версией, удалите его заранее (см. ниже).
  • Само обновление может идти несколько часов.

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

3. Удаление неподдерживаемых модулей

Найдите в базе таблицу mdl_block (блоки) или mdl_modules (модули деятельности) и удалите запись модуля, который не поддерживается. Делайте это только при наличии резервной копии.

4. Надёжный способ: обновление из консоли

Если обновление через браузер обрывается, после замены файлов запустите его из командной строки от имени пользователя веб-сервера:

cd /var/www/moodle
sudo -u www-data /usr/bin/php admin/cli/upgrade.php

Скрипт задаст вопрос — ответьте yes. Прогресс в процентах не показывается, зато нет ограничений по времени выполнения и обрыва соединения.

5. Дальнейшие версии

С 2.2 обновление на следующие версии идёт так же: новые файлы с сохранённым config.php, затем обновление через браузер или консоль.

Все статьи

Расскажите о задаче — подберём платформу и оценим работу

Обсудить проект