Как сделать бэкап modx
Бэкап и перенос сайта MODX Revolution
В заметке расскажу, как делать бэкапы сайта на MODX Revolution и как перенести его на другой хостинг или сервер.
Бэкап должен включать в себя файлы сайта и базу данных. Сделать его можно через панель хостинга, SSH консоль сервера или используя дополнение BackupMODX.
Не забывайте периодически скачивать актуальную версию бэкапов к себе на компьютер.
Подготовка
Перед каждым бэкапом желательно выполнить несколько подготовительных шагов.
Подготовка завершена, сайт готов к бэкапу.
Бэкап MODX через панель хостинга
Панели управления хостингов разные, но принцип один:
Скачайте архив с файлами сайта и дамп базы данных к себе на компьютер.
Бэкап MODX через консоль
Запакуйте файлы сайта в архив. В системах UNIX архив создаётся с помощью команды tar:
Хорошей мнемоникой для опции «-czf» является Create Zip File.
Выполните экспорт базы данных.
Бэкап с помощью дополнения BackupMODX
Дополнение BackupMODX упростит и ускорит создание бэкапов сайта на MODX, но сначала его нужно установить.
В админке перейдите в Приложения — Установщик, а затем найдите и установите там дополнение BackupMODX.
Далее нужно вынести виджет установленного дополнения на главную страницу админки, для этого:
Если всё сделали правильно, на главной странице админки появится виджет BackupMODX, позволяющий делать бэкапы.
Теперь, когда потребуется сделать бэкап, отметьте галочками, что нужно забэкапить — файлы, базу данных или все сразу, а затем нажмите кнопку Backup Site. После того как бэкап будет создан, скачайте архив с файлами сайта и SQL-дамп к себе на компьютер.
По умолчанию файлы с бэкапами хранятся в папке /core/components/backupmodx/backups/, но путь можно изменить в настройках BackupMODX.
Восстановление бэкапа и перенос MODX на другой сервер
Восстановление сайта из бэкапа практически не отличается от переноса на другой хостинг или сервер. Однако при переносе на другой хостинг или сервер нужно будет внести изменения в конфигурационные файлы MODX.
Для восстановления бэкапа разархивируйте архив с файлами в папку сайта и импортируйте SQL-дамп в базу данных. Сделать, как и случае создания бэкапа это можно либо через панель управления хостингом, либо через SSH консоль сервера.
Распаковать файлы из консоли:
Импортировать дамп базы данных через консоль (для MySQL):
Если из бэкапа восстанавливается сайт на том же месте, где он находился ранее, то после распаковки файлов и импорта базы сайт должен заработать.
Если же сайт переносится на новое место, хостинг или сервер, необходимо внести изменения в конфигурационные файлы MODX. Нужно указать новые доступы к базе данных и обновлённые пути к ядру и папкам сайта. Для этого, откройте файл core/config/config.inc.php и обновите значения следующих переменных через поиск и замену:
Если сайт перемещается из или в поддиректорию (относительно корневой папки привязанной к домену), убедитесь что константы с урлами указаны верно и на конце у них есть косая черта ( / ):
Для сайта в корневой папке привязанной к домену:
Кроме того, нужно указать новые пути к ядру MODX ещё в 3 файлах:
Решение проблем
Если сайт не работает после восстановления из бэкапа или переноса на новый сервер, попробуйте воспользоваться рекомендациями ниже.
Очистите кэш, для этого удалите содержимое папки /core/cache вашего сайта. Саму папку cache удалять не нужно.
Проверьте права на папки и файлы, в большинстве случаев они должны быть установлены в 755 для папок и 644 для файлов. Изменить права можно через файловый менеджер в панели вашего хостинга или через FTP-клиент, но из-за большого количества файлов, процесс может растянуться по времени. Поэтому лучше всего это сделать через консоль SSH.
Для смены прав можно так же воспользоваться bash скриптом приведённым ниже. Не забудьте изменить в нём путь до вашего сайта и пользователя, использовать пользователя root небезопасно.
Если с правами все в порядке, перепроверьте, что в конфигурационном файле /core/config/config.inc.php указаны правильные данные — доступы к базе данных и пути к ядру и папкам сайта. Чаще всего проблема именно в этом.
Так же убедитесь, что в файлах указан правильный путь к ядру MODX.
Если выключали сайт на этапе подготовки к бэкапу, убедитесь, что включили его: Системные настройки – Сайт – Статус сайта: Да.
Попробуйте провести повторную установку, для этого:
Полезные ссылки
На этом всё. Но вы можете поддержать проект. Даже небольшая сумма поможет нам писать больше полезных статей.
Если статья помогла или понравилась, пожалуйста поделитесь ей в соцсетях.
Создание бекапа на cms Modx revolution
Полезные материалы
О том, что создавать бекапы сайта жизненно необходимо написано очень много и Вы наверняка прекрасно понимаете важность этого действия. На каждом сайте должна регулярно сохраняться информацию для его последующего восстановления в случае возникновения проблем. Поэтому давайте подробно рассмотим возможности создания бекапа на CMS Modx Revolution.
В этой статье будут перечислены способы создания бекапа сайта на движке модэкса, которые возможно сделать из админки сайта или с помощью протокола ftp. Существуют также другие способы выполнить данную задачу, например с помощью панели управления хостингом или планировщика Cron, однако о них будет отдельная статья.
Способ 1. Приложение backup Modx.
Понадобится скачать приложение BackupModx с помощью Установщика приложений.
После чего устанавливаем его через управление пакетами.
Далее переходим в управление панелями и виджетами. Для этого справа вверху щелкаем по значку, напоминающему шестеренку и в выпавшем меню выбираем пункт «Панели».
Мы попадаем в место, где управляют местоположением блоков, расположенных на главной странице админ-панели. По умолчанию всегда есть 1 панель с названием «Default». Именно ее нам необходимо отредактировать. Нажимаем на ней правой кнопкой мыши и выбираем пункт «редактировать панель».
Если мы все сделали правильно, то на главной странице админ-панели мы увидим новый блок с возможностью сделать бекап. Он делает как бекап всех файлов сайта (галочка Files), так и бекап базы данных (галочка MySQL Database). Если необходимо сделать что-то одно, то просто убираем галочку с ненужного пункта в этом окне. И бекап будет сделан только выбранного пункта.
При необходимости сделать бекап, просто нажимаем на кнопку и система самостоятельно его создаст и выдаст результат. Просто немного подождите 🙂
Полученные файлы можно скачать после завершения. Можно скачать файлы и БД как по отдельности, так и одним файлом. Также эти файлы находятся в папке /assets/backup/ и вы можете скачать их оттуда в любое удобное для Вас время.
В дальнейшем бекап сайта можно создавать просто нажатием одной кнопки на этой панели. Выполнение других действий уже не потребуется.
Неисправности в работе
Не работает кнопка бекапа.
Проверьте хватает ли прав доступа приложению. На папки и файлы они должны быть установлены в значении 755 для папок и 644 для файлов. Изменить права можно через файловый менеджер в панели вашего хостинга или через FTP-клиент, но из-за большого количества файлов, процесс может растянуться по времени.
Способ 2. Создание архива через панель управления хостингом.
Так мы получаем полную копию сайта с базой без использования каких-либо сторонних програм.
MODX. Резервное копирование сайта. Компонент BackupMODX
Отредактировано: 30 Декабря 2018
BackupMODX — компонент для создания резервной копии сайта MODX, с возможностью установки дополнительных настроек, таких срабатывание по cron, или детальным распределением файлов которые нужно архивировать.
В версии компонента 2.x замечена проблема, с сохранением файлов. Убедитесь в том что компонент видит данные из бэкапов (нажав на кнопку restore, должны увидеть список данных доступных для восстановления), прежде чем приступать к поломке вашего сайта.
Для настройки работы компонента по крону, идем в системные настройки, ищем параметр backupmodx.cronEnable и ставим — yes. Затем идем в панель хостинга (или настройки сервера), и добавляем задачу в список задач Crontab.
Кстати, в панели управления у Timeweb эта процедура занимает всего пару минут.
Настройки BackupMODX
У компонента в системных настройках можно указать следующие параметры:
| Параметр | Описание |
|---|---|
| backupmodx.excludes | Файлы / папки для исключения из резервной копии. Список разделяется запятыми. Можно использовать плейсхолдеры. Пример: |
| backupmodx.targetPath | Путь к папке для хранения резервных копий. Можно использовать плейсхолдеры. Пример: |
| backupmodx.cronKey | Ключ безопасности для плановых резервных копий создающихся через cron. Может быть указана любая строка. |
| backupmodx.mysqldumpAlias | Псевдоним для mysqldump. |
| backupmodx.zipAlias | Псевдоним для zip архива. |
| backupmodx.mysqlAlias | Псевдоним для MySQL. |
| backupmodx.cronFiles | Включать или нет файлы в Cron-Backup. |
| backupmodx.cronDatabase | Включить или нет базу данных в Cron-Backup. |
| backupmodx.cronNote | Необязательный описательный txt-файл добавлен в резервную копию. |
| backupmodx.cronEnable | Включить или отключить Cron. |
| backupmodx.cronMaxDatabase | Максимальное количество сохраненных резервных копий баз данных. |
| backupmodx.cronMaxFiles | Максимальное количество сохраненных резервных копий файлов. |
| backupmodx.groups | Группа или разделенный запятыми список групп, которые будут иметь доступ к виджету. |
Восстановление бэкапа
Для восстановления сайта из бэкапа старой версии компонента: поместите архив в папку сайта и разархивируйте. Затем, импортируйте sql файл в базу через phpmyadmin, либо командой в консоли.
Для восстановления сайта из бэкапа новой версии компонента — установите пустую сборку MODX, и компонент BackupMODX, скопируйте архив с бэкапом в папку указанную в backupmodx.targetPath, в виджите нажмите на кнопку Restore a Backup, выберете данные которые надо востановить, и восстановите.
В случае импорта базы через консоль, для MySQL команда выглядит так:
Если при создании дампа использовалась gzip, сперва архив надо распаковать:
Практика резервного копирования на MODX
С ростом опыта и усложнением работ, все актуальнее становится тема резервного копирования базы данных, особенно при наличии большого объема информации.
Хочу поделиться своим опытом с начинающими разработчиками, а также почитать советы опытных мастеров.
Мне такая статья очень пригодилась бы на определенном этапе развития.
С ростом опыта и профессиональной наглости проекты начали расти, клиенты стали заказывать все более сложные и объемные сайты, и с моей обычной системой резервного копирования начались проблемы.
Первая проблема с которой я столкнулся это объемная база данных. Оказалось, что у большинства хостингов есть ограничения по объему загружаемого SQL файла. К примеру 32 мегабайта. Выкручиваться было крайне неудобно, приходилось делать SQL запросы вручную по отдельным таблицам.
Следующая проблема которая начала повторяться довольно часто — это ошибки в синтаксисе SQL при импорте таблиц с PHP кодом, например таблицы отвечающей за хранение сниппетов и таблицы с плагинами. Почему то использование приложения minifyx вызывало ошибку.
С тех пор для резервного копирования базы данных я использую PHP скрипт Sypex Dumper 2, который хотел бы порекомендовать и вам.
Скрипт бесплатный. Eсть и платная расширенная версия, но мне она ни разу не пригодилась. Разница, которую я заметил лишь в том, что платная версия скрипта позволяет делать копии отдельных таблиц, а бесплатная копирует всю базу целиком.
Скрипт руссифицирован, имеет приятный интуитивно понятный веб интерфейс.
На сайте производителя есть подробные инструкции и даже видео по использованию.
А какие инструменты используете Вы? Делитесь своим опытом в комментариях.
Как часто делаете резервные копии своей работы? И делаете ли вообще?
Перенос вашего сайта
Ниже приводится официальная документация как переместить ваш сайт в новое место. Обычно перенос осуществляется на новый сервер, но описанные здесь шаги также применимы, если вы перемещаете свой сайт в новую папку на текущем веб-сервере.
Зайдите в Менеджер: очистите кеш и сессии¶
Прежде чем делать что-либо еще, было бы разумно очистить все кэшируемое содержимое.
Упаковка файлов¶
В UNIX системах вы можете создать файл-архив с помощью команды tar :
Чтобы не забыть Хорошая мнемоника для параметров «-czf» есть Создай Zip Файл.
Как только вы перейдете на другой сервер (другую папку), лучше всего поместить заархивированный файл в отдельный каталог, прежде чем извлекать его. Идея здесь в том, что если он «взорвется» (речь о распаковке), легче убрать беспорядок, когда архив содержится в собственном каталоге.
После того, как вы извлекли файлы, вы можете переместить весь каталог в нужное место. Опять же, будьте осторожны при массовом перемещении файлов: вы можете случайно забыть скопировать скрытые файлы. Вместо этого лучше переименовать или переместить содержащийся каталог.
Изменить владельца файлов¶
Иногда права собственности на группу и пользователя меняются при переходе с одного хоста на другой. Убедитесь, что файлы принадлежат и доступны веб-серверу. Вам нужно будет проверить конфигурацию сервера, чтобы убедиться в правильности настроек, или просто спросить подробности у хостера. Более простой метод может заключаться в том, чтобы просто посмотреть, кому принадлежит файл tar.gz при его загрузке на сервер. FTP файловый менеджер почти всегда устанавливает надлежащие права доступа на загруженный файл.
Возможность записи: 777 или 755?¶
Некоторые каталоги могут быть доступны для записи. В зависимости от конфигурации настроек безопасности это может быть 755 или 777. Файл tar.gz должен сохранять старые разрешения сервера, но они могут не работать на новом сервере.
Резервное копирование вашей базы данных¶
Многие панели управления сервером также предлагают инструменты для резервного копирования и сжатия баз данных.
Обновление файлов конфигурации¶
Разрешения Прежде чем вы сможете редактировать файл конфигурации, вам может потребоваться ослабить разрешения. После редактирования убедитесь, что вы восстановили права доступа только для чтения к файлу.
Также есть 3 дополнительных файла конфигурации, которые содержат две константы PHP:
Убедитесь, что вы также обновили пути в этих файлах.
Если вы работаете с
временной папкой на своем сервере, URL-адрес для разработки часто предшествует
путь_к_корню в адресе. Указанные выше файлы конфигурации будут включать этот временный путь при установке для разработки. Обязательно проверьте все указанные выше 4 файла на наличие этого временного пути и измените указанные выше настройки для производственных корневых установок.
Обновление базы данных¶
Не забывайте о базе данных MODX хранит некоторые данные о путях в своей базе данных! При перемещении серверов вам может потребоваться обновить workspace таблицу, в противном случае на странице Менеджера может отображаться белая страница.
Иногда разработчики структурируют свои серверы разработки и производства так, чтобы использовать точную информацию о пути, но часто информация о пути к файлу изменяется, когда мы перемещаем наш MODX веб-сайт на новый сервер.
Если путь на новом сервере отличается от пути на старом сервере, вам необходимо обновить эту запись. Вы можете отредактировать его с помощью GUI редактора (например, SQL-Yog или phpMyAdmin ) или выполнить следующую команду (опять же, вам необходимо настроить запрос в зависимости от вашей базы данных, префикса и пути к вашим данным):
На новом сервере¶
Войдите в Менеджер на новом сервере, чтобы убедиться, что он работает. При входе вы можете увидеть следующее:
Это потому, что старый путь все еще кэшируется; MODX Revolution кэширует много информации в базе данных и в файловой системе, поэтому после того, как вы передали файлы и базу данных на новый сервер, убедитесь, что вы еще раз очистили кеш вашего сайта и вручную обновили кеш страницы Менеджера в браузере.
Если кеш и информация о сеансе не были очищены перед перемещением, вам нужно будет это сделать, если вы столкнетесь с ошибками в Менеджере после перемещения сайта.
Иногда очистка кеша сайта в Менеджере не решает всех проблем с путями, и необходимо удалить все папки / файлы внутри папки core/cache с помощью FTP/SSH/командной строки или редактора Панели управления хостингом.
Перезапуск установки¶
Обновление настроек Компонентов¶
Устранение неполадок / Ошибки¶
Ошибки установки¶
Вы можете столкнуться с проблемами при повторном запуске программы установки на новом сервере. Иногда повторный запуск установки не удается, но копирование файлов и базы данных приводит к созданию рабочего сайта. Помните: повторный запуск настройки необходим только в том случае, если у вас есть кое-что, что сломалось во время передачи.
Класс xPDODriver_ не найден¶
Это проявляется в виде следующего сообщения об ошибке:
Обычно это признак того, что ваш файл конфигурации был поврежден. Снова откройте файл core/config/config.inc.php и убедитесь, что его содержимое на месте. Искаженный файл конфигурации содержит заполнители вместо значений.
В сведениях по установке показаны незавершенные элементы¶
Это может быть плохим предзнаменованием: на странице «Сведения об установке» сообщения не описаны. Это может быть признаком того, что разрешения где-то неверны.
Когда эта страница работает правильно, вы должны увидеть «Успешно» сообщения рядом с каждой операцией:
Проверка кодировки своей базы данных¶
Это может быть очень проблематично, если ваша база данных на одном сервере не использует ту же кодировку, что и новый сервер. Такие вещи, как одинарные кавычки и т. д., будут нарушены, а в некоторых случаях вы можете даже получить 500-ю ошибку при попытке просмотреть свой сайт.
Завершающие размышления¶
Было бы разумно хранить резервные копии со старого сервера до тех пор, пока новый сайт не подвергнется нескольким поколениям резервных копирований и все не будет проверено.
Если у вас возникнут проблемы после успешного запуска программы установки, попробуйте вручную удалить все файлы в каталоге core/cache и очистить кеш браузера и cookie-файлы.
Теперь ваш сайт должен работать на новом месте!
Разработано, построено и написано со всей любовью в мире от сообщества MODX.
















