Здравствуйте форумчане! Нуждаюсь в помощи от опытных пользователей этого сообщества. Хочу перенести сайт под управлением MODx Evo с хостинга на локальный компьютер (Win-7 (32)) на OpenServer 4.8.8. Подскажите пожалуйста, каким образом это лучше сделать? В какую папку копировать содержимое действующего сайта и что нужно, например, прописывать в файле конфигурации ..inc.php? Буду благодарен за любую информацию, ссылку (на youtube не нашёл).
Перенос сайта MODx Evo с хостинга на локальный OpenServer.
Версия MODX: Evolution
Комментарии (24)
Для добавления комментариев вы должны авторизоваться или зарегистрироваться.
Alex 22.09.2013 15:21 #
Дамп базы только проще через phpmyadmin снять по моему, ну и залить на локальный сервер тоже
Владимир Данилов 22.09.2013 15:29 #
Alex 22.09.2013 15:48 #
Евгений Малыкин 23.09.2013 09:49 #
1) Копируете содержимое сайта с сервера (ваш_сайт.com папку www).
2) Вставляете ее в папку путь_папки_опен_сервер_у_вас_на_компьютере: OpenServer\domains\ваш_сайт_локальный.com\
3) Запускаете ваш опен сервер, на рабочей панеле в районе часов на значке опен сервера правой кнопкой мыши -> дополнительно -> phpmyadmin
Пользователь (если ничего не меняли в настройках опен сервера): root
Пароль: (оставляем пустым)
4) Создаете пустую базу, в нее копируете содержимое файла:
ваша_база_данных.sql
5) Открываете в папке файл:
OpenServer\domains\ваш_сайт_локальный.com\www\manager\includes\config.inc.php
в нем меняете
$database_type = 'mysql';
$database_server = 'localhost';
$database_user = 'root';
$database_password = '';
$database_connection_charset = 'utf8';
$database_connection_method = 'SET CHARACTER SET';
$dbase = '`ваша_база_данных`';
$table_prefix = 'ваша_база_данных_'; //префикс таблиц и нижнее подчеркивание
Сохраняете.
6) Открываете в браузере:
ваш_сайт_локальный.com/manager
и вводите пароль как был на сервере для этого сайта для доступа к админ-панели.
7) Вкладка инструменты -> конфигурация -> Файл-менеджер: Путь для файл-менеджера - сброс
Вкладка инструменты -> конфигурация -> Интерфейс и представление: Путь к файлам - сброс
Сохраняете.
8) Теперь в браузере вводите:
ваш_сайт_локальный.com
Ура!!! Все работает (пишу по памяти, но должно все работать)
Владимир Данилов 23.09.2013 21:01 #
Хочу спросить про базу_данных.sql. Ведь после резервной копии с сервера в ней нужно также изменить пути к папке на OpenServer?
Евгений Малыкин 23.09.2013 21:58 #
Вы должны в localhost создать бузу данных, а в файле config.inc.php (уже на локальном компьютере) указать ее название и префикс. А опен сервер уже ищет ее там сам и, если находит, то подключается к ней.
Кроме config.inc.php единственные изменения нужно внести только в путь к файл-менеджеру и путь к файлам, т.е. для этого делается сброс, вот и все ;)
Владимир Данилов 24.09.2013 00:28 #
Евгений Малыкин 24.09.2013 00:50 #
Проверьте количество таблиц на сервере и у вас в localhost, может не записалось что-нибудь.
Еще нужно войти в админку и почистить кэш, если связь с БД есть, то в админку должно пустить.
То, что под localhost сайт появился - это хорошо, но, похоже, связи с базой данных нет. Скорее всего что-то не так сделали в файле config.inc.php
Пробовать нужно, завтра на работе попробую - отпишусь.
Евгений Малыкин 24.09.2013 10:50 #
1) Копируем содержимое хостинга на компьютер в папку /OpenServer/domains/vashsait.ru (теперь будем называть ваш сайт - vashsite.ru). Путь к содержимому локального сайта должен выглядеть так: /OpenServer/domains/vashsait.ru/www/(здесь внутри assets и manager)
2) Запускаем OpenServer (или перезапускаем)
3) На рабочей панели в районе часов значек - зеленый флаг, на нем правой кнопкой мыши -> в контекстном меню опен сервера выбираем "Дополнительно" -> "PhpMyAdmin", по умолчанию
Имя: root
Пароль: пустое поле
4) В PhpMyAdmin в горизонтальных вкладках выбираем "Базы данных" -> "Создать базу данных". Вписываем имя БД на английском языке, например "vasha", остальное не меняем, жмем "создать". База данных создана. Теперь в левой части экрана появилась наша БД (или там-же в выпадающем списке). Жмем на нее. Затем в горизонтальных вкладках выбираем "SQL" -> "Выполнить SQL-запрос(ы) к базе данных" и в поле вставляем содержимое вашей базы данных с хостинга, затем жмем "ок". Теперь таблицы в вашей БД на локальном компьютере. Нажмите слева в окне PhpMyAdmin на название вашей БД, когда она загрузится - запомните префикс таблиц, они будут вида "baz_" (здесь могут быть любые буквы, как на хостинге и нижнее подчеркивание)
5) Открываем файл OpenServer/domains/vashsait.ru/www/manager/includes/config.inc.php. В нем правим такие данные:
/**
* MODx Configuration file
*/
$database_type = 'mysql'; //как здесь
$database_server = 'localhost'; //как здесь
$database_user = 'root'; //как здесь
$database_password = ''; //как здесь
$database_connection_charset = 'utf8'; //как здесь
$database_connection_method = 'SET CHARACTER SET'; //как здесь
$dbase = '`vasha`'; //здесь название вашей БД
$table_prefix = 'baz_'; //здесь ваш префикс таблиц
Сохраняем!
6) На рабочей панели в районе часов значек - зеленый флаг, на нем правой кнопкой мыши -> в контекстном меню опен сервера выбираем "vashsait.ru". Скорее всего сайт не загрузится. В адресной строке браузера добавляем к вашему сайту vashsite.ru/manager (на страницу ввода имени и пароля должно пускать даже без БД). Вводите ваше имя и пароль для доступа к админ-панели (эти данные вы, конечно, должны знать). В админке очищаете кэш и в конфигурации делаете сброс для "Путь для файл-менеджера" и "Путь к файлам". Сохраняете! Здесь-же в верхнем меню "Сайт" -> "Просмотр"
Все, радуетесь работающему сайту на локальном компьютере!
Владимир Данилов 24.09.2013 19:45 #
Теперь я окончательно запутался.
Настройки OpenServer с минимальными изменениями:
"Основные"- *Требовать учётную запись администратора. (*- это галочка в окне)
"Меню"- *Показывать сайты в главном меню. *Открывать веб-страницы в указанном браузере.
"Кодировки"- HTTP сервер: utf-8. MySQL сервер: utf8_general_ci
"Домены"- Автопоиск доменов.
У меня на хостинге тип сервера: nginx/1.2.4 а по: PHP/5.2.17. В OpenServer 4.8.8 не такого типа сервера а есть только nginx/1.4.2 и nginx/1.5.3
У меня:
1. После бекапа сайта через свою панель управления сайтом на хостинге, архив выглядет с такими путями: \sata1\home\user\login\www\www.vashsait.ru\(здесь внутри assets и manager) Уже не большие расхождения в путях к исполняемым файлам сайта.
4. Я захожу в PhpMyAdmin нажимаю на верхнюю вкладку "Импорт", указываю архив базы (my_baza.zip) на компе- жму ок. После загрузки слева в дереве появляется название моей базы с таблицами.
5. В config.inc.php данные выглядят так:
/**
* MODx Configuration file
*/
$database_type = 'mysql';
$database_server = 'адрес сервера';
$database_user = 'user';
$database_password = 'пароль';
$database_connection_charset = 'utf8';
$database_connection_method = 'SET CHARACTER SET';
$dbase = '`my_baza`';
$table_prefix = 'home_';
6. При вводе в адресной строке браузера vashsite.ru/manager ничего не отображает, точнее "Проблема при загрузке сервера" и "Сервер не найден".
У меня доступ к FTP привязан к IP-адресу. В своей базе sql (my_baza.zip) перед заливкой В PhpMyAdmin на OpenServer заменяю на 127.0.0.1. В config.inc.php указал:
$database_type = 'mysql';
$database_server = 'localhost';
$database_user = 'user';
$database_password = 'пароль';
$database_connection_charset = 'utf8';
$database_connection_method = 'SET CHARACTER SET';
$dbase = '`my_baza`';
$table_prefix = 'my_baza_';
Вот с префиксами у меня не понятка. В пункте 5. вообще стоит "home_" название папки в архиве сайта, в путях к корню сайта на хостинге. Что прописывать в $table_prefix = 'home_'; ? Понятное дело после любых изменений перезагружал OpenServer. Где я делаю кизяки- не могу разобраться)...
Руслан Цыганов 13.11.2013 07:00 #
Проделал все описанные вами операции в точности как вы написали. <br />
Загрузил локальную стартовую страничку (в точности как на хостинге). Но, при переходе по ссылкам этого локального сайта, сайт адрес страницы меняет на внешний (то что был на хостинге). При отключении интернета, локальный сайт загружает лишь стартовую страницу.<br />
Не пойму в чём дело.
Руслан Цыганов 13.11.2013 08:18 #
Руслан Цыганов 13.11.2013 08:18 #
Юлия Климова 28.05.2015 15:15 #
Евгений Малыкин 24.09.2013 20:30 #
4. Можно и через импорт, должно все работать.
5. Префикс таблиц в вашей БД написан перед каждой таблицей, и имеет вид типа:
modx_user
modx_categories
и т.д.
в общем здесь префикс modx_ , как у вас посмотрите, без этого работать не будет.
6. Этот пункт описан в п. 1, в этом была наибольшая проблема.
П.С. И опен серверу, и хостингу без разницы где находится БД, у них все прописано где искать ее.
А вот структура может быть своя для доступа к файлам вашей цмс, поэтому исправьте то, что указано в п.1, а затем уже с БД разбирайтесь, хотя я уже, вроде, и про файлы и про БД все написал ;)
Владимир Данилов 24.09.2013 23:11 #
Евгений Малыкин 25.09.2013 13:07 #
Кстати для тестирования базы данных, в настройках config.inc.php можно ничего не менять, пусть останется так, как у вас на сервере, и модх сам подключится к ней по указанным данным. Вы главное добейтесь работаспособности страницы входа в админку.
Евгений Малыкин 25.09.2013 13:09 #
Владимир Данилов 25.09.2013 13:41 #
Евгений Малыкин 25.09.2013 13:46 #
Вы путь правильный к сайту на локальном правильный сделайте. При переходе на vashsite.ru/manager что пишет?
Владимир Данилов 25.09.2013 16:53 #
Евгений Малыкин 25.09.2013 18:00 #
У вас точно modx evo и папка manager в корне сайта?
Владимир Данилов 25.09.2013 21:54 #
Андрей 15.10.2016 19:59 #