MODX - Перенос сайта

Статья, в которой рассмотрим, как осуществляется перенос сайта, работающего под управлением CMS MODX, в новое место (на новый сервер или из одной директории в другую).

Перемещение сайта MODX на новое место

MODX Revolution - это веб-приложение, данные которого находятся в базе данных. Поэтому переход на новый сервер (хостинг) будет включать в себя перенос не только всех файлов, но и информации, хранящейся в базе данных. Кроме этих действий необходимо будет ещё выполнить и некоторые другие действия, необходимые для корректного переноса сайта на MODX Revo.

Совет: Данные действия не являются обязательными. Но они могут вам помочь разобраться с проблемой неработоспособности сайта, которая может возникнуть после его переноса на новое место. Всё что вам необходимо выполнить - это выключить в менеджере MODX системный параметр "Использовать дружественные URL (friendly_urls)" и переименовать файл .htaccess в ht.access. А после переноса сайта на новое место и проверки его работоспособности, произвести обратные действия. Т.е. включить дружественные URL и переименовать файл ht.access в .htaccess.

Совет: Перед тем как переходить к покупке хостинга и переносу на него сайта, работающего под управлением MODX Revolution, убедитесь в том, что с ним не возникнет никаких проблем (например, он не поддерживает PDO или что-то другое). Проверит этот момент очень просто, т.к. любой хостинг предоставляет демонстрационный период для бесплатного тестирования. Всё что вам нужно, это поставить новую сборку MODX Revolution и проверить её работоспособность.

Очистка кэша MODX

Прежде чем переходить к переносу сайта на другой хостинг или в какое-то иное место (например, на локальный сервер), его сначала необходимо полностью очистить от кэша. Для этого необходимо войти в админку (менеджер) MODX и выполнить в ней следующие действия:

  1. Отключить сайт (Системные настройки -> Статус сайта -> положение "Нет").
  2. Очистить кэш сайта (Управление -> Очистить кэш).
  3. Очистить сессии (Управление -> Завершить все сеансы).

Примечание: Самый безопасный и правильный способ - это очистить кэш вручную. Это можно сделать путем удаления всего содержимого каталога cache, расположенного в папке core. Этот процесс, как правило, более быстро выполнить на сервере с помощью диспетчера файлов. Но данное действие также можно выполнить и протоколу FTP.

Копирование файлов

Следующее действие - это скопировать все файлы с рабочего проекта. Данное действие более быстро выполнить, если их предварительно упаковать в архив.

Если вы хотите перенести сайт MODX с одного хостинга на другой, то в этом случае можно воспользоваться готовыми инструментами специально предназначенными для этого.

Например, на хостинге SpaceWeb можно воспользоваться файловым менеджером, в котором выбрать ссылку "Создать архив всех файлов" или в разделе "Backup" с помощью элемента "Сохранить архив всех файлов в домашней директории".

Создание резервной копии всех файлов на хостинге SpaceWeb
Создание резервной копии всех файлов на хостинге SpaceWeb

Например, на хостинге Beget создать архив необходимых файлов можно с помощью файлового менеджера (правая кнопка мыши -> пункт "Скачать архивом ZIP") или в разделе "BackUp" с помощью кнопки "Сохранить резервную копию".

Создание резервной копии всех файлов на хостинге SpaceWeb
Создание резервной копии всех файлов на хостинге Beget

Создание дампа базы данных

Выполнить дамп базы данных, т.е. экспорт её структуры и данных. В зависимости от того какую вы используете базу данных - это осуществляется одним или другим инструментом.

В MySQL, например, это осуществляется с помощью клиенткой утилиты mysqldump:

# экспорт всей базы данных dbname в файл dump.sql
# dbusername - имя пользователя
# pdbpassword - пароль пользователя
mysqldump -u dbusername -pdbpassword dbname > /путь/до/dump.sql

Данное действие также можно выполнить с помощью инструмента phpmyadmin. Для этого необходимо выбрать базу данных, перейти на вкладку "Экспорт", установить необходимые параметры и нажать кнопку "OK".

Создание дампа базы данных MODX с помощью инструмента phpmyadmin
Создание дампа базы данных MODX с помощью инструмента phpmyadmin

Если вы хотите сделать резервную копию базы данных сайта, находящего на хостинге, то это наиболее просто выполнить через панель управления:

  • на хостинге SpaceWeb - в панели управления выбрать значок "Базы MySQL" и в открывшейся странице напротив необходимой базы данных нажать на иконку дискеты (Создать копию "дамп" базы).
  • на хостинге Beget - в панели управления перейти в раздел "BackUp", нажать на вкладку "Базы данных", выбрать базу данных и нажать на кнопку "Выгрузить резервную копию".

Перенос файлов и данных на новое место

Выполняем обратные действия, т.е.:

  • Переносим архив с файлами в необходимую директорию на новом сервере. На хостинге эту операцию можно выполнить с помощью файлового менеджера. После копирования необходимо проверить права на директории и файлы. Для директорий должно быть выставлено 755, для файлов - 644. Если права для папок и файлов выставлены не правильно, то их можно изменить с помощью следующих команд в SSH-клиенте (PuTTY):
    # для директорий
    find /путь/до/сайта -type d -exec chmod 755 {} \;
    # для файлов
    find /путь/до/сайта -type f -exec chmod 644 {} \;
    
  • Создать базу данных и импортировать в неё ранее созданный дамп (файл с разрешением sql). Если файл имеет большой размер, то данную операцию необходимо выполнить в командной строке с помощью инструмента mysql:
    # импорт данных в базу данных с именем dbname из файла dump.sql
    # dbusername - имя пользователя базы данных
    # pdbpassword - пароль пользователя базы данных
    mysql -u dbusername -pdbpassword dbname < dump.sql
    На хостинге выполнение данной команды осуществляется через протокол SSH. В Windows для подключения к серверу по данному протоколу можно использовать SSH-клиент PuTTY.

    Если размер базы не большой, то для импортирования базы данных можно использовать инструмент phpmyadmin.

Настройка конфигурационного файла MODX

После переноса файлов и данных на новый сервер (например, другой хостинг), необходимо изменить главный конфигурационный файл MODX config.inc.php, который расположен в следующем месте:

/core/config/config.inc.php  

В этом файле необходимо указать правильные пути к различным ресурсам MODX, а также настройки для подключения к базе данных. Для того чтобы данные действия выполнить на хостинге необходимо сначала узнать его домашнюю директорию. Выполнить это можно, например, можно с помощью SSH. Для этого в SSH-клиенте необходимо будет ввести следующие команды:

# перейти в домашнюю директорию пользователя username
cd ~username
# показать текущую директорию
pwd

Открываем файл config.inc.php и вносим в него следующие изменения:

/* Настройки для подключения к базе данных */
/* 1 - имя сервера */
$database_server = 'localhost';
/* 2 - имя пользователя */
$database_user = 'root';
/* 3 - пароль */
$database_password = '';
/* 4 - кодировка */
$database_connection_charset = 'utf8';
/* 5 - имя базы данных */
$dbase = 'mytest';
/* 6 - dsn-строка для соединения с баой данных */
$database_dsn = 'mysql:host=localhost;dbname=mytest;charset=utf8';
  
/* Пути (/путь/до заменить на ваш путь до данной папки) */
$modx_core_path= '/путь/до/core/';
$modx_processors_path= '/путь/до/core/model/modx/processors/';
$modx_connectors_path= '/путь/до/connectors/';
$modx_manager_path= '/путь/до/manager/';
$modx_base_path= '/путь/до/';
$modx_assets_path= '/путь/до/assets/';
 
/* Имя домена */
$http_host='yoursite.com';

Внимание: В процессе редактирования файла config.inc.php возможно потребуется изменить его разрешения. После правки этого файла установите ему права только на чтение.

Изменения также необходимо ещё произвести в 3 дополнительных файлах php:

  • /config.core.php
  • /connectors/config.core.php
  • /manager/config.core.php

В этих файлах необходимо указать правильный полный путь до директории сайта MODX Revolution core :

define('MODX_CORE_PATH', '/путь/до/core/');  

Обновление файла .htaccess

При переносе сайта на новый (другой) хостинг, возможно, потребуется внести изменения в конфигурационный файл .htaccess. Это может быть связано с тем, что некоторые его текущие настройки могут не поддерживаться на новом хостинге.

Внимание: Если вы при переходе на новый хостинг меняете ещё и доменное имя сайта, то убедитесь в том, что вы провели соответствующие изменения в файле .htaccess.

Повторный запуск программы установки

После перемещения сайта и внесения изменений в конфигурационные файлы необходимо повторно запустить установочный скрипт (site.ru/setup).

Совет: Повторный процесс установки MODX Revolution позволит закрепить процедуру перемещения сайта посредством выполнения команд, находящихся в setup.

Для этого необходимо, если у вас нет установочной сборки, скачать её. При этом следует скачать версию MODX Revoution, которая была у вас установлена на сайте. После этого распаковать полученный архив и загрузить каталог setup в корень вашего сайта. Запустить процесс установки и выбрать режим обновления.


Рекомендация после установки: Для того чтобы кэш браузера не влиял на работоспособность проверяемого сайта, страницы лучше открывать в режиме инкогнито или после очистки его от кэша.

Если в результате переноса у сайта не работает админка, например, отображается пустая страница (белый экран), то попробуйте воспользоваться советами и рекомендациями, приведёнными в статье.



   MODX Revo 0    950 0

Комментарии (0)

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