Разработчики OJS активно развивают CMS Open Journal System, поэтому обновления выходят довольно часто. В этой статье расскажем как обновить сайт работающий на OJS 3 до последней версии.
Просто обновить сайт нажав одну кнопку, как это реализовано в других CMS, в OJS нельзя. Придется вручную загружать все файлы новой версии.
Как понять доступно ли обновление?
При входе в панель администратора сверху вы увидите сообщение о доступности новой версии:
Доступна новая версия OJS! Сейчас вы пользуетесь OJS 3.2.1.3 (ваша версия). Самая последняя версия — OJS 3.3.0.4. Пожалуйста, свяжитесь с вашим администратором сайта (Имя Администратора email@journal.ru), чтобы уведомить его об этой новой версии. Более подробную информацию можно найти здесь.
Также можно зайти в Администрирование — Информация о системе и нажать «Проверить наличие обновлений», если доступно обновление то вы увидите сообщение «Доступна обновленная версия: Скачать». Ниже в таблице отображается история обновлений сайта.
/index.php/journal/admin/systemInfo
Как обновить сайт на OJS
Есть два способа обновления: прямое полное обновление загрузкой архива обновления через FTP и обновление через GitHub. В этой инструкции будет показан процесс обновления через FTP. Такой способ рекомендуется, если вы не вносили в код сайта никаких изменений. Иначе используйте обновление через git.
- Выполните полную резервную копию сайта. Сделать это можно например через плагин Backup из «Галереи модулей» Настройки — Вебсайт — Модули — Галерея модулей.
- Скачайте архив с обновлением последней версии. Сделать это можно, нажав «Скачать«, в разделе информация о системе или на официальном сайте.
- Ознакомьтесь с официальным руководством по обновлению к конкретной версии OJS, которое находится в архиве обновления: docs/UPGRADE.md , также проверьте файл Unsupported Upgrades.md убедитесь, что ваша версия OJS поддерживает обновление.
- Распакуйте архив обновления и загрузите его в отдельную папку сайта (не перезаписывайте файлы текущей версии сайта). Например в папку «For upgrade». (это самый долгий процесс в обновлении)
- Из корня текущего сайта скопируйте файл config.inc.php, папку public и папку files (если она находится в папке сайта) в папку c обновлением For upgrade.
- Сравните ваш файл config.inc.php c файлом config.TEMPLATE.inc.php, убедитесь что в новой версии OJS не появилось новых настроек. Изменения файла конфигурации можно проверить в документе к соответствующему обновлению в папке /docs/release-notes/ . Например в версии 3.2.1 в файле конфигурации появились три новых директивы: database.collation, email.smtp_suppress_cert_check, curl.cainfo. Добавьте их в соответсвии с примером config.TEMPLATE.inc.php.
- Если у вас используется собственная тема оформления или child-тема для сайта, то сделайте ее копию. Найти тему можно здесь /plugins/themes/.
- Теперь перенесите все файлы текущего сайта в какую-нибудь папку, например old_site или backup.
- Из папки For upgrades перенесите все файлы в корневую папку сайта. Также не забудьте вернуть папку темы в каталог с темами /plugins/themes/.
Внимание! Заменять файлы старой версии сайта на новые нельзя! Это вызовет ошибки в работе сайта.
Обновление базы данных сайта
Файлы сайта мы обновили, теперь осталось обновить базу данных. Обновить базу данных можно двумя способами: через командную строку, если у вас есть доступ к сайту по SSH и напрямую через сайт. В этом примере обновляем через сайт.
- Откройте файл config.inc.php, он находится в корневой папке сайта.
- Найдите строчку installed = On и замените ее на installed = Off.
- Теперь откройте сайт как обычно через браузер, появится окно установки OJS.
- Найдите кнопку «Нажмите здесь», нажмите на нее и следуйте инструкции на экране, тем самым запустится процесс обновления базы данных сайта.
- Если обновление прошло успешно, вы увидите соответствующее сообщение и примечания к текущему выпуску. Теперь в файле config.inc.php верните значение installed на On.
Если после нажатия Upgrade вы видите белый экран, значит что-то пошло не так. Откройте файл config.inc.php и включите в нем режим отладки. Поменяйте переменную display_errors с Off на On – display_errors = On. И попробуйте еще раз запустить обновление базы данных, теперь вы увидите причину ошибки. Попытайтесь ее устранить самостоятельно или обратитесь к нам за помощью в обновлении.
Также обновление базы данных можно запустить и через командную строку по SSH, в случае каких-либо ошибок, вы их сразу увидите в консоли. (перейдите в каталог с сайтом cd /path/to/site_on_ojs/)
php tools/upgrade.php upgrade
На этом обновление сайта на OJS завершено. Если возникли какие-то вопросы или ошибки пишите в комментарии или в обратную связь.
Если у вас возникли сложности с обновлением OJS, вы можете обратиться к нам и мы поможем обновить ваш сайт на OJS до актуальной версии.