- MODX — Перенос сайта
- Очистка кэша MODX
- Копирование файлов
- Создание дампа базы данных
- Перенос файлов и данных на новое место
- Настройка конфигурационного файла MODX
- Обновление файла .htaccess
- Повторный запуск программы установки
- MODX Revo - Ввод названия сайта и настройка ЧПУ
- Настройка ЧПУ для сайта
- Понятие ЧПУ
- Настройка файла .htaccess для ЧПУ
- Настройка параметров системы MODX Revolution для ЧПУ
MODX — Перенос сайта
MODX Revolution — это веб-приложение, данные которого находятся в базе данных. Поэтому переход на новый сервер (хостинг) будет включать в себя перенос не только всех файлов, но и информации, хранящейся в базе данных. Кроме этих действий необходимо будет ещё выполнить и некоторые другие действия, необходимые для корректного переноса сайта на MODX Revo.
Совет: Данные действия не являются обязательными. Но они могут вам помочь разобраться с проблемой неработоспособности сайта, которая может возникнуть после его переноса на новое место. Всё что вам необходимо выполнить — это выключить в менеджере MODX системный параметр «Использовать дружественные URL (friendly_urls)» и переименовать файл .htaccess в ht.access . А после переноса сайта на новое место и проверки его работоспособности, произвести обратные действия. Т.е. включить дружественные URL и переименовать файл ht.access в .htaccess .
Совет: Перед тем как переходить к покупке хостинга и переносу на него сайта, работающего под управлением MODX Revolution, убедитесь в том, что с ним не возникнет никаких проблем (например, он не поддерживает PDO или что-то другое). Проверит этот момент очень просто, т.к. любой хостинг предоставляет демонстрационный период для бесплатного тестирования. Всё что вам нужно, это поставить новую сборку MODX Revolution и проверить её работоспособность.
Очистка кэша MODX
Прежде чем переходить к переносу сайта на другой хостинг или в какое-то иное место (например, на локальный сервер), его сначала необходимо полностью очистить от кэша. Для этого необходимо войти в админку (менеджер) MODX и выполнить в ней следующие действия:
- Отключить сайт (Системные настройки -> Статус сайта -> положение «Нет»).
- Очистить кэш сайта (Управление -> Очистить кэш).
- Очистить сессии (Управление -> Завершить все сеансы).
Примечание: Самый безопасный и правильный способ — это очистить кэш вручную. Это можно сделать путем удаления всего содержимого каталога cache , расположенного в папке core . Этот процесс, как правило, более быстро выполнить на сервере с помощью диспетчера файлов. Но данное действие также можно выполнить и протоколу FTP.
Копирование файлов
Следующее действие — это скопировать все файлы с рабочего проекта. Данное действие более быстро выполнить, если их предварительно упаковать в архив.
Если вы хотите перенести сайт MODX с одного хостинга на другой, то в этом случае можно воспользоваться готовыми инструментами специально предназначенными для этого.
Например, на хостинге SpaceWeb можно воспользоваться файловым менеджером, в котором выбрать ссылку «Создать архив всех файлов» или в разделе «Backup» с помощью элемента «Сохранить архив всех файлов в домашней директории».
Например, на хостинге Beget создать архив необходимых файлов можно с помощью файлового менеджера (правая кнопка мыши -> пункт «Скачать архивом ZIP») или в разделе «BackUp» с помощью кнопки «Сохранить резервную копию».
Создание дампа базы данных
Выполнить дамп базы данных, т.е. экспорт её структуры и данных. В зависимости от того какую вы используете базу данных — это осуществляется одним или другим инструментом.
В MySQL, например, это осуществляется с помощью клиенткой утилиты mysqldump :
# экспорт всей базы данных dbname в файл dump.sql # dbusername - имя пользователя # pdbpassword - пароль пользователя mysqldump -u dbusername -pdbpassword dbname > /путь/до/dump.sql
Данное действие также можно выполнить с помощью инструмента phpmyadmin . Для этого необходимо выбрать базу данных, перейти на вкладку «Экспорт», установить необходимые параметры и нажать кнопку «OK».
Если вы хотите сделать резервную копию базы данных сайта, находящего на хостинге, то это наиболее просто выполнить через панель управления:
- на хостинге SpaceWeb — в панели управления выбрать значок «Базы MySQL» и в открывшейся странице напротив необходимой базы данных нажать на иконку дискеты (Создать копию «дамп» базы).
- на хостинге Beget — в панели управления перейти в раздел «BackUp», нажать на вкладку «Базы данных», выбрать базу данных и нажать на кнопку «Выгрузить резервную копию».
Перенос файлов и данных на новое место
Выполняем обратные действия, т.е.:
- Переносим архив с файлами в необходимую директорию на новом сервере. На хостинге эту операцию можно выполнить с помощью файлового менеджера. После копирования необходимо проверить права на директории и файлы. Для директорий должно быть выставлено 755, для файлов — 644. Если права для папок и файлов выставлены не правильно, то их можно изменить с помощью следующих команд в SSH-клиенте (PuTTY):
# для директорий find /путь/до/сайта -type d -exec chmod 755 {} \; # для файлов find /путь/до/сайта -type f -exec chmod 644 {} \;
# импорт данных в базу данных с именем dbname из файла dump.sql # dbusername - имя пользователя базы данных # pdbpassword - пароль пользователя базы данных mysql -u dbusername -pdbpassword dbname < dump.sql
Настройка конфигурационного файла MODX
После переноса файлов и данных на новый сервер (например, другой хостинг), необходимо изменить главный конфигурационный файл MODX 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:
В этих файлах необходимо указать правильный полный путь до директории сайта MODX Revolution core :
define('MODX_CORE_PATH', '/путь/до/core/');
Обновление файла .htaccess
При переносе сайта на новый (другой) хостинг, возможно, потребуется внести изменения в конфигурационный файл .htaccess. Это может быть связано с тем, что некоторые его текущие настройки могут не поддерживаться на новом хостинге.
Внимание: Если вы при переходе на новый хостинг меняете ещё и доменное имя сайта, то убедитесь в том, что вы провели соответствующие изменения в файле .htaccess .
Повторный запуск программы установки
После перемещения сайта и внесения изменений в конфигурационные файлы необходимо повторно запустить установочный скрипт ( site.ru/setup ).
Совет: Повторный процесс установки MODX Revolution позволит закрепить процедуру перемещения сайта посредством выполнения команд, находящихся в setup .
Для этого необходимо, если у вас нет установочной сборки, скачать её. При этом следует скачать версию MODX Revoution, которая была у вас установлена на сайте. После этого распаковать полученный архив и загрузить каталог setup в корень вашего сайта. Запустить процесс установки и выбрать режим обновления.
Рекомендация после установки: Для того чтобы кэш браузера не влиял на работоспособность проверяемого сайта, страницы лучше открывать в режиме инкогнито или после очистки его от кэша.
Если в результате переноса у сайта не работает админка, например, отображается пустая страница (белый экран), то попробуйте воспользоваться советами и рекомендациями, приведёнными в статье.
MODX Revo - Ввод названия сайта и настройка ЧПУ
Ввод названия сайта производится в окне "Настройка системы". Чтобы в неё зайти необходимо нажать на значок "Шестерёнки" и выбрать в открывшемся меню пункт "Настройка системы".
Так как MODX содержит большое количество настроек, то рекомендую пользоваться фильтрами для отбора нужных параметров (например, параметр "Название сайта" находится в разделе "Сайт"). После выбора фильтра "Сайт" переходим к изменению параметра "Название сайта", для этого необходимо в соответствующем поле ввести нужное название (например: "Мой блог").
Примечание: Сохранять или подтверждать изменения параметров системы в MODX Revolution не требуется.
Настройка ЧПУ для сайта
Но перед тем как переходить к настройке ЧПУ, давайте разберёмся что означает этот термин.
Понятие ЧПУ
ЧПУ – это понятный для человека веб-адрес страницы сайта, т.е. тот который Вы видите в адресной строке браузера.
Например, адрес веб-страницы на MODX без ЧПУ выглядит следующим образом:
http://mysite.ru/index.php?id=2
Этот адрес содержит страницу (ресурс), которая имеет идентификатор 2 во внутренней структуре CMS MODX Revolution. Такая запись не является понятным пользователю, да и поисковым машинам Google и Yandex она не очень понятна, что в итоге может привести к более низким позициям при выдаче сайта в этих системах.
Совсем другое дело, когда адрес веб-страницы выводится с помощью ЧПУ, такой адрес отражает понятную для человека иерархию данных на сервере, например:
http://mysite.ru/articles/bootstrap-3/labels-and-icons
Данный адрес отображает страницу "labels-and-icons", которая находится в контейнере "bootstrap-3", а он, в свою очередь, содержится в контейнере "articles".
Настройка файла .htaccess для ЧПУ
Настройка веб-сервера для работы с ЧПУ осуществляется посредством конфигурационного файла .htaccess :
- Переименовываем файл ht.access в .htaccess .
- Открываем файл .htaccess , находящийся в корневой директории MODX (например, в " z:\home\mysite.ru\www ") с помощью текстового редактора.
- Проверяем, чтобы 3 следующие строчки, идущие после комментария (The Friendly URLs part), были разкомментированы:
# The Friendly URLs part RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
Эти строчки обеспечивают интерпретацию адресов index.php?q=idРесурса в ЧПУ на сервере.
Для работы вышеприведённых преобразований в файле .htaccess должна быть включена (до вышеприведённых строчек) директива RewriteEngine .
Настройка параметров системы MODX Revolution для ЧПУ
Для настройки ЧПУ в CMS MODX Revolution необходимо перейти в раздел "Настройка системы" и в поле "Фильтр по разделу. " выбрать из списка пункт "Дружественные URL".
В открывшейся таблице необходимо изменить значения следующих параметров:
- Использовать дружественные URL -> Да.
- Проверять на дублирование URI во всех контекстах -> Да.
- Использовать вложенные URL -> Да. Данный параметр рекомендую использовать, т.к. в этом случае в URL адрес будут включаться названия всех контейнеров на пути к выводимому ресурсу, что будет более наглядно и для веб-разработчика и для посетителей сайта. Также при использовании данного параметра необходимо применять либо полные пути к файлам (изображения, css, javascript и т.д.), либо использовать тег ( ) в заголовке веб-страницы.
- Строгий режим дружественных URL -> Да. Данный параметр тоже рекомендую использовать, т.к. это исключит дублирование контейнеров (например: mysite.ru/article/ и mysite.ru/article ).
- Автоматически генерировать псевдонимы ->Да. Данному параметру необходимо установить значение «Да», если вы не хотите вручную вводить alias для ресурсов, которые вы будете создавать.
Примечание: Для автоматической транслитерации псевдонимов необходимо установить пакет "yTranslit" или "translit". - Транслитерация псевдонимов -> russian . Данный параметр установите в russian , если на сайте Вы хотите использовать транслитерацию для псевдонимов ресурсов (например: mysite.ru/статьи/ -> mysite/articles ).
В итоге для настройки ЧПУ в CMS MODX Revolution мы выполнили следующие действия: