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

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

Перенос специалистами Timeweb

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

Для переноса сайта в Timeweb необходимо:

  1. Выбрать тариф и зарегистрировать аккаунт на нашем сайте.
  2. После регистрации создать обращение в службу поддержки через специальную форму, указав IP-адрес отдающего сервера, логин и пароль для доступа по SSH или FTP (в этом случае дополнительно укажите данные для доступа к базе данных, например, через phpMyAdmin), а также расположение файлов на отдающем сервере. Если вы затрудняетесь предоставить эту информацию, запросите ее в технической поддержке текущего хостинг-провайдера.
  3. После сообщения о размещении сайта необходимо проверить его работу и перенести домен по инструкции «Технический перенос домена в Timeweb».

Если перед переносом домена вам необходима актуализация базы данных, то в рамках обращения необходимо согласовать время копирования БД.

Обратите внимание, пожалуйста, что мы выполняем переносы только при подключении по FTP или SSH; другими способами не переносим.

В перенос входит:

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

Самостоятельный перенос

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

Перенести файлы сайта со стороннего хостинга можно с помощью подключения по SSH или по FTP.

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

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

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

Далее подключитесь по SSH к вашему аккаунту Timeweb. 

Выполните команду ниже, чтобы создать временную директорию tmp:

mkdir tmp

Перейдите в нее:

cd tmp

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

rsync -arpPvt --log-file=perenos.log login@IP:путь/к/файлам ./

где:

  • login — логин аккаунта на старом хостинге;
  • IP — IP-адрес сервера на старом хостинге;
  • путь/к/файлам — путь к директории с файлами сайта (уточнить его можно в поддержке прежнего хостинга).

Нажмите Enter и подтвердите подключение, введя слово «yes». Далее укажите пароль от аккаунта на старом хостинге, после чего начнется копирование файлов. 

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

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

  1. Подключитесь по FTP к отдающему серверу с помощью любого FTP-клиента, например, FileZilla, и скачайте файлы сайта на свой компьютер. 
  2. Подключитесь по FTP к своему аккаунту Timeweb. 
  3. Создайте временную директорию в вашем аккаунте с помощью FTP-клиента или через Файловый менеджер в панели.
  4. Загрузите файлы с компьютера во временную директорию. 

Перенос файлов в директорию сайта

После загрузки файлов на хостинг: 

  1. Перейдите в раздел «Сайты» — «Мои сайты» и нажмите на ссылку «Создать новый сайт».
  2. Укажите имя директории сайта и, при необходимости, комментарий. В вашем аккаунте будет создан каталог /директория_сайта/public_html/, куда будет необходимо загрузить файлы сайта.
  3. Нажмите «Привязать домен» и выберите любой технический домен.
  4. Перенесите файлы из временной директории в директорию сайта. Это можно сделать через FileZilla при подключении по FTP или с помощью команды mv при подключении по SSH:
mv ~/tmp/site ~/директория_сайта/public_html

Где:

  • ~/tmp/site — путь к файлам во временной директории;
  • ~/директория_сайта/public_html — путь к созданной для сайта директории.

Например, если вы создали директорию wordpress, файлы сайта нужно разместить в директории ~/wordpress/public_html/.

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

Если сайт имеет базу данных, ее тоже необходимо перенести.

Для этого:

  1. Создайте дамп базы данных на старом хостинге и скачайте его на свой компьютер. Если вам доступен phpMyAdmin, экспортировать дамп можно по нашей инструкции
  2. Создайте базу данных в панели управления Timeweb.
  3. Импортируйте дамп в созданную базу.

Настройка конфигурационных файлов CMS

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

Для отдельных CMS также могут понадобиться дополнительные настройки.

Мы описали необходимые действия для наиболее популярных CMS.

Wordpress

Обновите реквизиты подключения к базе данных в конфигурационном файле wp-config.php

# Путь к файлу:
/public_html/wp-config.php

# Строки с реквизитами:
define('DB_NAME', 'имя_БД');
define('DB_USER', 'имя_БД');
define('DB_HOST', 'localhost');
define('DB_PASSWORD', 'пароль');

Также рекомендуем добавить в конец файла wp-config.php следующие строки, чтобы отменить привязку сайта к конкретному домену:

if(isset($_SERVER['HTTPS'])) {
$schema = 'https://';
}
else {
$schema = 'http://';
}
define('WP_HOME', $schema.$_SERVER['SERVER_NAME']);
define('WP_SITEURL', $schema.$_SERVER['SERVER_NAME']);

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

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

wp search-replace домен1 домен2

где:

  • домен1 — домен, который нужно заменить;
  • домен2 — домен, который нужно указать вместо прежнего домена.

Bitrix

Обновите реквизиты подключения к базе данных в конфигурационных файлах dbconn.php и .settings.php:

# Путь к файлу:
/public_html/bitrix/php_interface/dbconn.php

# Строки с реквизитами:
$DBLogin  = "имя_БД";
$DBPassword  = "пароль";
$DBName  = "имя_БД";

# Путь к файлу:
/public_html/bitrix/.settings.php

# Строки с реквизитами:
'database' => 'имя_БД',
'login' => 'имя_БД',
'password' => 'пароль',

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

Иногда может потребоваться добавить технический домен в админ-панель сайта. Для этого в админ-панели перейдите в Настройки -> Настройки продукта -> Список сайтов -> Сайты. Дважды кликните на ваш сайт и в поле «Доменное имя» укажите технический домен. Сохраните настройки.

Drupal

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

# Путь к файлу:
/public_html/sites/default/settings.php

# Строки с реквизитами:
'database' => 'имя_БД',
'username' => 'имя_БД',
'password' => 'пароль',

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

Joomla

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

# Путь к файлу:
/public_html/configuration.php

# Строки с реквизитами:
var $user = 'имя_БД';
var $db = 'имя_БД';
var $password = 'пароль';

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

Иногда может потребоваться заменить путь к директории tmp. Для этого в файле configuration.php нужно указать актуальный путь в строке:

public $tmp_path = 'путь/к/директории/tmp';

MODX

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

  • config.core.php
  • /connectors/config.core.php
  • /manager/config.core.php
  • /core/config/config.inc.php

В них должен быть указан полный путь к файлам, то есть путь вида:

/home/u/user/modx/public_html/core/model/modx/processors/

Где u и user — первая букву вашего логина и сам логин.

В большинстве случаев достаточно заменить только путь до директории с файлами сайта (/home/u/user/modx/), так как внутренняя структура сайта сохраняется. 

Чтобы не заменять каждую строку вручную, можно воспользоваться SSH-командой sed такого вида:

sed -i 's%старое_значение%новое_значение%g' ./имя_файла

Например, для замены значения /home/v/v01111/site/ на /home/c/cm03555/modx/ в файле config.inc.php, необходимо в директории ~/modx/public_html выполнить команду:

sed -i 's%/home/v/v01111/site/%/home/c/cm03555/modx/%g' ./core/config/config.inc.php

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

# Путь к файлу:
/public_html/core/config/config.inc.php

# Строки с реквизитами:
$database_user = 'имя_БД';
$database_password = 'пароль';
$dbase = 'имя_БД';
$database_dsn = 'mysql:host=localhost;dbname=имя_БД;

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

В некоторых случаях может понадобиться очистка кэша. Для этого нужно удалить содержимое директории:

/директория_сайта/public_html/core/cache/

OpenCart

Проверьте, как указаны пути в конфигурационных файлах config.php и /admin/config.php. Если прописаны полные пути (например: /home/v/v011111/opencart/public_html/catalog/), их нужно заменить на актуальные.

Чтобы не заменять каждую строку вручную, можно воспользоваться SSH-командой sed такого вида:

sed -i 's%старое_значение%новое_значение%g' ./имя_файла

Например, для замены значения /home/v/v01111/opencart/ на /home/c/cm03555/opencart/ в файле config.php, необходимо в директории ~/opencart/public_html/ выполнить команду:

sed -i 's%/home/v/v01111/opencart/%/home/c/cm03555/opencart/%g ./config.php

После необходимо очистить кэш и выполнить обновление модификаторов через админ-панель.

Для очистки кэша переименуйте директорию cache, например, в cache1. Директория cache расположена по пути:

~/директория_сайта/public_html/storage/cache

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

1

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

Перенос домена

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

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