База знаний

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

Перенос сайта между аккаунтами

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

Подготовка к переносу

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

  1. Дополнительные имена (алиасы) и поддомены. Их список есть на странице управления сайтом в разделе «Домены сайта» (алиасы) и «Поддомены сайта».
  2. Записи в DNS. Перейдите в раздел «Настройка DNS» на странице управления сайта и запишите:
    • А-записи, которые указывают не на наш хостинг;
    • МХ-записи, если почта делегирована на сторонний сервис;
    • TXT-записи.
  3. Задания Cron. Перейдите в раздел «Сайты» → «Планировщик Cron», чтобы посмотреть добавленные задания.
  4. Настройки веб-сервера. перейдите в раздел «Сайты» → «Веб-серверы» и запишите настройки текущего бекенда.
  5. Подключенные услуги (Memcache, Redis и другие). Проверьте, подключены ли они, перейдя в раздел «Баланс» → «Дополнительные услуги» Панели управления. Если да – активируйте их и на новом аккаунте.
  6. SSL-сертификаты и дополнительные IP-адреса. Если вы используете бесплатный SSL-сертификат, не забудьте установить его на новом аккаунте. Чтобы перенести дополнительный IP-адрес и платный SSL-сертификат — обратитесь в службу поддержки.
  7. Почтовые ящики. Запишите их имена.

Эти настройки нужно воспроизвести на новом аккаунте.

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

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

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

Создайте архив с файлами сайта. Перейдите в Файловый менеджер и нажмите на «domains». Отметьте папку с именем домена и в панели инструментов кликните на кнопку «Создать архив». Архив будет создан в текущем каталоге (domains). Сохраните его на компьютер, отметив файл и нажав «Скачать файл».

Если для домена созданы почтовые ящики, их содержимое тоже нужно поместить в архив. Для этого перейдите обратно в домашний каталог аккаунта (home/login) и нажмите на «imap». Отметьте папку с именем домена, поместите ее в архив и скачайте на компьютер.

Зайдите в Панель управления нового аккаунта или подключитесь к нему по FTP. Загрузите сохраненный архив файлов в каталог «domains» и распакуйте его. Архив с письмами загрузите и распакуйте в папке «imap».

Перейдите в раздел «Базы данных» и создайте БД для основного сайта и поддоменов, если это необходимо. Перейдите в PhpMyAdmin, отметьте в левом столбце имя нужной базы, нажмите «Импорт», а затем «Обзор». Найдите скачанный ранее дамп (файл с расширением .sql) на вашем компьютере и нажмите «Вперед». Дождитесь завершения импорта.

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

Настройка сайта на новом аккаунте

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

Теперь добавьте настройки в DNS, задачи в Cron и почтовые ящики, сверяясь с информацией из созданного вами ранее текстового документа.

Укажите новые данные для подключения к БД в конфигурационном файле сайта.

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

cd ~/domains/domain.ru/

После чего выполните команду: 

grep "oldlogin" -rl | xargs sed -i 's!oldlogin!newlogin!g'

Вместо domain.ru укажите актуальный домен сайта. Замените oldlogin на прежний логин аккаунта, а вместо newlogin укажите новый.

Если старый и новый аккаунты расположены на разных серверах, изменится IP-адрес в А-записи. До того, как сайт начнет открываться, потребуется дождаться обновления кеша DNS. Это занимает от 2 до 8 часов. Проверить, что все работает, можно с помощью технического домена или файла hosts.

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

Была ли эта инструкция полезной?