Обновление Roundcube 3.1 до версии 4.2
Както в одной из предыдущих заметок я упоминал о том что на работе использую Roundcube в качестве почтового клиента. А что? Удобно! С любой машины в сети можно посмотреть почту 🙂 Короче клиент зачетный — рекомендую. Неоспоримой позитивной особенностью также является то что проэкт очень шустро розвивается. В результате, вроде, недавно ставил стабильный релиз 3.1, а вчера зашел на офсайт проэкта и увидел что уж давно стабильным считается четвертая версия 🙂 Ну чтож …. надо обновиться!
Первое что рекомендую сделать перед обновлением — бекап рабочей проги + дамп базы. Делается очень просто (у меня прога установлена в /opt/roundcube). Сначала бэкапим базу данных:
После этого бекапим саму прогу:
Дальше можно браться за обновление. В случае если чтото накосячим, всегда сможем вернуться к тому что было используя сделанные бекапы 😉
Обновить Roundcube задача несложная, я делал так:
- качаем более новый релиз (я всегда предпочитаю stable релизы, поэтому скачал стабильный на сегодня 4.2)
- розпаковываем (можно и не розпаковывать, если есть mc просто открываем в mc)
- копируем с заменой с нового релиза папки bin, SQL, program, installer, skins/default, plugins и файлик index.php в старую инсталяцию
- переходим в папку SQL и выполняем обновление sql базы. К примеру у меня roundcube установлен в /opt/roundcube
- Теперь обновляем БД (в моем случае MySQL) файликом mysql.update.sql с помощью команды:
Спросит пароль — введите (ну вы же знаете пароль пользователя roundcube для доступа к БД 😉 ) Если не помните, можно подсмотреть в файлике config/db.inc.php
А вот и засада на которую я нарвался после выполнения этой команды:
Enter password:
ERROR 1091 (42000) at line 7: Can't DROP 'idx'; check that column/key exists
black:/opt/roundcube/SQL#
Оказывается чтобы успешно обновить нашу раундкубовскую БД надо подправить файлик mysql.update.sql «под себя». А точнее началом файла должно стать упоминание нашей текущей версии БД. Я просто удалил сверху файла все до строчки:
Короче этот файл должен начинаться строчкой с названием вашей текущей версии, и если это так, то командочка обновления БД нормально отработает 🙂
- После этого нужно запустить скрипт bin/update.sh Итак, переходим в директорию bin:
- И запускаем скрипт для обновления:
This instance of Roundcube is up-to-date.
Have fun!
black:/opt/roundcube/bin#
Ну вот и все! Дальше через веб можно пробовать зайти в RoundCube 😉 У меня все заработало нормально … без шума и пыли 🙂
Вот так просто и незатейливо обновляется roundcube!
P.S. Собственно написал ради того чтоб в следующий раз не забыть как бороться с ошибкой «ERROR 1091 (42000) at line 7: Can’t DROP ‘idx’; check that column/key exists». Остальное все и так понятно 🙂
Ой пасиба, помог 🙂