Задать вопрос

Как сделать систему обновления движка сайта?

Доброго времени суток!

Что имею?
Постоянно редактируемый мною малоизвестный движок для интернет-магазинов.
В общих чертах о нем:
PHP, Smarty шаблонизатор, Mysqli DB

Что хочу сделать?
Обновление движка в два клика. Что-то подобное как на джумле. Заходишь в админку, проверяется актуальная версия CMS, если найдена новая, обновляется по клику.

Как я думаю можно сделать?
-Проверяется версия.
-Если есть новая, выводим сообщение с кнопкой.
-Сделать backup сайта, мало ли пойду какие либо косяки. Причем backup файлов и естественно дамп БД. В дальнейшем через Админ панель можно будет восстановить.
-Отключить сайт. Обрабатывается через index.php, проверяя параметр в БД.
-Через AJAX сделать закачку удаленного ZIP архива в temp папку в корне сайта и распаковать его туда.

В каждом пакете обновлений, наверное должно быть:
*Файл с перечнем обновлений новой версии.
*Список файлов которые существуют в пакете обновлений 3х видов.
***Добавить новый файл.
***Перезаписать существующий файл, файлов в пакете обновлений.
***Удалить файл.

-Внести новые таблицы/колонки в БД
-Соответственно пробежаться по "списку файлов", и сделать соответствующие действия. После чего нужно сделать проверку на успешность выполнения операции. Чтобы отображать всю инфу в логах.
-Если обновление поставлено без ошибок, включить сайт, иначе вывести предупреждение, что обновления легли некорректно, ну и показать логи, что именно не так. Возможно, нет прав на перезапись каких-либо файлов или еще чего-нибудь.
-Запустить сайт.

Как вы думаете, насколько данное решение адекватно?
Если у вас есть предложения либо корректировки, с радостью жду их в комментариях к вопросу.

Спасибо за ответы!
  • Вопрос задан
  • 3766 просмотров
Подписаться 6 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@antonmann
Так и что, получилось в итоге сделать-то ? Вот сейчас тоже думаю выпустить продукт, и надо сделать систему обновления чтобы каждый раз вручную не обновлять...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽