Как обновить сайт с версии 0.9.7 на версию 1.0

Честно говоря, я думал, что инструкция получится гораздо проще. Но, увы, проще не получается. Это связано, в первую очередь, с тем, что структура папок в новой версии совсем иная. Уверен, все последующие обновления будут гораздо проще и вся инструкция текст будет состоять буквально из двух-трех простых предложений.

Собственно, и сейчас это не очень сложно, нужно лишь быть внимательным. Заранее прошу прощения у продвинутых пользователей, кому инструкция покажется излишне подробной. Но ведь не все такие продвинутые, поэтому я постарался расписать весь процесс довольно подробно. Итак, поехали
Подготовка к переезду
Перед переездом нужно сделать бэкап. Если кто не знает — это сохранить копию вашего сайта. Вообще-то, бэкапы надо делать регулярно, жизнь штука непредсказуемая, у хостеров бывают поломки, и жесткие диски даже у самых надежных серверов выходя из строя. Поэтому бэкап — это непременная, обазятельная часть по поддержанию работоспособности сайта. И перед обновлением (любым, а не только тем, который будет описан ниже) бэкап нужно делать.

Далее — сделайте копию базы данных. Все работы по переезду вы будете выполнять на копии базы, а потом эта копия станет вашей основной базой. Например, у вас сайт работал с базой 'mybase', сделайте копию и назовите ее 'mybase2' и в дальнейшем работайте уже только с ней.

На время работы по переезду в корень сайта можно положить заглушку — простенький HTML с текстом, что, мол, идет обновление сайта и все такое.

Обновление самого движка
В папке сайта удалите следующие папки старой версии движка:
/classes
/engine
/include
/install (если по каким-то причинам она осталась)

Папки /config, /plugins и /template пока не трогайте.

Залейте на сайт новую версию движка. В папку /app/config/ скопируйте файл /config/config.local.php и поставьте на него права на запись.

Выполните установку (можно вызвать по адресу site.com/install), как обычно, за исключением двух моментов:
1) При выборе базы данных укажите копию базы, которую вы создали и установите опцию «Конвертировать базу Alto CMS 0.9.7 в Alto CMS 1.0».
2) На странице задания администратора обязательно укажите опцию «Пропустить установку администратора».

Проверьте файл config.local.php и убедитесь, что все установки там правильные. Проверьте, чтобы параметр $config['db']['params']['type'] был задан 'mysqli' (обратите внимание на буковку «i» в конце).

В этом месте ваш сайт уже рабочий (со всем контентом), и вы можете даже в этом убедиться, но пока без ваших плагинов и без вашего шаблона.

Перенос плагинов и шаблона
Скопируйте все ваши плагины из папки /plugins/ в папку /common/plugins/, все, но кроме плагина ls (он там уже есть, обновленный).

Скопируйте файл /plugins/plugins.dat в папку /app/plugins/.

Скопируйте ваш шаблон из папки /templates/skin/ в папку /common/templates/skin/.

А теперь обязательно нужно проверить файл /templates/skin/ваш_шаблон/settings/config/config.php и проверить там пути к js- и css-файлам:
___path.root.engine_lib___/external/jquery/ заменить на ___path.frontend.dir___/ls/lib/
___path.root.engine_lib___/external/prettify/ заменить на ___path.frontend.dir___/libs/vendor/prettify/.

Проверьте, если там есть строки:
«___path.root.engine_lib___/external/jquery/markitup/skins/simple/style.css»,
«___path.root.engine_lib___/external/jquery/markitup/sets/default/style.css»,
«___path.root.engine_lib___/external/jquery/jcrop/jquery.Jcrop.css»,
«___path.root.engine_lib___/external/prettify/prettify.css»,
то их надо заменить на:
«___path.frontend.dir___/libs/vendor/markitup/skins/default/style.css»,
«___path.frontend.dir___/libs/vendor/markitup/sets/default/style.css»,
«___path.frontend.dir___/libs/vendor/jcrop/jquery.Jcrop.css»,
«___path.frontend.dir___/libs/vendor/prettify/prettify.css»,

В этом месте имеет смысл проверить работоспособность сайта. Возможно, вам нужно включить плагин совместимости ls, чтобы все заработало. Для этого откройте файл /app/plugins/plugins.dat и добавьте самой первой строкой:
ls

Настройка виджетов (ls-блоков)
Здесь уже индивидуально все. Если вы меняли под себя на старом сайте файл /config/widgets.php, то скопируйте его в папку /app/config/widgets.php

Заключение
Собственно, на этом переезд закончен. Смотрите, проверяйте, тестируйте.

Крайне рекомендую добавить в config.local.php следующие строки:
$config['sys']['logs']['error_extinfo']     = true; // выводить доп. информацию в лог ошибок
$config['sys']['logs']['error_callstack']   = true; // выводить стек вызовов в лог ошибок
И обязательно почаще заглядывайте на первых порах в файл /_tmp/logs/errors.log — вы можете не заметить каких-то ошибок, а они могут возникать в ваше отсутствие, а дополнительные параметры помогут вам понять, в каком случае эти ошибки возникают.

Папки /config, /plugins и /template можно какое-то время хранить на всякий случай, и, убедившись что все работает нормально, их удалить.

Справочная информация
И, на всякий случай, несколько полезных команд для операционных систем *nix-семейства.

Создание директории (папки):
mkdir DIR_NAME

Например:
mkdir /var/www/site.com/common/templates/skin/blabla/

Копирование файлов из директории в директорию:
cp -r DIR_FROM/* DIR_TO/

Например:
cp -r /var/www/site.com/templates/skin/blabla/* /var/www/site.com/common/templates/skin/blabla/

Установка прав и на директорию и все его файлы и поддиректории:
chown user[:group] -R DIR_NAME

Например:
chown bob -R /var/www/site.com/common/templates/skin/blabla/

Создание архива:
tar -cf /var/www/site.com/filename.tar /var/www/site.com/

Сжатие архива:
gzip /var/www/site.com/filename.tar

ВСЁ!
Вот, кажется, и все. Если у кого-то будут вопросы или возникнут проблемы при переезде — пишите, спрашивайте, советуйтесь

Читайте так же: Переезд с Альто 1.0.х на версию 1.1.х и адаптация шаблонов (минимальный вариант)

Похожие статьи

  • Переезд с Альто 1.0.х на версию 1.1.х и адаптация шаблонов (минимальный вариант)
    Я обещал написать статью о переезде с Альто 1.0 на версию 1.1. Но долго с этим тянул, т.к. ломал голову, как максимально упростить этот процесс. Собственно, в этом переезде есть две особенности: 1) Изменение...
  • Как обновить сайт версии 1.0 и выше
    Время не стоит на месте. И разработка движка тоже. Вот и вышла уже версия 1.0.5 нашего движка. Каких-то кардинальных изменений увеличение третьей цифирьки в номере версии за собой не несет, это, как правило,...
  • ВАЖНО: Критическое обновление
    В AltoCMS используется библиотека PHPMailer, в которой была обнаружена критическая уязвимость. В версии Альто 1.1.27 эта библиотека обновлена. Настоятельно рекомендуется обновить движок до версии 1.1.27! Или...
  • Версия 1.1.23 — небольшие исправления и чуть-чуть новенького
    Таки вышел релиз Alto CMS 1.1.23. Каких-то «прорывных» фишек в ней нет, она, главным образом, исправляет ряд обнаруженных ошибок и чуть-чуть добавляет некоторых новых возможностей для разработчиков. Вот список...

60 комментариев

0
Вроде все прошло удачно. С шаблоном Vintage правда косячки, но думаю его автор оптимизирует. С плагинами основной косяк возникает при попытке оными добавить виджеты.
Вообщем самое главное, что старые посты и комменты одображаются корректно, сайт стал шустрее и т.п
Спасибо
0
С плагинами основной косяк возникает при попытке оными добавить виджеты.
Так описывайте косяки! Тут одно из двух: либо я это сам проходил и косяки решаемые, только я уже подзабыл о них, поэтому и не написал. Либо я с этими косяками не встречался, но решать-то их все равно надо
0
Ан, нет. Не все так гладко
Почему то, при добавлении комментария выплывает ошибка-System error #1001
0
У меня добавляет комментарии без ошибок.
0
А на демосайте версия 1.0 стоит?
0
Ага. Сегодня обновил.
0
Вы LS Compatibility оставили свой или Вадима?
0
Вадима.
0
Да, ошибка при добавлении комментария возникает в шаблоне «Experience»
В Vintage не возникает, но имеет место быть такая картинка
0
не все так гладко. У меня ситуация обратная — стало гораздо медленнее работать.(если кто подскажет в чем причина буду премного благодарен:-) 0.9.7.1 летает — так что на хостинг не грешу).Еще один непонятный момент это превью — загружены несколько фоток, одна отмечена как превью, но в начале статьи превью нет. Может просто я что-то не понял и превью автоматом не появляются. Глянуть скорость загрузки можно тут
0
Превью автоматом не появляются, для их работы нужен плагин TopicIntro
+1
С превью разобрался спасибо вам. Но нашел интересный баг:

Берем статью которая уже была — открываем ее редактировать — на этот момент адрес статьи pottery.su/obzhig-keramiki-23-iyunya.html ничего не делаем, просто сохраняем по новой и адрес статьи становиться pottery.su/http-potterysu-obzhig-keramiki-23-iyunyahtml.html, если пару раз сохранить будет два раза добавлено лишнее и тд. По старому адресу статья становится недоступна. В админке стоит вид урл %topic_url%.html

При том что редактирование урла при редактировании статьи не работает
Как-то так
Отредактирован:
0
подтверждаю. такое же с другими видами чпу
0
Поставил закрытый режим сайта. И не могу авторизоваться, во дела…
0
А в логах ошибок пусто?
0
Заново обновился.
Почему то глючит админку во всех браузерах кроме IE. При нажатии на пункт меню они хаотично сбиваются и еще невозможно включить\выключить плагины, кнопки как будто неактивны. В IE все нормально.
0
если почистить кеш сайта то в админке все восстанавливается
0
Вот такая штука периодически вылезает
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/markitup/skins/simple/style.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/markitup/skins/simple/style.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/markitup/sets/default/style.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/markitup/sets/default/style.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/jcrop/jquery.Jcrop.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file "/var/www/пользователь/data/www/сайт.ru/common/templates/frontend/ls/lib/jcrop/jquery.Jcrop.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file " /var/www/пользователь/data/www/сайт.ru/common/templates/frontend/libs/vendor/prettify/prettify.css"
See details in error.log
E_USER_WARNING [512] Can not prepare asset file " /var/www/пользователь/data/www/сайт.ru/common/templates/frontend/libs/vendor/prettify/prettify.css"
See details in error.log 
0
При включении плагина «Activity» и других плагинов пытающихся вывести виджет в сайдбар типа USERTOP пишет следующее:
E_USER_WARNING [512] Can not define type of widget "comingActivities"
See details in error.log
E_USER_WARNING [512] Can not define type of widget "calendar"
See details in error.log
E_USER_WARNING [512] Can not define type of widget "usertop"
See details in error.log 


Вот лог
2014-07-06 16:03:08 

E_USER_WARNING [512] Can not define type of widget "usertop" (/var/www/пользователь/data/www/сайт.ru/engine/classes/modules/viewer/Viewer.class.php on line 1149)

2014-07-06 16:03:08 

E_USER_WARNING [512] Can not define type of widget "calendar" (/var/www/пользователь/data/www/сайт.ru/engine/classes/modules/viewer/Viewer.class.php on line 1149)

2014-07-06 16:03:08 

E_USER_WARNING [512] Can not define type of widget "comingActivities" (/var/www/пользователь/data/www/сайт.ru/engine/classes/modules/viewer/Viewer.class.php on line 1149)
Отредактирован:
0
Тоже интересно как это исправить?
0
Вадим помог, обратитесь к нему
0
Я думаю я не один такой, кому это может пригодиться. Вадим прошу помочь нам и разъяснить здесь как с этим справиться?
0
Были проблемы с совместимостью некоторых ЛС-плагинов. Это исправлено в Альто версии 1.0.1, которую пока можно забрать отсюда: github.com/altocms/altocms/archive/master.zip

Т.к. в эту версию еще могут вноситься некоторые исправления, то она имеет статус «dev», т.е. в разработке, и в списке релизов ее по этой причине нет.
0
При попытке конвертировать базу выдает ошибку «Error: Duplicate column name 'topic_date_show'» при повторной попытке пишет «Error: Конвертация отменена, так как структура базы данных соответствует версии 1.0». После этого ни чего не происходит какие бы варианты я не выбирал. Можно как то устранить эту ошибку?
0
Одно из двух: либо у Вас действительно база данных уже обновлена, либо структура базы старая, но по какой-то причине поле topic_date_show уже существует в таблице топиков.

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

Во втором — попробуйте обновить базу вручную. Для этого откройте файл convert_0.9.7_to_1.0.sql, найдите там такую строку:
ALTER TABLE `prefix_topic` ADD `topic_date_show` datetime DEFAULT NULL AFTER `topic_date_edit`;
и удалите ее. Потом запустите phpMyAdmin, выберите свою базу данных и там выполните SQL-команды из файла
0
Спасибо. Помогло
0
Хочу спросить у разработчиков про «дружбу AltoCMS» с поисковиками... Сейчас вот обратил внимание на первые строки кода у себя на сайте и мне думается что тут нужно что-то доработать для большего дружелюбия с поисковыми системами.
title сайта на 26 строке, а description на 28 строке.
(Хотя я может заблуждаюсь на этот счет, и эта такая спец-задумка, тогда прошу рассеять мои сомнения). В каталоге есть плагин СЕО, но он для старой версии, мне кажется что про СЕО не стоит забывать в новой версии Alto.

*И еще вопрос — не планируется ли в будущем познакомить систему с W3C — w3.org?

код Alto
0
Хочу спросить у разработчиков про «дружбу AltoCMS» с поисковиками… Сейчас вот обратил внимание на первые строки кода у себя на сайте и мне думается что тут нужно что-то доработать для большего дружелюбия с поисковыми системами.
title сайта на 26 строке, а description на 28 строке.
(Хотя я может заблуждаюсь на этот счет, и эта такая спец-задумка, тогда прошу рассеять мои сомнения). В каталоге есть плагин СЕО, но он для старой версии, мне кажется что про СЕО не стоит забывать в новой версии Alto.

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

*И еще вопрос — не планируется ли в будущем познакомить систему с W3C — w3.org?
Имеется ввиду ошибки, вызванные несоотв. стандартам W3C?
+1
Прежде всего хочу заметить что у разработчиков получается очень даже не плохая CMS. Я сам пользуюсь Инстант цмс, и должен заметить что быть может в не далеком будущим эта Цмс может превзойти её.
Пожалуй тоже начну знакомиться с этой цмс, и в течении месяца постараюсь выложить что нибудь полезное для Алто-цмс.
0
Методом тыка было выяснено следующее:
При включении плагина LS Compatibility (и других плагинов под LS) при написании комментария в шаблонах Start Kit и Experience возникает ошибка
System error #1001


Лог
Exception: Can not find the template "comment.tpl" in skin "experience"
Template Dirs: /var/www/пользователь/data/www/sait.ru/common/templates/skin/experience/; /var/www/пользователь/data/www/sait.ru/common/templates/skin/experience/themes/; /var/www/пользователь/data/www/sait.ru/common/templates/skin/experience/tpls/; /var/www/пользователь/data/www/sait.ru/common/templates/skin/experience/; /var/www/пользователь/data/www/sait.ru/common/plugins/ls/templates/skin/default/

Это происходит как после переезда, так и на чистом сайте.

Что касается взаимодействия с шаблоном Vintage, изменение пути ___path.root.engine_lib___/external/jquery/ заменить на ___path.frontend.dir___/ls/lib/ приводит к такому результату тыц без правки все нормально.
0
Вылязят 2 ошибки:

Call to a member function isAllow() on a non-object in /var/www/a42715/data/www/site.ru/_tmp/templates/bootstrap-default/compiled/default^5fccfc06fffcc11e557e806eb8a550df71934f0d.file.topic_topic.tpl.php on line 46


Call to a member function isAllow() on a non-object in /var/www/a42715/data/www/site.ru/engine/libs/Smarty/libs/sysplugins/smarty_internal_templatebase.php(151) : eval()'d code on line 46


Вернее предполагаю что это одна и та же. на 46 строке компилированного topic_topic.php находится:

<?php if ($_smarty_tpl->tpl_vars['oContentType']->value->isAllow('link')&&$_smarty_tpl->tpl_vars['oTopic']->value->getLinkUrl()) {?>


Может кто знает в чём проблема?
0
Как я могу догадаться, проблема возникает с одним из первых шаблонов bootstrap. Т.к. это шаблон старого типа (со старой LS-структурой), то проблема должна решиться, если включить плагин Ls
+1
При конвертации базы данных с Alto 0.9.7 выдается ошибка Error: Duplicate column name 'topic_date_show'
На третий шаг не пускает.
Выдает ошибку «Error: Конвертация отменена, так как структура базы данных соответствует версии 1.0».
Ни с какими параметрами не переходит на третий шаг.
0
0
Как Вы разобрались с этим? У меня подобная ошибка, сделал всё как Вадим написал, но не в какую не переходит на третий шаг.
0
Если сделали так, как сказано здесь: altocms.ru/629.html#comment11731, то все, считайте, что установка прошла. Дальше действуйте по инструкции из статьи
Отредактирован:
0
Запутали совсем.

Ставлю свой шаблон выдает
Exception: Can not find the template "actions/index/action.index.index.tpl" in skin "НазваниеСкина"


В предыдущей ветке про 1.0 посмотрел надо активировать плагин LS. Если активировать старый выдает ошибку. А нового я так и не нашел в дистрибутиве, хоть есть эти строки:
все, но кроме плагина ls (он там уже есть, обновленный)
Где брать новый плагин LS?
Отредактирован:
0
Получилось разобраться, но не показываются плагины в админке. Хотя все их перенес в эту папку /app/plugins/
0
Странно, плагины находятся в папке /common/plugins/ а не как у вас написано в инструкции /app/plugins/
0
Пардон, в инструкции ошибка была. Плагины надо копировать, конечно же, в папку /common/plugins/. В тексте исправил
0
Подскажите, какую версию PHP лучше использовать на сайте?
0
Версия 5.3 и выше. Кто-то тут писал, что 5.5 пользует, там быстродействие выше
0
У меня папка include лежит в engine
0
Было бы хорошо наконец добавить предупреждение, что нужно удалить папку install!
0
Вполне успешно сконвертировался с 0.9.7.1! Вадим, спасибо!

При включенном плагине совместимости (тот, что в коробке), других плагинов не активировано, в Experience не выводится виджет блогов — yadi.sk/d/9vkMrABkWfpRx
0
Радует, что плагин Viewcount работает и без плагина совместимости. Чудеса!
0
Мелочь, но остается файл gpl-2.0.txt По сути дупликат.
комментарий был удален
0
шаблон Onfleap!
0
Конфликт был из-за плагина feedback!
+1
Я тогда удалю коммент с техническими подробностями на всяк. случай
0
Ну в общем выложу список плагинов которые работают на новой версии AltoCMS 1.0.5:
1. AutoOpenID
2. Config Engine
3. Main preview topic
4. Premoderation
5. Sitemap
6. Similar topics
7. Attachments
8. Wmessage

Шаблон: onfleap

Дополняйте у кого еще какие плагины работают!?
Отредактирован:
0
sitemap не работает!!!
attachments — тоже как то не полностью!
Отредактирован:
+1
Какой sitemap? От ЛС или альтовский?
Этот должен работать: github.com/altocms/alto-plugin-sitemap
0
Видимо это был от ЛС, Альтовский работает!
0
А не надо ещё пути какие-нибудь править для CSS, меня шаблон Fortune
И вот что Выдает


Аватарки пользователя слетают.



Так же не заработал плагин «Топ авторов»
0
Как решить проблему с обновлением?
0
Почти наверняка проблема в том, что аватарки закачивались на одном домене, а сейчас отображаются на другом. По этой причине авторесайз не работает, т.к. движок не может конвертировать URL в локальный путь на диске.

Есть два варианта решения:

1) В базе изменить пути к аватарам, как это описано здесь: altocms.ru/628.html#comment11661

2) В CSS добавить к аватаре max-width и max-height
0
Переезд с версии 1.0 на 1.1 так же осуществляется?
+1
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.