В этой статье вас ждет краткое руководство по переносу сайта с одного хостинга на другой. Расскажу и покажу как перенести сайт на движке Джумла, Битрикс, Вордпресс.
Как в общем виде происходит перенос сайта
Процесс создания и обслуживания сайтов очень инертный. Вебмастера и сайтостроители часто стремятся один раз хорошо поработать вначале, чтобы потом не тратить время на доделывание и переделывание.
То же самое относится и к выбору хостинга — если «прописался» на одном хостинге, то должна найтись веская причина для переезда (в остальных случаях переносить сайт как правило лень): плохая доступность и аптайм сайта, регулярные простои и отключения серверов, завышенная цена либо ее резкий рост из-за падения курса рубля, некачественное обслуживание и работа техподдержки, плохие сайты-соседи. Рекумендую прочесть статью о том, какой выбрать хостинг для сайта.
Обычно, практически любой сайт переносится на другой хостинг в четыре простых шага. Шаги эти нужно делать быстро и хирургически точно.
Идеальный вариант — когда вы умеете переносить сайты так, чтобы их работа ни на минуту не прерывалась.
В среде интернет-разработки и администрирования сайтов и серверов существует множество CMS и панелей управления хостингом. Я постараюсь в общих чертах разобрать процесс переноса на другой хостинг, а также не забыть о наиболее популярных движках в рунете — Joomla, Bitrix, WP.
Перенос сайта со старого хостинга на новый идет в четыре этапа:
- Меняем NS-записи (адреса) у доменного имени;
- Переносим базу данных;
- Переносим файлы сайта (CMS);
- Прописываем данные для подключения CMS (WordPress, Joomla, Botrix) к базе данных.
Изменение ns-адресов для переноса сайта
NS-адреса (name server) это записи, указываемые в вашей панели управления доменами у регистратора доменных имен. Именно они «показывают» к какому серверу обратиться за получением данных при вводе доменного имени в строку браузера.
Таким образом, доменное имя может быть одно, но привязывать мы его можем к совершенно разным хостерам и IP-адресам серверов.
В панели регистратора доменов NS-сервера обычно меняются в разделе «DNS». Для примера приведу скриншот из РЕГ.РУ:
На нем вы можете видеть, как у нескольких доменов указаны NS-адреса хостинг-дискаунтера Айхор (ДЦ Мароснет в Москве):
ns1.marosnet.ru
ns2.marosnet.ru
Раньше я пользовался Eskhosting и там было что-то вроде этого:
ns15.eskhosting.com
ns16.eskhosting.com
ns39.eskhosting.com
ns40.eskhosting.com
Эти имена (NS-адреса) могут быть разными у разных пользователей хостинга, а могут и не отличаться (быть одинаковыми для всех как у Айхора например) — зависит от хостера, реселлер ли он, количества серверов и т.п.
Также можно указывать реальные IP-адреса вашего сервера (хостера), например:
194.57.117.29
Изменение этих адресов в РЕГ.РУ происходит после выделения домена сайта, который вы хотите перенести, и нажатия кнопки «Изменить DNS»:
На открывшейся странице вам нужно будет прописать новые NS:
После прописывания новых NS (взамен старых, их оставлять никак нельзя) — на почту администратора домена придет письмо о том что заявка на смену NS принята, процесс изменения начат и они полностью сменятся в течение суток (это касается русскоязычных доменов .ru и .рф, с gtld-доменами процесс занимает до 6-12 часов).
Похожая процедура смены NS-записей вас ждет у всех регистраторов доменных имен. И это обязательное условие для переноса сайта на другой хостинг — иначе браузеру никак не узнать, что нужно идти к новому серверу. Я упрощаю, но примерно так и обстоят дела.
P.S. Некоторые продвинутые вебмастера предпочитают менять NS уже после того как перенесли БД и файлы сайта на новый сервер — не первым шагом, а третьим. Думаю это дело вкуса (и удобства) — потому что в случае небольших сайтов и блогов принципиально ничего не изменится.
Читайте также: Как перенести WordPress с Денвера на хостинг: подробная инструкция.
Перенос базы данных сайта на другой хостинг
Это второй шаг. Большинство сайтов сейчас использует базы данных (см. также что это такое?), из которых система управления сайтом подтягивает данные и отдает пользователю при просмотре.
До сих пор конечно есть небольшие сайты и посадочные промо-страницы (landing pages) на чистом HTML+CSS, которые работают безо всяких БД, в этом случае второй шаг можно пропустить — за неимением самой базы данных. В этом случае переходите сразу к пункту 3 — переносу файлов, ну а я продолжу.
В общем виде, процесс переноса базы данных с одного хостинга на другой заключается в создании физической копии (дампа) вашей базы данных путем экспорта.
Большая часть современных хостингов использует phpMyAdmin для управления базами данных, поэтому я покажу процесс экспорта на примере этой панельки.
Заходим в панель, жмем «Базы данных» из списка выбираем БД для переноса и нажимаем на нее (вы как бы зайдете в нее и увидите список таблиц). Жмите «Экспорт», выбираете «Быстрый», формат «SQL», сохраняете файл .sql на локальный компьютер (она будет загружаться с сервера).
Все готово: дамп БД сделан и готов для импорта.
Теперь идем на ваш новый хостинг, заходим уже там в phpMyAdmin, создаем новую БД с настройками по умолчанию (обычно для русскоязычных сайтов кодировка «utf8_general_ci», но вообще-то надо посмотреть исходную кодировку БД на старом хостинге — она должна совпадать, иначе получите кракозябры и ошибки).
Заходим в БД (таблиц там не будет), жмем «Импорт», выбираем файл на ПК, выбираем кодировку, жмем «Вперед», ждем. В это время phpMyAdmin будет воссоздавать все таблицы и данные в них, но уже на другом хостинге — собственно это нам и нужно было, не так ли?
Перенос исходных файлов сайта на другой хостинг
Итак, третий шаг. Здесь тоже ничего сложного, ведь с исходниками сайта работать еще проще чем с базой данных — вы наверняка уже делали это и не раз.
Я люблю работать в браузерном менеджере файлов, что в cPanel, что в ISP есть функция архивирования группы файлов или целой папки. Выглядит примерно так (для папки):
Этим действием я заархивирую все файлы, содержащиеся в папке моего сайта в архив .zip. Потом скачаю этот архив, загружу на новый хостинг и распакую его там (предварительно нужно будет создать дополнительный домен, который создаст необходимую папку и привяжет ее к домену).
Перенос этот нужно сделать так, чтобы папки вашего сайта на разных хостингах были идентичными.
Есть и второй способ переноса исходников сайта на новый хостинг — при помощи протокола передачи файлов FTP.
- Подключитесь к старому хостингу по ФТП, используя для этого данные доступа ftp-аккаунта: хост (ip), логин, пароль;
- Скопируйте содержимое корня вашего сайта к себе на компьютер — можно выделить несколько файлов, папок и «перетащить» их к себе;
- Дождитесь пока процесс пофайлового копирования исходников будет завершен — вы легко это увидите по пустой очереди заданий в файловом менеджере;
- Подключитесь к новому хостингу по ФТП, используя уже другие данные для доступа и перекиньте скопированные в предыдущем шаге файлы с локального компьютера на сервер хостинга.
Решайте сами какой из вариантов переноса вам больше подходит — по ФТП или через файловый менеджер в браузере. Я чаще пользуюсь вторым просто потому что был неприятный опыт увода паролей из FTP-менеджера FileZilla.
Подключаем базы данных WP, Bitrix, Joomla при переносе сайта на другой хостинг
Собственно, все отличие при переносе сайтов на этих движках заключается в том, что базы данных подключаются в разных местах.
Мы осуществляем одни и те же практически идентичные действия: прописываем NS, экспортируем-импортируем БД, переносим исходники. Но БД подключаются по-разному и это единственная разница при переносе.
Настройки базы данных WordPress хранятся в файле «wp-config.php», который лежит в корневой папке вашего сайта с установленным Вордпрессом.
Вам нужно поменять старые данные на новые. Что это за данные? Название базы данных, имя пользователя которому разрешен доступ к базе данных, хост и пароль. Обратите внимание на префиксы!
Напомню, как выглядит wp-config.php:
Настройки базы данных Joomla (Джумла) хранятся в файле configuration.php, напомню как он примерно выглядит:
Настройки базы данных Bitrix (1С-Битрикс) хранятся в файле dbconn.php. Он располагается по адресу /bitrix/php_interface/dbconn.php и должен выглядеть приблизительно так:
После изменения данных для подключения базы данных остается только ждать пока сменятся НС-записи вашего домена. Этот процесс занимает не менее 3, но не более 48 часов. Ру-домены — подольше, в среднем от 11-12 до 20-24 часов (в зависимости от регистратора).
БОНУС — нюансы и подводные камни при переносе сайта на иной хостинг
Кто-то переносит сайты чаще, кто-то реже. Так или иначе, часто встречаются недокументированные проблемы и сложности, которые не затрагиваются в обычных, типичных и распространенных инструкциях по переносу сайта. По неопытности или незнанию об этом умалчивают.
Я же хочу обратить ваше внимание на некоторые ситуации, чтобы предостеречь начинающих администраторов сайтов и вебмастеров от ошибок и потери работоспособности, данных сайта.
Зачем? Потому что некоторые на первый взгляд несложные самостоятельные переезды внезапно затягиваются более чем на сутки.
Почтовые службы. Никогда не пользуйтесь почтовыми ящиками от хостинга — лучше берите почту Яндекса, Гугла или настраивайте собственный почтовый сервер.
Выбор нового хостинг-сервиса. У большинства приличных команд, оказывающих услуги хостинга есть тестовый период — воспользуйтесь им, если приглянувшийся вам хостинг предлагает такую функциональность. Даже если это 5 или 7 дней (а для ВДС 1-3 дня) — берите. Если об этом ничего не сказано, но отзывы о хостинге хорошие — пишите в ТП, просите предоставить тестовый период. Более чем уверен — вам его дадут.
Когда я переезжал от вышеупомянутого Эскхостинга к Айхору я так и сделал — взял тестовый период, перенес один небольшой сайт. Замерил до переноса скорость отдачи, пинги, время загрузки на старом хостинге с HDD и на новом с SSD — и после переноса, чтобы сравнить. Остался доволен и переехал. Можно было бы конечно еще проверять аптайм (в 2015 году у Айхора он хромал судя по отзывам), но мне было лень.
Помимо такой проверки вам нужно обратить на версии ПО, которое использует хостинг, своевременно ли он их обновляет. Посмотреть просто — вам нужно создать файл phpinfo.php, код которого:
// Показывает информацию о конфигурации PHP
phpinfo();
?>
Если работаете с требовательными к ресурсам движками, например Друпалом или Джумлой, поставьте для теста и посмотрите — хорошо ли отзываются, не тормозят ли.
Последнее — регулярно делайте бэкапы, не храните бэкапы на том же сервере или на локальном компьютере. Храните их в облаке!
Напоследок, пара видео о переносе сайтов на другой хостинг — для тех кто любит смотреть, а не читать:
Интересующие вас вопросы можно задать в комментариях. Чао!