Как организовать перенос сайта на другой домен? Перенос данных на сайт


Перенос данных с сайта на сайт (Drupal)

Часто возникает задача переноса контента на новый сайт или между различными версиями сайта. Рассмотрим перенос данных с одного Drupal-сайта на второй Drupal-сайт. Проблемы переноса материалов с других CMS (Joomla, Wordpress и др.) на CMS Drupal обсудим в другой раз.Под «переносом контента» будем считать перенос nod, связанных с ними терминов таксономии и комментариев, а также пользователей, написавших эти комментарии и nod-ы.

Зачем это нужно?

Выделим 2 главных случая, когда это необходимо:

  • Перенос материалов со старого Drupal-сайта на новый.Пример: у нас есть Drupal-сайт, с неправильной архитектурой и похаченный, но с огромным количеством контента. Где клиент взял этот чудо сайт и кто занимался разработкой лучше не знать. Наша задача состоит в том, что нужно сделать новый сайт, с почти таким же функционалом, перенести на него все статьи, комментарии и, конечно, юзеров.
  • Перенос материалов с локальной dev-версии на stage-сервер.Пример: над сайтом трудятся несколько разработчиков. Каждый из них работает на своем локальном dev-сервере, создает меню, nod-ы, словари и термины. Каждый из них, выполнив свою задачу, должен отправить изменения на stage-сервер. Как это сделать, не мешая друг другу?

Здесь-то и возникают вопросы, которые необходимо решать.

Почему не скопировать таблицы или всю БД?

Собственно, это первое, что приходит в голову. Но если немного подумать, то становится ясно, что этого нельзя делать. Если несколько разработчиков работают с одним сайтом, то вы просто поломаете что-то, что там уже сделано или делается в этот момент. Это недопустимо.Даже если вы точно знаете, что с теми таблицами, которые предстоит заменить, никто не работает, возникает другая проблема: связи между таблицами. Мы не можем просто скопировать таблицу node, потому что у нее большое количество связей с другими таблицами. К примеру, вы откроете схему модуля node и узнаете, что нужно скопировать. Это вам вряд ли поможет, потому что остается много других проблем. Например, есть такой нюанс (точнее один из многих нюансов, но рассмотрим реальный пример, который забрал немало времени у наших разработчиков): если вы удачно перенесли nod-у, но в поле автора nod-ы указан идентификатор юзера, которого не существует на этом сайте, то nod-а не будет нигде отображаться.На следующей диаграмме (рис. 1) схематически изображены основные связи таблицы node с другими таблицами в практически базовой сборке Drupal. На ней видны связи между экспортируемыми объектами, которые нужно сохранить. Иначе, весь смысл в таком переносе контента теряется.

Модули для переноса контента?

Наконец, мы дошли до самого интересного – модулей Drupal, которые осуществляют перенос контента (я перечислю только основные, наиболее известные):

  • Node export (как понятно из названия) экспортирует nod-ы, прост в использовании.
  • Taxonomy export, соответственно, переносит словари и термины таксономии. Так же простой и выполняет свою задачу отлично.
  • модули Node import, Menu import, User import я объединены в одну группу, потому что они осуществляют только импорт, и в основном используются для переноса материалов с других систем. Экспорт формировать нужно вручную.
  • самый многофункциональный модуль – Deployment, а точнее связка Deployment + Services. На нем остановимся наиболее подробно.

Далее, обсудим каждый из пунктов отдельно.

Node export

Как уже написано выше, экспортирует nod-ы, прост в использовании. Умеет экспортировать nod-ы как по одной штуке, так и несколько сразу. Отдает результат в текстовом поле или в виде файла (это настраивается). Также можно настроить поля, которые будут очищаться при экспорте, причем для каждого content type.

Импортировать, так же, можно, вставив текст импорта в текстовое поле или загрузив файл.

Преимущества:

  • Понимает CCK-поля (стандартные, Imagefield, Upload).
  • Экспортирует вложения, картинки. Причем, по умолчанию, экспортирует все в один файл: нет отдельно картинок, отдельно содержимого nod-ы. Это очень радует.
  • Возможность работы через Drush. Поддержка Drush обычно здорово ускоряет работу.

Недостатки:

  • Не экспортирует комментарии.
  • Не создает контент-тайп, переносит только название. Если на сайте-получателе не будет такого же контент-тайпа, то импорт не удастся.
  • Не создает термины таксономии, переносит только идентификаторы. На сайте-получателе должны быть такие же термины (с такими же идентификаторами), как на сайте-отправителе. Иначе, связи потеряются – не очень хорошо.
  • Не создает юзеров, переносит только идентификаторы. Если указанного юзера нет, то автором станет root.

Вывод: сайт-получатель должен быть идентичен сайту-отправителю.

Taxonomy export

Модуль отлично справляется со своей задачей. Может переносить как определения словарей, так и словари с терминами, сохраняя иерархию и соответствия «контент-тайп - словарь», если, конечно, такой контент-тайп на сайте-получатале существует.

Так же как Node export, умеет отдавать данные как в браузер в текстовое поле, так и в виде файла.Умеет обновлять существующие словари и термины. Одно главное условие – идентификаторы словарей и терминов должны совпадать на сайте-отправителе и получателе.

Недостаток один. Нет смысла использовать модуль вместе с Node export. Если вы хотите сохранить зависимости между nod-ами и терминами на сайте-получателе, то у вас ничего не получится, потому что модуль создает записи с новыми идентификаторами(отличными от  соответствующих на сайте-отправителе). Все связи теряются.

Node import, Menu import, User import

Скажу всего пару слов. Эти модули осуществляют импорт из CSV-файлов, которые необходимо перед этим сформировать. Эти модули не осуществляют экспорт, так как они используются в основном для переноса материалов с других систем на Drupal.

Deployment + Services

Теперь мы подошли к главному модулю, которому я уделю больше всего внимание. Основной принцип работы модуля (рис. 2) заключается в том, что, так сказать, он сам занимается импортом данных на сайте-получателе. Точнее, отправляет нужные команды, на которые реагирует модуль Services на сайте-получателе. Все, что нужно сделать, это выбрать элементы для отправки и запустить deployment.

Отметим, что на сайте-отправителе нужно установить модуль Deployment и настроить его, указав адрес сервера-получателя. А на сайте-получателе необходимо установить модуль XMLRPC и Services, включить в его настройках авторизацию по идентификатору сессии (авторизацию по ключу Deployment не поддерживает).Подробней о настройке можно почитать в файле INSTALL.txt

Состав модуля Deployment:

  • Deploy book pages
  • Deploy Comments
  • Deploy Content Type.
  • Deploy Dates
  • Deploy Files
  • Deploy Nodereferences
  • Deploy System Settings
  • Deploy Userreferences
  • Deploy Views
  • Node Deployment
  • Taxonomy Deployment
  • User Deployment

Достоинства:

  • Понимает CCK-поля (стандартные, Date, Nodereference, Userreference)
  • Умеет экспортировать комментарии. Не экспортирует комментарии вместе с nod-ами. Если нужно экспортировать и комментарии, то они переносятся отдельно, но связи при этом сохраняются.
  • При экспорте материалов (node), сохраняет связи с таксономией (создает термины, если таковых нет).Термины экспортирует 1 раз. То есть, если такой термин уже есть, то дубль создаваться не будет.
  • При экспорте материалов (node), сохраняет автора (переносит, если такого нет). То же самое, что и с терминами. Создает юзера 1 раз.
  • Умеет экспортировать настройки любого модуля (если он использует system_settings_form()). Не совсем перенос контента, но весьма удобная вещь. Можно перенести любые настройки, оформленные через system_settings_form(). Еще один стимул разработчикам использовать эту функцию.
  • Deployment plans. Очень удобная и полезная фича. Ниже мы рассмотрим ее подробнее.

Недостатки:

  • Работает только с Services 6.x-2.x. Третью версию Services не поддерживает и не собирается.
  • Не поддерживает Filefield/ImagefieldВсе вложения и картинки теряются..
  • Конфликт с модулем UploadКонфликт, который заключается он в том, что если на сайте-получателе включен модуль Upload, то nod-ы переноситься не будут, без всяких ошибок и предупреждений. В логе деплоймента будет указано, что nod-а удачно отправлена, а на самом деле ее не будет. Происходит это из-за того, что модуль Upload каким-то образом меняет форму создания nod-ы, после чего, деплоймент корректно работать с ней больше не сможет.
Deployment plans

Deployment plan – это набор элементов, которые необходимо отправить на сайт-получатель. В этот набор можно добавить все: nod-ы, комментарии, настройки, термины таксономии.

К примеру, можно создать деплоймент план «Настройки» и добавить туда настройки нужных нам модулей. После этого отправить все настройки за один раз.На рис. 3 мы добавляем в деплоймент план 2 ноды. Модуль сам распознает связи и, соответственно, добавляет их автоматически.

Затем (рис. 4) можно просмотреть добавленные в план элементы и удалить их, если они не нужны.

Выводы

Подведем итог:

  • Нет единого универсального решения.Node export не очень хорошо справляется с таксономией, Deployment не ладит с вложениями (хотя автор обещал вскоре добавить их поддержку, не знаю когда). Если задача не тривиальна, то решение все равно придется доделывать вручную, вмешиваться в те же таблицы, писать свои мини-скрипты экспорта/импорта.
  • Делайте backup`ы перед любым импортом.Даже если вы уверены, что импорт не затронет существующих данных, все равно лучше перестраховаться, ибо потом будет мучительно обидно исправлять то, что поломал ваш импорт.

 

Автора автра

myoversite.ru

смена хостинга и копирование базы данных

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

перенос сайта

Причины переноса

Любой администратор онлайн ресурса может оказаться в ситуации, когда требуется перенос сайта. Процедура не относится к разряду самых простых и требует определенных навыков. Основные причины переноса сайта wordpress на другой хостинг:

  • медленная работа ресурса;
  • неудовлетворительный уровень технической поддержки;
  • снижение трафика из поисковых машин;
  • необходимость переноса локального сайта на реальный хостинг.

Вне зависимости от причин, переезд не должен привести к нарушению работы ресурса (за исключением технических проблем). Главное своевременно заметить проблему и грамотно выбрать нового провайдера с параллельным осуществлением переезда на новый хост. Самым правильным является перенос сайта с wordpress на другой хостинг в рабочем режиме. То есть во время совершения технических манипуляций нельзя нарушать работоспособность ресурса. Он должен быть по-прежнему доступным для посетителей и поисковиков.

копирование базы данных

План действий

Специалисты в области веб-технологии считают, что процесс переноса сайта на другой домен не является сложным, если следовать заранее разработанному плану и последовательно совершать необходимые шаги. План по переносу сайта без потери позиций:

  1. Нужно зарегистрироваться у нового провайдера, выбрать подходящий тарифный план и заключить договор.
  2. Перенос сайта на домен. Этот этап предполагает смену DNS-сервера. Необходимо прописать новую форму доменного имени, после чего, спустя несколько часов происходит автоматическая смена DNS настроек.
  3. Самая важная процедура в процессе переноса сайта на вордпресс заключается в транспортировании базы данных.
  4. В конце останется скопировать файлы на новый хостинг.

Поэтапный процесс переезда

Пошаговая процедура переноса осуществляется по мере исполнения следующих пунктов. Процесс носит чисто технический характер и заключается в создании копии базы данных и переноса ее на новый хост.

Копирование данных

При переносе сайта на новый сервер требуется сделать бэкап базы данных, которая считается «сердцем» любого ресурса. В ней содержатся все таблицы, определяющие внешний вид страниц. При переносе следует быть предельно внимательным, поскольку потеря даже одного элемента приведет к изменению изображения сайта на новом хостинге или вовсе вызовет его неработоспособность. Существует два способа копирования БД:

  1. Средствами нового провайдера. Многие хостеры предлагают готовые инструменты для создания бэкапов БД, что существенно упрощает перенос сайта.
  2. Применение специальных надстроек. Наиболее популярной является phpMyAdmin. Она рассчитана для работы с базами данных Ее применение универсально и позволит осуществить создание бэкапа, например, при переносе сайта joomla на хостинг или любой другой разновидности оболочки (wordpress, denver, битрикс).

Процедура создания бэкапа заключается в совершении следующих действий:

  • вход в панель управления надстройки;
  • выбор нужной базы данных из списка, который расположен в левом поле;
  • проставление «галочек» напротив всех таблиц БД;
  • переход во вкладку Export;
  • выбор вида сжатия. Оптимальным при переносе сайта с wordpress на иной хостинг считается формат gzipped, обеспечивающий максимальную степень сжатия файлов в архиве;
  • сохранение базы на локальный компьютер (кнопка Go).

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

замена доменного имени

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

Следующим действием является копирование файлов со старого ресурса. Большинство веб-мастеров советуют осуществлять перенос сайта в части копирования файлов посредством обычного файлового менеджера и протокола ftp. Например, при использовании Total Commander следует создать связь с новым сервером через пункт «Установление соединения с FTP сервером». Далее, просто передаются все файлы, размещенные на старом хосте по новому адресу расположения страницы.

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

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

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

Воссоздание сайта на новом хосте

Завершающим действием при переносе сайта является воссоздание ресурса на новом хосте. Здесь порядок действий будет обратным. Перенесенную базу данных следует импортировать через панель phpMyAdmin. Если для переноса файлов применялся метод FTP сервера, то с файлами проблем не возникает. При использовании метода создания архива потребуется разархивировать файловую систему с помещением каждого отдельного документа по месту его расположения в «родительском» дереве.

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

Автор публикации

Комментарии: 2Публикации: 48Регистрация: 18-04-2017

vawilon.ru

Перенос сайтов на хостинг Timeweb

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

У меня есть опыт переноса 1500 сайтов и хочу поделиться этим опытом кратко и информативно.

Перенос в консоли

Я опишу перенос в консоли. Консолью удобнее пользоваться, когда мы имеем дело с хостингом и сайтами.

Если мы не имеем SSH доступ к старому аккаунту:

- Подключаемся к аккаунту на новом хостинге по SSH.

Инструкция: http://timeweb.com/ru/help/pages/viewpage.action?pageId=4358354

- Создаём временную директорию для переноса:

mkdir tmp_ИМЯ_САЙТА

И заходим в неё:

Имя указывается во избежание путаницы, если переносим несколько сайтов с разных хостингов.

Важно! На хостинге Timeweb установлен LFTP. Но рассказывать про него не буду по причине того, что wget более универсален и включен в дистрибутивы, которые стоят на VDS-серверах.

- Ставим перенос:

wget -mc --ftp-user='USER' --ftp-password='PASSWD' -o ./perenos.log ftp://IP_адрес_сервера/путь/до/сайта --restrict-file-names=nocontrol &

- Выполняем команду:

Если по экрану бежит лог - хорошо.

Если строка не бежит - читаем, что написано и анализируем (например, при помощи Google).

Нюансы

- Эта команда умеет производить докачку файлов и переносит скрытые файлы. Подробнее о ключах в man wget.

- Если порт не 21, то пишем:

wget -mc --ftp-user='USER' --ftp-password='PASSWD' -o ./perenos.log ftp://IP_адрес_сервера:ПОРТ/путь/до/сайта --restrict-file-names=nocontrol &

- Если логин и пароль не содержит специальных символов, кавычки не нужны.

- Узнать адрес ftp быстрее всего в браузере. Например: ftp://127.0.0.1/www/example.com/public/

- Для переноса файлов без каких либо директорий используем конструкции вида:

nohup wget -mc --exclude-directories=/www/example.com/public_html/media --ftp-user=USER --ftp-password=PASSWD -o ./wget.log ftp://127.0.0.1/demo/public_html/ --restrict-file-names=nocontrol &

или

nohup wget -mc -X /www/example.com/public_html/media --ftp-user='USER' --ftp-password='PASSWD' -o ./wget.log ftp://127.0.0.1/demo/public_html/ --restrict-file-names=nocontrol &

- В редких случаях перенос может прерываться из-за лимитов одного из хостинг провайдера. Тогда ставим ограничение:

nohup wget -mc --limit-rate 500k --ftp-user='USER' --ftp-password='PASSWD' -o ./wget.log ftp:// --restrict-file-names=nocontrol &

Перенос через Filezilla

Если не удалось перенести в консоли, то можно использовать Filezilla: http://timeweb.com/ru/help/display/DOC/FileZilla

Тут есть графический интерфейс. И проще всего это:

  1. скачать к себе на локальный компьютер со старого хостинга;
  2. закачать на новый хостинг со своего компьютера.

Пока несутся файлы - несем базу данных (cм. ниже).

После успешного переноса файлов:

- Удаляем листинги от wget:

find . -name '.listing' -exec rm {} \;

- Создаём директорию сайта в разделе "Сайты".

*Директорию лучше называть доменом.

- Заходим в директорию в консоли:

cd ~/example.com/public_html/

- Смотрим содержимое:

Если содержимое директории:

drwx------ 3 USER newcustomers 4096 Jan 10 11:16 . drwx------ 4 USER newcustomers 4096 Jan 10 12:22 .. drwx------ 2 USER newcustomers 4096 Jan 10 11:16 cgi-bin -rw------- 1 USER newcustomers 6701 Jan 10 11:16 index.htm

То выполняем команды:

cd ../ rm -rf public_html/

Если содержимое отличается, значит, у Вас что-то есть в директории. Если Вы не знаете или не помните, что у Вас тут хранится, то выполняем команды:

cd ../ mv public_html/ public_html_old

- Переносим файлы:

mv ~/tmp_example/127.0.0.1/www/example.com/public ./ mv public/ public_html

Удаляем лищнее

Перенос базы данных

1. Если есть доступ в phpMyAdmin, входим в phpMyAdmin.

Если нет, используем adminer.

Adminer прост в использовании. Опишу работу с ним кратко:

- Зайти на старый хостинг.

- Создать в директории сайта директорию для админера:

- Перейти в директорию adminer:

- Закачать на старый хостинг админер:

wget https://github.com/vrana/adminer/releases/download/v4.5.0/adminer-4.5.0.php

- Зайти в adminer example.com/adminer/adminer-4.5.0.php.

- Скачать дамп.

- Удалить adminer.

2. Создаём дамп базы данных:

- Кликаем на базу данных.

- "Экспорт".

- "Быстрый - отображать минимум настроек".

- "Ok".

Если нет быстрого метода, то необходимые настройки выставляются по умолчанию.

Необходимо обратить внимание на следующие моменты:

- выбрать все таблицы галочками;

- сохранить вывод в файл;

- использовать оператор при сохранении данных: INSERT.

Инструкции:

Дамп автоматически скачивается на локальный компьютер.

3. Создаём базу данных в разделе "Базы данных MySQL" на новом хостинге.

* Пароль берем из конфигурационного файла.

Инструкция:

http://timeweb.com/ru/help//pages/viewpage.action?pageId=9240878

4. Импортируем дамп в БД через phpmyadmin в разделе "Импорт".

Нюансы

- При необходимости. Изменяем привязку CMS к домену в БД. Например, в WordPress таблица option.

Подробнее в документации CMS.

Перенос сайта по SSH

Если мы имеем доступ по SSH:

1. Заходим на сервер старого хостинга.

2. При помощи команды cd попадаем в директорию сайта.

3. Копируем полный путь до директории. Команда:

4. Заходим на аккаунт на новом хостинге.

Создаём сайта в разделе "Сайты".

*Директорию лучше называть доменом.

5. Подключаемся к аккаунту на новом хостинге по SSH:

http://timeweb.com/ru/help/pages/viewpage.action?pageId=4358354

Заходим в директорию сайта:

cd ~/example.com/public_html/

6. Смотрим содержимое:

7. Если содержимое директории:

drwx------ 3 kaikavs newcustomers 4096 Jan 10 11:16 . drwx------ 4 kaikavs newcustomers 4096 Jan 10 12:22 .. drwx------ 2 kaikavs newcustomers 4096 Jan 10 11:16 cgi-bin -rw------- 1 kaikavs newcustomers 6701 Jan 10 11:16 index.htm

То выполняем команду:

Если содержимое отличается, выполняем команды:

cd ../ mv public_html/ public_html_old mkdir public_html cd public_html

10. Переносим файлы.

Cлеш в конце пути.Cлеш есть - rsync переносит файлы из директории;слеша нет - rsync создаст одноименную директорию и в неё перенесет содержимое.

а. Простой перенос:

rsync -rpPvt [email protected]:/home/v/www/site/public/ ./

- Вводим пароль.

* Если перенос прерывается - перезапускаем. rsync очень быстрый, и ограничивать его при небольших объемах сайта ни к чему.

б. Перенос без директории. Бывает, что надо перенести сайт, а у него есть лишняя директория с кешем, которая весит 90% сайта.

На примере Битрикса:

rsync -rpPvt -az --exclude='bitrix/cache/' --exclude='upload/resize_cache/' [email protected]:/home/v/www/site/public/ ./

в. Перенос по-настоящему большого сайта, размером больше 10 Гб.

На примере Битрикса:

rsync --progress -rpPvt -az --exclude='bitrix/cache/' --exclude='upload/resize_cache/' --log-file=progress_rsync --bwlimit=500 [email protected]:/home/v/www/site/public/ ./ tailf progress_rsync

Перенос БД по SSH

1. Создаём базу данных в разделе "Базы данных MySQL".

2. Переносим БД.

a. Прямой перенос из базы данных в базу данных.

Заходим на сервер старого хостинга по SSH и вводим:

mysqldump -u"login_db" db_name -p"passwd" -h"host" | gzip -c | ssh [email protected] 'zcat > mysql -u"db" db -p"passwd"'

б. Перенос с созданием дампа.

1) Заходим на сервер старого хостинга по SSH и вводим:

mysqldump -u"login_db" db_name -p"passwd" -h"host" | gzip -c | ssh [email protected] 'zcat > DUMP.sql'

2) На новом хостинге хостинге вводим:

mysql -u'ИМЯ_БД' ИМЯ_БД -p'PASSWD' < DUMP.sql

Настройка сайта

1. Открываем один из конфигурационных файлов. Ещё раз:

http://timeweb.com/ru/help//pages/viewpage.action?pageId=9240878

2. Ищем имя базы данных, пароль от базы данных и старые пути.

3. Изменяем пароль от базы данных в Панели Управления нового хостинга на тот, что указан в конфиге.

4. Вне зависимости от CMS, будь то страшный ModX или WordPress, делаем следующее:

а. Изменяем привязку сайта к базе данных во всех файлах:

for i in `find . -type f ! -name '*.sql' -exec grep -H -l NAME_DB_OLD {} \;| cut -d' ' -f1`; do sed -i 's/NAME_DB_OLD/NAME_DB_NEW/g' $i; done

б. Изменяем пути во всех файлах сайта:

for i in `find . -type f ! -name '*.sql' -exec grep -H -l '/home/user/www/site/old/' {} \;| cut -d' ' -f1`; do sed -i 's#/home/user/www/site/#home/c/cl12345/example.com/public_html#g' $i; done

5. Проверить работу сайта.

Заключение

Я не имел цели написать статью для новичков. Поэтому если у Вас возникли вопросы по статье или непонимание, для чего нужна та или иная команда, ни в коем случае не переносите сайт самостоятельно.

Вы можете написать в поддержку Timeweb и перенос будет выполнен специалистами. Перенос сайтов в Timeweb выполняется сотрудниками поддержки бесплатно и не только на виртуальный хостинг, но и на VDS!

timeweb.com

Как перенести сайт на хостинг SpaceWeb? - Раздел помощи

В рамках акции Бесплатный перенос сайта осуществляется перенос сайта на хостинг SpaceWeb нашими специалистами.

Перенос может осуществляться с одного, уже размещенного на нашем хостинге аккаунта, на другой аккаунт, или с другого хостинга на наш. Различий между ними немного, в обоих случаях рекомендуем действовать по приведенной ниже схеме.

Перед выполнением переноса, необходимо определить, какие компоненты сайта будут переноситься.

Каждый сайт условно состоит из нескольких частей:

  • Контент (содержимое) сайта - файлы и папки, которые размещаются на нем;
  • Базы данных - база данных содержащая материалы сайта;
  • Доменные имена - имя сайта в символьной форме, например, domain.ru;
  • Почтовые ящики - список почтовых ящиков созданных для данного доменного имени.

Базы данных на сайте могут не использоваться, это зависит от его технической реализации. Почтовые ящики не являются компонентом сайта в узком смысле, но зачастую переносятся вместе с ним.

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

  1. Перенос доменов сайта
  2. Перенос содержимого сайта
  3. Перенос баз данных
  4. Редактирование конфигурационных файлов
  5. Перенос почтовых ящиков

1. Перенос доменов сайта

Существует два типа переноса доменов: административный и технический.  Административным переносом называется изменение административного контакта в информации по домену (whois), техническим – изменение списка DNS-серверов в настройках домена, которыми обслуживается доменное имя. При добавлении домена на наш хостинг, рекомендуем делегировать его на DNS-сервера компании Spaceweb:

ns1.spaceweb.ru ns2.spaceweb.ru ns3.spaceweb.pro ns4.spaceweb.pro

В этом случае любые операции с аккаунтом (смена IP-адреса, физического сервера, перенос домена между аккаунтами Spaceweb) пройдут «прозрачно»: изменения DNS-записей будут выполнены автоматически.

Детальную информацию Вы можете найти в разделе «Перенос доменов».

Теперь рассмотрим непосредственно операции, которые необходимо выполнить в Панели управления:

1.1. Добавить домен в разделе "Домены" Панели управления новым аккаунтом. Путь до папки, в которой будет размещатся контент сайта задается при добавлении доменного имени. Если перенос осуществляется между аккаунтами SpaceWeb, то домен необходимо сначала удалить на старом аккаунте.

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

2. Перенос содержимого сайта

Для переноса содержимого сайта необходимо поместить содержимое папки с контентом сайта в аналогичную папку на новом аккаунте. Это можно сделать по протоколу FTP, скачав содержимое сайта на локальный компьютер, затем поместив его в папку public_html на новом аккаунте. Процесс переноса содержимого сайта можно упростить, воспользовавшись командой rsync, которая выполняется в терминале сервера на старом аккаунте. Доступ к терминалу можно получить, подключившись к серверу по протоколу SSH.   Команда имеет следующий вид: rsync -vrtplz папка_с_содержимым_сайта логин@имя_сервера:путь_куда_будет_выполнено_копирование.

Команда:

скопирует содержимое папки public_html старого аккаунта в папку public_html на новом аккаунте на сервере server.sweb.ru, используя для подключения логин login.

3. Перенос баз данных

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

3.1 Создать дамп базы данных на старом аккаунте.Дамп – это файл, в котором сохраняется вся информация, содержащаяся в базе. Его удобно использовать для переноса содержимого баз данных. Чтобы создать дамп, рекомендуем воспользоваться командой mysqldump, которая выполняется в терминале сервера. Доступ к терминалу можно получить, используя протокол SSH. Подробно синтаксис команды описан в инструкции "Как перенести базу данных MySQL на хостинг SpaceWeb?". Если база данных имеет небольшой размер, для создания дампа можно воспользоваться функцией «Экспорт» программы phpMyAdmin. На нашем хостинге она доступна из панели управления, в разделе "Базы MySQL", или по адресу server.sweb.ru/phpMyAdmin/, где "server" нужно заменить на имя сервера указанное в левой нижней части панели управления. Например, для сервера Vh329 адрес будет иметь вид: vh329.sweb.ru/phpMyAdmin/ В случае использования команды mysqldump файл дампа будет сохранен в папке, из которой выполнялась команда, при использовании phpMyAdmin – он сохранится на Вашем локальном компьютере.

3.2. Создать базу данных через раздел «Базы MySQL» или PostgreSQL Панели управления. С подробной информацией можно ознакомиться в разделе "Базы данных".

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

Для этого необходимо подключиться по SSH на старый аккаунт и выполнить команду scp, которая имеет вид: scp файл_дампа логин@имя_сервера:путь_куда_будет_скопирован_дамп.

Команда:

скопирует файл dump.sql на сервер server.sweb.ru в папку public_html на новом аккаунте на сервере server.sweb.ru, используя для подключения логин login.

3.4. Развернуть сохраненное в дампе содержимое базы данных в новую базу. Рекомендуем воспользоваться для этого командой mysql, выполненной в терминале сервера. Ее использование также описано в инструкции "Как перенести базу данных MySQL на хостинг SpaceWeb?". Если база небольшая, для развертывания дампа также можно использовать приложение phpMyAdmin (функцию «Импорт»).

4. Редактирование конфигурационных файлов

Если переносимый сайт использует базу данных, то после выполнения второго и третьего этапов, необходимо выполнить правку его конфигурационных файлов таким образом, чтобы корректно происходило подключение к перенесенной базе. Имя и местоположение конфигурационного файла зависят от технической реализации сайта (установленного на нем приложения). Изменения можно внести, скачав файл на локальный компьютер по протоколу FTP (в любом текстовом редакторе) или непосредственно на сервере, зайдя по SSH, из консольного текстового редактора (vim, edit), а так же открыв файл для редактирования в разделе "Файловый менеджер" Панели управления.

В конфигурационном файле следует изменить следующие параметры:

  • db_host – имя сервера баз данных, у нас используется значение localhost;
  • db_name – имя базы данных;
  • db_user – имя пользователя базы данных;
  • db_password – пароль пользователя базы данных.

Значения последних трех из них можно узнать в разделе «Базы MySQL» Панели управления. Название параметров может несколько отличаться, в зависимости от конкретного приложения.

Приводим имена конфигурационных файлов нескольких самых распространенных приложений:

Приложение Имя конфигурационного файла
Joomla! /configuration.php
WordPress /wp-config.php
Drupal /sites/default/settings.php
phpBB /config.php
Bitrix /bitrix/php_interface/dbconn.php
MOD.x /manager/includes/config.inc.php
RedMine /config/database.yml

Теперь, после выполнения этих действий, работу сайта можно проверить по техническому домену вида [имя_домена].swtest.ru, который создается автоматически для каждого добавленного в Панель управления домена. Например, для домена example.com технический домен будет иметь вид example.com.swtest.ru. В случае, если был заказан аккаунт без домена, то на аккаунте будет доступен технический домен вида [логин].temp.swtest.ru. Он также отображается в разделе "Домены" Панели управления аккаунтом. 

5. Перенос почтовых ящиков

На завершающем этапе переноса необходимо создать на домене почтовые ящики в разделе «Почта» Панели управления. Более подробная информация по данной процедуре описана в разделе "Почта".

Если в процессе выполнения указанных действий возникают трудности, получить необходимую консультацию можно в службе технической поддержки по адресу [email protected] или оформив заявку из Панели управления аккаунтом.

Обращаем внимание, что для аккаунтов, зарегистрированных на тарифах виртуального, реактивного хостинга, а также Power и Umi.SW, специалистами нашей организации может быть оказана услуга по переносу сайтов на наш хостинг.  Заказать перенос сайта можно в Панели управления.

help.sweb.ru

Как перености сайт на хостинг

Несмотря на то, что Timeweb абсолютно бесплатно предоставляет услуги по переносу вашего сайта с другого хостинга, мы все равно решили подготовить материал, раскрывающий все аспекты перемещения веб-ресурсов с компьютера пользователя или сервера другого хостинг-провайдера. Данная статья содержит пошаговую инструкцию по переносу проектов любого типа.

Виды сайтов и их отличия

С технической точки зрения сайты делятся на две группы.

Статические - представляют собой набор html-файлов. Каждый из них является законченной страницей, содержащей разметку, а также текстовую или графическую информацию. В такой форме создаются, например, сайты-визитки.

Динамические - к ним относятся форумы, интернет-магазины, блоги и другие ресурсы с постоянно изменяемым контентом. Их страницы генерируются “на лету”, а сам сайт можно условно разделить на две составные части:

  • Движок - представлен набором скриптов на языке программирования PHP, Ajax, JavaScript и других, размещенных в корневом каталоге, совокупность которых обеспечивает генерацию страниц в тот момент, когда на сайт заходит посетитель, а также работу тех или иных функций (регистрация пользователей, добавление комментариев, оформление и оплата покупок и т.д.)
  • База данных MySQL - здесь, собственно, содержится вся информация

Как нетрудно понять, работа со статическим проектом сводится к простому копированию всех его файлов в нужную директорию на сервере Timeweb. Перенос динамического сайта на хостинг - процедура несколько более сложная. Она состоит из следующих этапов:

  • Перенос базы данных
  • Перенос файлов сайта
  • Перенастройка движка

Перенос статического сайта на хостинг

Для перемещения статического проекта Вам понадобится FTP-клиент - утилита, предназначенная для загрузки и скачивания файлов с удаленного сервера. Лучшее решение в данном сегменте - Fileziila: надежная, многофункциональная и при этом бесплатная программа. Установив ее, можно сразу приступать к работе.

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

  1. Запустите Filezilla.
  2. В верхнем меню выберите “Сервер” - “Принудительно отображать скрытые файлы”.
  3. Заполните поля “Хост”, “Имя пользователя”, “Пароль” (эти данные должен предоставить хостинг-провайдер) и нажмите на кнопку “Быстрое соединение”.
  4. Перейдите в каталог Вашего сайта. Обычно его название соответствует доменному имени проекта. Например, для mysite.ru путь может быть таков: var/www/mysite.ru/public_html. Именно в папке public_html находятся необходимые файлы.
  5. Выделите папку public_html, щелкните по ней правой кнопкой мыши и нажмите “Скачать”.
  6. Выберите место на компьютере и сохраните полученные файлы.

Чтобы загрузить файлы на хостинг Timeweb, необходимо осуществить обратную процедуру:

  1. Запустите Filezilla и подключитесь к серверу, используя предоставленные адрес хоста, логин и пароль.
  2. В правом окне “Удаленный сайт” найдите директорию public_html (по умолчанию расположена в каталоге, имя которого совпадает с названием сайта - например, mysite.ru/public_html) и откройте ее двойным щелчком.
  3. В левом окне “Локальный сайт” найдите папку с файлами сайта, выделите их, а затем щелкните по выделению правой кнопкой мыши и нажмите “Закачать на сервер”.

После того, как все файлы переданы, веб-ресурс будет полностью готов к работе.

Перенос динамического сайта на хостинг

Первое, с чего следует начать - перенос базы данных. В этом поможет phpMyAdmin - веб-приложение, предназначенное для администрирования MySQL. Данная программа позволяет осуществлять любые операции через наглядный интерфейс прямо из браузера. Здесь имеется окно авторизации. Введя логин и пароль, вы попадете в панель управления phpMyAdmin. 

Далее необходимо осуществить следующую последовательность действий:

  1. Выберите базу данных, экспорт которой хотите совершить, щелкнув по ее названию в левой колонке интерфейса phpMyAdmin.
  2. Зайдите на вкладку “Экспорт”.
  3. Убедитесь, что установлена опция “Быстрый - отображать минимум настроек”, а в поле “Формат” выбрано SQL.
  4. Нажмите кнопку “Ок” и сохраните файл на компьютер.

Мы получили полную копию базы данных сайта, так называемый “дамп”. Осталось импортировать его на сервер Timeweb. Делается это следующим образом:

  1. Авторизуйтесь в панели phpMyAdmin хостинга.
  2. Перейдите на вкладку “Базы данных”, введите желаемое название в поле, расположенное сразу под строчкой “Создать базу данных”.
  3. Выберите кодировку как в базе данных на старой площадке, чтобы все было идентично.
  4. Выберите новую базу данных в левой колонке, щелкнув по ней один раз мышкой.
  5. Перейдите на вкладку “Импорт”.
  6. Нажмите кнопку “Обзор” и выберите ранее сохраненный дамп.
  7. Выставьте нужную кодировку (в большинстве случаев - UTF-8).
  8. Нажмите на кнопку “Ок”.

Что касается копирования скриптов, то оно осуществляется при помощи Filezilla, точно также, как и в случае с динамическим сайтом. Однако есть и одно существенное различие. Некоторые CMS создают файлы и папки не только в директории public_html, но и в корневом каталоге сайта. Это характерно, например, для движков интернет-магазинов - инвойсы и некоторые административные модули находятся за пределами public_html, что обеспечивает дополнительную защиту данных. Поэтому перед тем, как перенести сайт на хостинг, стоит проверить, присутствуют ли в mysite.ru, помимо public_html, другие файлы и папки - их также необходимо закачать на сервер, иначе попросту ничего не будет работать.

Последний этап - изменение настроек CMS и подключение базы данных. Для этих целей следует определенным образом отредактировать конфигурационный файл (как правило, он носит название configuration.php, config.php, settings.php или аналогичное). Необходимо изменить следующие значения:

  • db_host – имя сервера баз данных;
  • db_name – название базы данных;
  • db_user – имя пользователя базы данных;
  • db_password – пароль пользователя базы данных.

Проще всего использовать связку Filezilla и Notepad++ (свободно распространяемый текстовый редактор со множеством полезных функций). После его установки, необходимо соответствующим образом настроить ftp-клиент:

  1. Запустите Filezilla.
  2. Зайдите в меню “Редактирование” - “Настройки” - “Правка файлов”.
  3. Выберите пункт “Использовать следующий редактор”.
  4. Нажмите кнопку “Обзор” и выберите исполняемый файл Notepad++ (для 64-битных версий Windows он будет располагаться по адресу C:\Program Files (x86)\Notepad++\notepad++.exe).
  5. Нажмите кнопку “Ок”.

Теперь, чтобы редактировать файлы непосредственно в панели управления, достаточно сделать следующее:

  1. Подключитесь к серверу, используя предоставленные адрес хоста, логин и пароль.
  2. В правом окне “Удаленный сайт” найдите конфигурационный файл.
  3. Щелкните по нему правой кнопкой мыши и в появившемся меню выберите “Просмотр/Правка”.
  4. Внесите необходимые изменения в открывшемся окне Notepad++, нажмите кнопку “Сохранить” и закройте редактор.
  5. В появившемся диалоговом окне “Файл изменен” нажмите кнопку “Да”.

Обратите внимание: в зависимости от типа движка, названия параметров могут отличаться. Чтобы узнать, какие именно строчки требуется исправить, необходимо обратиться к официальной документации CMS.

Описанные действия кажутся довольно простыми. На самом же деле в процессе переноса может возникнуть масса сложностей. Львиная доля таковых приходится на динамические сайты: ошибка выбора кодировки для MySQL, неправильная настройка конфигурационного файла (который, помимо перечисленных, может содержать и дополнительные параметры, подлежащие изменению), наконец, банальный человеческий фактор - все это может привести к тому, что веб-ресурс попросту откажется работать. Однако большинства проблем можно избежать, если четко и внимательно следовать приведенным инструкциям, а также тщательно изучить сведения, предоставляемые разработчиками CMS.

Если же Вы планируете стать клиентом Timeweb, задача становится еще проще. Каждый новый пользователь хостинга, перешедший к нам от другого провайдера, может воспользоваться бесплатной услугой переноса сайта на наши сервера. Для этого вам необходимо обратиться в службу поддержки и сообщить информацию, необходимую для управления базами данных MySQL и доступа по протоколу FTP.

timeweb.com

Перенос сайта на другой домен

Быстрая навигация по этой странице:

Порой возникает ситуация, когда необходимо произвести перенос сайта на другой домен — это может требоваться по самым разным причинам: вы решили взять более красивое и звучное имя, ваш старый домен попал под АГС и вы тем самым пытаетесь его обойти (это тема для отдельной статьи) или же просто ваш домен хотя и не находится под АГС, но не индексируется в течение длительного времени (такое, к сожалению, бывает — саппорт Яндекса пишет, что все в порядке и нужно подождать, но ожидание может растянуться на несколько месяцев).

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

перенос сайта на другой домен

Перенос файлов и базы данных

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

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

Если же вы будете переезжать на другой хостинг, то вам необходимо сохранить дамп базы данных — это легче всего сделать через сервис phpMyAdmin на вашем хостинге (вкладка «Экспорт»).

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

Редирект со старого домена

Далее ваша задача состоит в том, чтобы выставить редирект, чтобы при заходе на старыйсайт.ру пользователь автоматически попадал на новыйсайт.ру.

Для этого в корневую директорию вашего старого сайта необходимо загрузить файл .htaccess (если он уже существует, тогда, разумеется, загружать не надо).

В данном файле вам необходимо прописать следующий код:

RewriteEngine On RewriteCond %{HTTP_HOST} ^старыйсайт.ру RewriteRule (.*) http://новыйсайт.ру/$1 [R=301,L]

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

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

Осталась лишь только одна маленькая, но достаточно важная деталь…

Забота о посетителях

Если ваш ресурс имеет хотя бы минимальное ядро постоянных посетителей — проявите заботу о них и известите о том, что ваш сайт переехал на новый домен — хотя бы повесьте объявление об этом на некоторое время.

Если у вас имеются подписчики (через rss, рассылки, email, социальные сети и т.д.) — обязательно напишите им письмо с сообщением об этом факте.

UPDATE: возник вопрос относительно того, что на страницах сайта многие ссылки и картинки могут быть прописаны путем указания на старый домен (например, в WordPress картинка всегда вставляется путем указания полного пути с указанием домена). Здесь есть два решения: если статей немного — вручную поправить каждую из них, если статей много — скачать дамп базы MySQL, открыть его в редакторе (сойдет даже блокнот), сделать автозамену «старыйдомен.ру» на «новыйдомен.ру», после чего загрузить новый дамп базы данных на хостинг (важно: обязательно сделайте backup старого варианта базы перед этой операцией — на случай, если что-то пойдет не так). Можно заодно и оптимизировать картинки, о чем мы писали здесь.

www.runcms.org

Перенести контент с одного сайта Joomla на другой при помощи phpmyadmin.

Перенос материалов с одного сайта на другойЗдравствуйте, уважаемые читатели. У меня на днях появилась не совсем тривиальная задача: перенести весь материал с joomla версии 3.1.5 на joomla версии 2.5.14. Т.е. адрес сайта останется прежний, просто сменится движок. Не спрашивайте меня, зачем это нужно было. Процедура переноса данных с одного сайта на другой может понадобиться в случае, если на сайте установлено много всякого мусора, движок начал глючить, стали появляться непонятные ошибки (возможно связанные с конфликтами разных расширений), которые вы не знаете как исправить.

В этом случае иногда проще переустановить движок с нуля и затем восстановить на нем все материалы, установить шаблон, установить необходимые компоненты и пр. Возник вопрос как это реализовать, т.е как перенести весь контент. Начал гуглить, но в интернете мало чего нашел полезного, только некоторые разобщенные советы на разных форумах. А нормальной статьи так и не нашел. В итоге весь материал я все-таки перенес и теперь хочу поделиться с вами как это сделал я. Может кому и пригодится. Задача стояла не просто перенести весь материал с одного сайта на другой, а что-бы адреса всех страничек (а их на сайте было более 700 штук) сохранились. Это важно, т.к. в противном случае пользователи, перешедшие на новый сайт с поисковых систем будут попадать на страницу 404. Поисковые системы также негативно отнесутся к тому, что адреса всех проиндексированных ими страниц вдруг стали недействительными и траст вашего сайта упадет ниже плинтуса. Конечно для таких случаев можно настроить редирект для каждой страницы со старого адреса на новый адрес. Но писать для более чем семисот страниц редиректы очень занудно. Буду рад, если предложите свой способ решения данной задачи. А пока я для себя решил, что самым простым будет перенос необходимых таблиц из базы исходного сайта в базу нового сайта.

Для этих целей я на денвере установил движок сайта на который я собирался скопировать все материалы. Важно: при установке нового сайта выберите префикс таблиц базы данных такой-же как у исходного сайта. Префикс можно посмотреть в админке сайта, если перейти по меню "Сайт" => "Общие настройки" => вкладка "Сервер" => раздел "Настроки базы данных". Также на денвере я восстановил исходный сайт из резервной копии, с которого я буду переносить контент. Что такое Денвер (Denwer), для чего он нужен и как его установить на локальный компьютер я описал здесь. Как установить Joomla на Денвер я писал тут.

Для переноса текстов нужно переносить не всю базу, а только некоторую ее часть. А для переноса картинок нужно будет просто скопировать папку images, которая расположена в корне сайта.

Как вы наверное уже знаете, если на сайте настроен ЧПУ (человеко понятный урл), то адрес страницы со статьей на сайте Joomla выглядит примерно так:

http://buildsiteblog.ru/seo-optimizatsiya-sajta/10-xmap-sozdaem-kartu-sajta-dlya-joomla

где seo-optimizatsiya-sajta - это адрес (алиас) категории, к которой принадлежит статья, а

10-xmap-sozdaem-kartu-sajta-dlya-joomla - это адрес (алиас) самой статьи в данной категории.

Число десять это id (типа порядкового номера) статьи, который генерирует и присваивает статье сам движок при создании новой статьи. На новом сайте можно создать такие же категории с аналогичными адресами (алиасами). Но вот со статьями такой способ не прокатит. Даже если вы создадите материал на новом сайте с таким же алиасом, то движок присвоим ему id, отличный от того, что был на исходном сайте. А замена id статьи в админке сайта не предусмотрена. Наверное в этом случае можно попробовать поменять id статьи напрямую в базе данных (я сам не пробовал, отпишитесь в комментариях, если кто-то делал такое). А если у вас несколько сотен статей, то руками менять id каждой статьи тоже очень долго.

База данных состоит из таблиц, в которых хранятся всякие данные, в том числе и тексты наших статей. Этим и отличается динамический сайт от статического. В статическом сайте весь текст расположен в html файлах, при обращении к которым браузер отображает все содержимое файла. На динамическом сайте тексты наших с вами статей находятся в базе данных и динамически отображаются в браузере при запросе браузером какой либо странички сайта. Сайты, построенные на движках Joomla и WordPress являются типичными представителями динамических сайтов.

Экспорт контента сайта из базы данных при помощи phpmyadmin.

Для копирования данных из базы данных нам нужно запустить утилиту phpMyAdmin. Но перед этим убедитесь, что Денвер у вас запущен. Запустить phpMyAdmin можно разными способами. Если вы помните адрес, можно набрать в адресной строке браузера адрес http://localhost/Tools/phpMyAdmin. Я обычно адрес не помню, т.к. этой утилитой пользуюсь очень редко. Я в адресной строке браузера набиваю http://localhost. Откроется страничка с названием "Ура, заработало!" (она появится только при установленном и запущенном Денвере). Прокручиваем ее вниз примерно до середины и запускаем phpMyAdmin вот по этой ссылке:

Откроется веб интерфейс утилиты phpMyAdmin:

В левой части перечислены базы данных всех сайтов, которые вы установили на Денвере. Выбираем базу данных сайта, с которого будем переносить данные и кликаем на ней. В моем случае это база Testjoomla4.

В выбранной нами базе перечислен список таблиц:

Статьи хранятся непосредственно в таблице t8oaf_content, где t8oaf - это префикс базы данных, на него не обращаете внимание. У вас префикс скорее всего другой. Далее я таблицы в тексте буду указывать без префиксов. Будем копировать данную таблицу. Чтобы не создавать руками, я скопировал еще эти таблицы:

_categories, в которой хранятся категории;

_menu_types, в которой хранятся меню;

_menu, в которой хранятся пункты наших меню.

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

Отмечаем нужные нам таблицы (кроме таблицы _categories) галочками и нажимаем внизу на выпадающем меню "С отмеченными"=> "Экспорт".

В окне "Экспорт таблиц из базы данных "testjoomla4" - нажимаем кнопку ОК и указываем путь для сохранения файла с таблицами:

Если зайти в таблицу _categories, то в ней, кроме созданных нами категорий присутствуют еще системные категории. Поэтому всю таблицу _categories мы копировать не будем, а скопируем только созданные вами категории:

Для этого заходим в таблицу _categories, отмечаем галочками строки с нужными нам категориями. Можете отметить все строки, у которых в столбце extension стоит значение com_content; Далее внизу под таблицей нажимаете кнопку "С отмеченными" => Export, затем в следующем окне нажимаете OK и сохраняете таблицу в файл.

Вот мы и сохранили нужные нам данные в двух файлах.

Импорт экспортированных материалов на другой сайт.

Теперь открываем базу данных нового установленного сайта, в которую будем копировать наши таблицы. Отмечаем галочками три таблицы:

_content, _menu_types, _menu и выбираем очистить как показано на рисунке ниже.

Это нужно сделать для успешного импорта, иначе phpmyadmin мржет выдать ошибку при импорте, если обнаружит поля таблицы с такими же id. Перезаписывать он их почему-то не хочет.

Далее для импорта:

1. нажимаете на кнопку ИМПОРТ в верхнем меню;

2. Поочередно импортируете два сохраненных на предыдущих этапах файла с нашими таблицами.

На этом работа с базой данных завершена.

Далее копируете папку images с картинками со старого сайта на новый.

Теперь заходим в панель администратора сайта и видим все наши перенесенные материалы, категории и меню.

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

Вы можете помочь проекту, рассказав о нем в социальных сетях:

 

Спасибо!

You have no rights to post comments

buildsiteblog.ru