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

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

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

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

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

Что именно необходимо переносить?

В своей статье «Что такое сайт?» я рассказывал о трех компонентах каждого интернет ресурса. При переносе мы должны поработать с каждым из них.

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

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

В-третьих, потребуется перенести все данные (файлы, базы данных) со старого хостинга на новый.

Это вкратце, теперь давайте рассмотрим весь процесс в подробностях. Максимум, для переноса потребуется 8 шагов. Я буду описывать процесс исходя из предположения, что у вас уже есть новый хостинг, если у вас его еще нет, то сначала выберите подходящий и зарегистрируйте в нем аккаунт, порекомендовать могу один из этих (ссылки партнерские): Timeweb или Sprinthost.

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

Шаг 1. Добавить домен в админку нового хостинга

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

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

Добавить домен к хостингу

Шаг 2. Перенести файлы с одного сервера на другой

Перенос файлов, пожалуй, самое простое действие, из всех, что нужно сделать. С помощью FTP клиента или встроенного файлового менеджера нужно скачать все файлы, принадлежащие сайту, со старого хостинга на компьютер, а потом, точно также, закинуть их на новый сервер в папку public_html, отвечающую за работу переносимого домена.

Иногда, сайты могут иметь большой объем данных и много файлов, поэтому, лучше всего, полностью все файлы упаковать в ZIP архив еще на старом месте и дальше перекидывать уже один архивный файл. Такой архив без проблем распакуется на любом хостинге, а времени на перенос уйдет намного меньше, да и нагрузка на сервера снизится.

Сжимаем файлы:

сжимаем файлы сайта на хостинге
Скачиваем файлы на компьютер:

скачиваем файлы с хостинга на компьютер

Шаг 3. Скачать базу данных со старого хостинга

Если ваш ресурс очень простой (выполнен на простом HTML) и не имеет баз данных, то пункты с 3 по 6 можно пропустить. Но любой сайт, использующий систему управления контентом (CMS), требует для своей работы базу данных MySQL, ее тоже необходимо перенести.

Для этого в админке вашего старого хостинга находите раздел «Управление базами данных MySQL». Заходите в панель администратора phpMyAdmin. Выбираете нужную базу и выбираете вкладку «Экспорт».

экспорт базы данных MySQL

В меню экспорта базы данных установите для скачивания архивный формат ZIP или GZIP. Нажимаете кнопку «ОК» и указываете место на вашем компьютере, куда будет сохранен файл.

выбрать сжатие базы данных

Шаг 4. Создать базу данных на другом хостинге

Точно также, как и в предыдущем пункте, открываете на другом хостинге раздел «Управление базами данных» (Базы MySQL), только вместо выбора нужной базы – выбираете пункт создать новую базу данных.

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

создаем новую базу данных MySQL

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

Шаг 5. Импортировать базу данных на новый хостинг

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

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

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

Шаг 6. Исправить конфигурационные файлы вашей CMS

После того, как мы перенесли файлы и базу данных, нам нужно связать их между собой. Для этого найдите конфигурационный файл вашей CMS. В WordPress он называется wp-config.php, находится он в корневой директории сайта (прямо в public_html).

Открываете этот файл для редактирования и заменяете следующие строки:

/** Имя базы данных для WordPress */

define('DB_NAME', 'xxxxxx_xxx');

/** Имя пользователя MySQL */

define('DB_USER', 'xxxxxx_xxx');

/** Пароль к базе данных MySQL */

define('DB_PASSWORD', 'xxxxxxxxx');

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

Шаг 7. Проверить работу файлов и базы данных

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

Проверяем работу сайта на новом хостинге:

  • некоторые хостинги для каждого сайта создают технический домен. Обычно это домен 4 уровня, похожий на moysait.ru.hosting.ru – по этому адресу ваши страницы работают, даже если не работает ваш основной домен. Проверьте, если там все функционирует нормально, значит, переходите к следующему пункту.
  • другой вариант подойдет в том случае, если технический адрес на вашем хостинге не предоставляется, но у вас есть на нем другие, работающие домены. Вы можете создать для одного из них поддомен типа test.sait.ru. Подключить этот поддомен к папке public_html вашего нового сайта и проверить как и в предыдущем случае.
  • если не доступен ни один из предыдущих вариантов, то вы можете обратиться в техническую поддержку вашего нового хостера и попросить помочь проверить работу.

Шаг 8. Изменить DNS записи домена

Итак, у вас все готово, файлы и база работают нормально на новом сервере. Осталось только перенаправить доменное имя на другой хостинг. Для этого нужно изменить NS записи домена. Сейчас в них прописаны NS сервера старого хостинга, поэтому вся информация берется с них. Нам же требуется их переписать.

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

Выглядят эти записи примерно вот так (это для моих хостингов):

ns1.timeweb.ru
ns2.timeweb.ru
ns3.timeweb.org
ns4.timeweb.org

или

ns1.spaceweb.ru
ns2.spaceweb.ru

У любого другого хостера DNS записи свои.

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

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