Как перенести сайт на новый хостинг: пошаговая инструкция

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

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

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

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

Общая схема переноса сайта

  1. Подготовить доступы к старому и новому хостингу.
  2. Создать резервные копии файлов и базы данных.
  3. Подготовить домен и базу данных на новом сервере.
  4. Перенести файлы сайта.
  5. Импортировать базу данных.
  6. Изменить настройки подключения сайта.
  7. Проверить работу проекта до изменения DNS.
  8. Перенаправить домен на новый сервер.
  9. Проверить сайт после обновления DNS.

Этап 1. Подготовка к миграции

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

  • Доступ к панели управления старого хостинга.
  • Доступ к панели управления нового хостинга.
  • Данные для подключения по FTP, SFTP или SSH.
  • Логин, пароль и название базы данных.
  • Доступ к панели управления доменом и DNS-зоной.
  • Резервная копия файлов сайта и базы данных.

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

Этап 2. Создание резервной копии

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

2.1. Архив файлов сайта

  1. Откройте файловый менеджер панели управления или подключитесь к серверу по FTP или SFTP.
  2. Найдите корневую директорию сайта.
  3. Скачайте все файлы и папки на компьютер.
  4. Если панель поддерживает создание архивов, предварительно упакуйте сайт в ZIP или TAR-архив.

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

2.2. Дамп базы данных

  1. Откройте phpMyAdmin или другой инструмент управления базой данных.
  2. Выберите базу данных, которая используется сайтом.
  3. Перейдите в раздел экспорта.
  4. Выберите полный экспорт всех таблиц в формате SQL.
  5. Скачайте полученный файл на компьютер.

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

Этап 3. Подготовка нового хостинга

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

  • Добавьте домен в панели управления новым хостингом.
  • Создайте базу данных и пользователя базы данных.
  • Задайте надежный пароль для пользователя базы данных.
  • Сохраните данные подключения к FTP, SFTP или SSH.
  • Проверьте доступную версию PHP и необходимые расширения.
  • Настройте почтовые ящики, cron-задачи и дополнительные сервисы, если они используются проектом.

Обратите внимание на версию PHP, настройки веб-сервера, лимиты загрузки файлов и доступные расширения. Отличия в конфигурации могут привести к ошибкам после переноса.

Этап 4. Перенос файлов сайта

  1. Подключитесь к новому серверу по FTP, SFTP или через файловый менеджер.
  2. Откройте корневую папку домена.
  3. Загрузите архив сайта или все файлы из резервной копии.
  4. Распакуйте архив в корневую директорию сайта.
  5. Проверьте структуру папок и наличие скрытых файлов.

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

После загрузки проверьте права доступа к файлам и папкам. Слишком строгие или слишком широкие права могут привести к ошибкам сайта и проблемам с безопасностью.

Этап 5. Импорт базы данных

  1. Откройте phpMyAdmin на новом сервере.
  2. Выберите созданную базу данных.
  3. Перейдите в раздел импорта.
  4. Выберите сохраненный SQL-файл.
  5. Запустите импорт и дождитесь его завершения.

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

Этап 6. Изменение настроек подключения

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

  • Название базы данных.
  • Имя пользователя базы данных.
  • Пароль пользователя базы данных.
  • Адрес сервера базы данных.
  • Порт базы данных, если он отличается от стандартного.

Название конфигурационного файла зависит от используемой CMS или фреймворка. Например, у разных систем настройки могут находиться в `wp-config.php`, `.env`, `configuration.php` или другом файле.

Если на новом сервере изменился путь к корневой директории сайта, обновите абсолютные пути к файлам и папкам.

Этап 7. Проверка сайта до смены DNS

До изменения DNS необходимо убедиться, что сайт работает на новом сервере. Это позволяет проверить проект без переключения основного трафика.

7.1. Проверка через технический адрес

Некоторые хостинги предоставляют временный технический адрес или тестовый поддомен. Откройте сайт по этому адресу и проверьте его основные функции.

7.2. Проверка через файл hosts

Если технического адреса нет, можно временно направить домен на новый IP только на своем компьютере через файл `hosts`.

В файл `hosts` добавляется строка следующего вида:

203.0.113.10 example.com
203.0.113.10 www.example.com

Вместо `203.0.113.10` укажите IP-адрес нового сервера. После проверки удалите эти строки из файла `hosts`, чтобы компьютер снова использовал обычные DNS-записи.

7.3. Что необходимо проверить

  • Главную страницу и основные разделы сайта.
  • Авторизацию и регистрацию пользователей.
  • Формы обратной связи и отправку писем.
  • Поиск и фильтрацию товаров или материалов.
  • Работу интернет-магазина и оформление заказов.
  • Подключение к базе данных.
  • Загрузку изображений, CSS и JavaScript-файлов.
  • Работу платежных систем и внешних API.
  • Отображение сайта на компьютере и мобильных устройствах.
  • Работу HTTPS и SSL-сертификата.

Этап 8. Перенаправление домена на новый сервер

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

Изменение A-записи

Если DNS-зона остается у текущего регистратора, замените IP-адрес в A-записи домена на IP-адрес нового сервера.

Изменение NS-записей

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

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

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

Этап 9. Проверка после обновления DNS

После изменения DNS повторно проверьте сайт из разных сетей и регионов. Для этого можно использовать мобильный интернет, VPN или онлайн-сервисы проверки DNS.

  • Убедитесь, что домен указывает на IP нового сервера.
  • Проверьте версии сайта с `www` и без `www`.
  • Проверьте работу HTTPS и автоматического перенаправления.
  • Убедитесь, что формы и почтовые уведомления работают.
  • Проверьте авторизацию, корзину, заказы и платежи.
  • Проверьте работу счетчиков и аналитики.
  • Просмотрите журналы ошибок нового сервера.

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

Частые проблемы после переноса

Сайт показывает ошибку подключения к базе данных

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

На сайте отображается ошибка 500

Причиной может быть несовместимая версия PHP, ошибка в `.htaccess`, отсутствие расширения PHP или неправильные права доступа к файлам. Проверьте журнал ошибок сервера.

Не загружаются изображения и стили

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

Не отправляются письма

Проверьте настройки почты, MX-записи, SPF-запись и параметры SMTP. После смены DNS почтовые записи также могут обновляться некоторое время.

Не работает HTTPS

Установите SSL-сертификат на новом сервере и проверьте, что он выпущен для основного домена и его версии с `www`. После этого настройте перенаправление с HTTP на HTTPS.

Полезные рекомендации

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

Заключение

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

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

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

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