Требования к хостингу:
- Расширения PHP:
- zlib
- hash
- JSON (or PECL library)
- mod_rewrite (for friendly URLs/.htaccess)
- GD lib (required for captcha and file browser)
- PDO, specifically pdo_mysql (for xPDO)
- ImageMagick (for thumbnails)
- SimpleXML
- cURL (for Package Management)
- Настройки PHP:
- safe_mode off
- register_globals off
- magic_quotes_gpc off
- php-mbstring on (required on some extras like Gallery)
- PHP memory_limit 24MB or more, depending on your server
- Чистим всё через админку ModX.
- Управление - Обновить сайт.
- Управление - Снять блокировки.
- Управление - Перезагрузить права доступа.
- Завершить все сеансы.
- Чистим папку core/cache, либо cd .../docs/core/cache, rm -rf ./*, либо через FTP, либо оставляем на следующий шаг.
- Переносим файлы
- Пакуем всё в ZIP архив: cd .../docs, zip -r -9 sitename.zip *
- Переносим sitename.zip в каталог нового хостинга, распаковываем в админке хостинга.
- Если не удалили кеш ранее, заходим в /core/cache и удаляем. (Лучше проверить наличие содержимого папки с кешем в любом случае, вдруг кто-то успел зайти на сайт после очистки).
- Переносим таблицы.
- Открываем PhpMyAdmin у себя, открываем базу, экспортируем(можно установить сжатие в zip) нашу базу в файл, скачиваем.
- Создаём у хостера новые базу и пользователя(копируем их данные чтобы потом записать в конфиг).
- Заходим у хостера в phpMyAdmin и заходим в базу. Импортируем в новую БД наш файл с табличками.
- Редактируем core/config/config.inc.php
- Меняем пути в файле конфигурации с путей старого хостинга (например /var/www/sitename.ru/docs/) на пути нового (например /home/sitename/sitename.ru/docs/).
- Меняем строки соединения с базой данных, переписывая новыми данными.
- Переустановка
- Проверяем на наличие каталога setup на новом хостинге, если нет то скачиваем тот же дистрибутив MODX, закидываем на хостинг, и из него копируем папку setup в корень.
- Открываем .../sitename.ru/docs/setup/index.php в блокноте, добавляем куда-нибудь error_reporting(E_ALL); ini_set('display_errors', 1);
- Открываем в браузере sitename.ru/setup/. Выбираем существующую установку. Если хостер поотрубал нам модули, необходимые для работы и сыплются ошибки вроде PDO::__construct cannot find file... или что-то подобное - идём в настройки модулей у хостера, переходим в настройку PHP, и проверяем на наличие подключенных модулей из начала статьи.
- Пробуем снова открыть /setup, выбрать язык, далее, далее, в отчете о переустановке все сообщения должны гореть зелёным. Если не может соединиться с базой - проверяем файл конфигурации core/config/config.inc.php и данные связи с базой. Если будет ошибка в модулях - должен выводить ошибку наверху страницы.
- Если вылазиет просто ошибка 500(без подробностей), то идем в /core/cache/logs/error.log и проверяем его на наличие ошибок, действуем по обстоятельствам.
- Производим установку. Файлы установки на всякий случай не удаляем.
- Проверка сайта
- Крестимся и переходим по ссылке авторизации. Ещё раз крестимся и вводим логин и пароль, который использовался на dev-хостинге.
- Если крест животворящий помог, значит вас должно пустить в админку. Если начнёт говорить что action not found или что-то подобное - вы забили на шаг с очисткой кеша. Чистите и пробуйте ещё раз.
- Если после установки появляются ошибки вроде неожиданной скобки [, это значит что хостер застрял в прошлом и не в состоянии обновить РНР до нормальной версии. Ну или кто-то слишком ленив, чтобы создавать массивы через array(). Исправляйте код через БД.
- Если после установки сайт выдаёт 500 - что-то неверно в конфигурационных файлах. Проверяйте соединение с базой данных в первую очередь и пути к файлам.