Перенос локального сайта на удаленный сервер

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

  • Очистить лог-файлы и кэш MODX, сбросить разграничения доступа и сессии.
  • Создать дамп базы данных MODX в файле .SQL, используя PhpMyAdmin.
  • Создать новую базу данных на удаленном сервере и импортировать в нее созданный ранее файл .SQL.
  • Отредактировать файлы config.inc.php и .htaccess
  • Скопировать все файлы на удаленный сервер.
  • Создать разграничения доступа для файлов и папок и ограничения памяти для удаленного сайта (если это необходимо).
  • Запустить Setup на новом сайте в режиме обновления.

Давайте рассмотрим эти шаги более детально.

Очистка MODX

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

  • Перейдите к Отчеты -> Журнал ошибок в верхнем меню и кликните кнопку "очистить".
  • Выберите Безопасность -> Перезагрузить права доступа.
  • Выберите Сайт -> Обновить сайт.
Наиболее безопасным способом очистки кэша является его очистка вручную. Выполните это путем стирания всего содержимого из папки core/cache.
  • Выберите Безопасность -> Завершить все сеансы (вы тоже будете выведены из панели управления - не входите повторно).
  • Выключите FURL и переименуйте .htaccess  ht.acess.

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

Поскольку большая часть сайта MODX содержится в базе данных, недостаточно просто перенести на удаленный сервер файлы. Необходимо также перенести содержимое базы данных.

Используйте для этого PhpMyAdmin. Выполните следующие шаги для экспорта данных :

  • Выберите базу данных MODX для вашего сайта из списка в левой части.
  • Перед выполнением экспорта базы данных хорошей идеей будет очистить пару таблиц, которые нам не нужны. Кликните на закладке "Структура". Выберите modx_manager_Log и modx_event_Log, установив чекбоксы рядом с ними. Убедитесь, что отмечены только эти две таблицы. Внизу панели найдите "С отмеченными" и выберите "Очистить".
  • В верхнем меню базы данных выберите "Экспорт".
  • В левой стороне окна "Экспорт" должны быть подсвечены все файлы базы данных, так что не кликайте в этой области.
  • Убедитесь, что ниже списка файлов выбрана радиокнопка SQL.
  • Выберите остальные требующиеся параметры (в большинстве случаев подойдут параметры по умолчанию) и нажмите кнопку ОК.
  • Вы должны видеть диалог сохранения файла, который позволит вам сохранить имя и местоположение файла .SQL.

Импорт базы данных

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

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

В PhpMyAdmin выберите базу данных, которую вы создали для нового сайта. Затем в верхнем меню выберите "Импорт". Файл .SQL можно будет загрузить непосредственно с вашего компьютера.

В верхней части экрана импорта вы увидите кнопку "Обзор". Обратите внимание на максимальный размер файла, указанный рядом с кнопкой "Обзор", и убедитесь, что ваш файл .SQL не превышаетэто значение. Если это значение все-таки превышается, вам прийдется повторить экспорт с использованием компрессии.

Хорошей идеей является заглянуть в ваш файл SQL и проверить кодировку, используемую для базы данных и каждой таблицы.

Кодировка базы данных должна быть указана в начале файла, а кодировка для каждой таблицы в начальном разделе каждой таблицы. Если вы все сделали правильно, везде должна быть указана кодировка utf-8.

Редактирование  файла .htaccess

Отредактируйте файл корневой директории .htaccess согласно параметрам удаленного сервера. Обычно это означает изменение строки RewriteBase, чтобы она отражала новое местоположение сайта. В случае, если сайт, например, находится не в корневой папке, а в папке modx, эта строка будет выглядеть как :

RewriteBase /modx/

Пересылка файлов

Используя программу FTP, выполните пересылку всех файлов с локальной установки MODX на удаленный сервер. 

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

Корректировка ваших файлов Config

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

if (!defined('MODX_CORE_PATH')) {
    $modx_core_path= '/путь_к_корневому_каталогу_на_сервере/core/';
    define('MODX_CORE_PATH', $modx_core_path);

Все остальные замены выполняйте по аналогии, заменяя путь_к_корневому_каталогу_на_сервере на используемый для удаленного сервера.

Также скорректируйте в config.inc.php URL вашего сайта (url_вашего_сайта), если он отличается от локального значения вот здесь :

if (!defined('MODX_HTTP_HOST')) {
    if(defined('PHP_SAPI') && (PHP_SAPI == "cli" || PHP_SAPI == "embed")) {
        $http_host='url_вашего_сайта';

Кроме того потребуется заменить пути для следующих файлов :

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

Вот по этому образцу :

<?php
define('MODX_CORE_PATH', '/путь_к_корневому_каталогу_на_сервере/core/');
define('MODX_CONFIG_KEY', 'config');
?>

Установка прав доступа и размеров памяти

 Сайт на удаленном хостинге обычно требует установки прав доступа, которые не нужны на локальном хостинге.

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

Запуск программы установки Setup

Запустите Setup, как вы делали это ранее при начальной (новой) установке MODX. Введите в адресной панели вашего браузера что-то подобное :

http://your_new_site.ru/setup

В начале установки нужно выбрать чекбокс "Обновление существующей установки". При этом будут сохранены данные  базы данных вашего локального сайта. Если вам не удается выбрать чекбокс "Обновление существующей установки", это означает, что вы не выполнили надлежащим образом один из предыдущих шагов.

НазадВперёд