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

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

У меня есть опыт переноса 1500 сайтов и хочу поделиться этим опытом кратко и информативно.

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

Если мы не имеем SSH доступ к старому аккаунту:

— Подключаемся к аккаунту на новом хостинге по SSH.

— Создаём временную директорию для переноса:

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

Важно! На хостинге Timeweb установлен LFTP. Но рассказывать про него не буду по причине того, что wget более универсален и включен в дистрибутивы, которые стоят на VDS-серверах.

Если по экрану бежит лог — хорошо.

Если строка не бежит — читаем, что написано и анализируем (например, при помощи Google).

— Эта команда умеет производить докачку файлов и переносит скрытые файлы. Подробнее о ключах в man wget.

— Если порт не 21, то пишем:

— Если логин и пароль не содержит специальных символов, кавычки не нужны.

— Узнать адрес ftp быстрее всего в браузере. Например: ftp://127.0.0.1/www/example.com/public/

— Для переноса файлов без каких либо директорий используем конструкции вида:

— В редких случаях перенос может прерываться из-за лимитов одного из хостинг провайдера. Тогда ставим ограничение:

Если не удалось перенести в консоли, то можно использовать Filezilla: http://timeweb.com/ru/help/display/DOC/FileZilla

Тут есть графический интерфейс. И проще всего это:

  1. скачать к себе на локальный компьютер со старого хостинга;
  2. закачать на новый хостинг со своего компьютера.

Пока несутся файлы — несем базу данных (cм. ниже).

После успешного переноса файлов:

— Создаём директорию сайта в разделе «Сайты».

*Директорию лучше называть доменом.

— Заходим в директорию в консоли:

Если содержимое директории:

Если содержимое отличается, значит, у Вас что-то есть в директории. Если Вы не знаете или не помните, что у Вас тут хранится, то выполняем команды:

1. Если есть доступ в phpMyAdmin, входим в phpMyAdmin.

Если нет, используем adminer.

Adminer прост в использовании. Опишу работу с ним кратко:

— Создать в директории сайта директорию для админера:

— Перейти в директорию adminer:

— Закачать на старый хостинг админер:

— Зайти в adminer example.com/adminer/adminer-4.5.0.php.

2. Создаём дамп базы данных:

— «Быстрый — отображать минимум настроек».

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

Необходимо обратить внимание на следующие моменты:

— выбрать все таблицы галочками;

— использовать оператор при сохранении данных: INSERT.

Дамп автоматически скачивается на локальный компьютер.

3. Создаём базу данных в разделе «Базы данных MySQL» на новом хостинге.

* Пароль берем из конфигурационного файла.

4. Импортируем дамп в БД через phpmyadmin в разделе «Импорт».

При необходимости. Изменяем привязку CMS к домену в БД. Например, в WordPress таблица option.

Подробнее в документации CMS.

Если мы имеем доступ по SSH:

1. Заходим на сервер старого хостинга.

2. При помощи команды cd попадаем в директорию сайта.

3. Копируем полный путь до директории. Команда:

4. Заходим на аккаунт на новом хостинге.

Создаём сайта в разделе «Сайты».

*Директорию лучше называть доменом.

5. Подключаемся к аккаунту на новом хостинге по SSH:

Заходим в директорию сайта:

7. Если содержимое директории:

Если содержимое отличается, выполняем команды:

Cлеш в конце пути.
Cлеш есть — rsync переносит файлы из директории;
слеша нет — rsync создаст одноименную директорию и в неё перенесет содержимое.

а. Простой перенос:

* Если перенос прерывается — перезапускаем. rsync очень быстрый, и ограничивать его при небольших объемах сайта ни к чему.

б. Перенос без директории. Бывает, что надо перенести сайт, а у него есть лишняя директория с кешем, которая весит 90% сайта.

в. Перенос по-настоящему большого сайта, размером больше 10 Гб.

1. Создаём базу данных в разделе «Базы данных MySQL».

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

a. Прямой перенос из базы данных в базу данных.

Заходим на сервер старого хостинга по SSH и вводим:

б. Перенос с созданием дампа.

1) Заходим на сервер старого хостинга по SSH и вводим:

2) На новом хостинге хостинге вводим:

1. Открываем один из конфигурационных файлов. Ещё раз:

2. Ищем имя базы данных, пароль от базы данных и старые пути.

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

4. Вне зависимости от CMS, будь то страшный ModX или WordPress, делаем следующее:

а. Изменяем привязку сайта к базе данных во всех файлах:

б. Изменяем пути во всех файлах сайта:

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

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

Чем вас MODx напугал?)
Возможно, тем, что по вашей замечательной и несомненно полезной инструкции его не получится перенести — не хватает важной информации о правке путей в бд, чистке кэша, правке конфигов, хотя допускаю, что вы намеренно описали только сам механизм переноса файлов и баз.
Зачастую все новички спотыкаются именно на правке конфигов и базы, плюс возможны несовместимости платформ — это вообще отдельная тема — разные версии ОС, php, разные конфигурации, из-за которых на новом хостинге может не хватить времени выполнения скрипта или memory_limit, особенности настройки php myadmin, из-за которых будут проблемы с кодировками при переносе и т д.
ИМХО вы описали полезные инструменты, особенно wget и админер, я пользовался всегда более тяжелым phpmyadmin, но при переносе сайта нельзя не учитывать особенности фреймворков и движков, простое перетаскивание базы прокатит наверное только с вордпрессом, и то не всегда. Битрикс проще и надежнее переносить его собственными утилитами,

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

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

Для выполнения переноса необходимо предоставить следующие данные:

  • реквизиты доступа к FTP или SSH (логин, пароль, адрес сервера);
  • реквизиты доступа к панели phpMyAdmin старого хостинга (адреса серверов, логины и пароли);
  • информацию о том, в каких директориях располагаются файлы сайтов и какие именно сайты следует перенести.

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

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

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

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

Для самостоятельного переноса сайтов выполните следующие действия:

Создайте архив файлов сайта и дамп (резервную копию) базы данных на старом аккаунте.
Это можно сделать при помощи файлового менеджера и phpMyAdmin, также для данных целей вы можете использовать подключение по SSH.
Для создания архива файлов при работе по SSH необходимо использовать команду:

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

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

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

Загрузите архив файлов сайта в папку public_html.
Сделать это можно при помощи файлового менеджера (функция «Файл» — «Загрузить на сервер»), подключения по FTP или SSH.
Для копирования файлов по SSH используйте команду:

Создайте базу данных на новом аккаунте, раздел «Базы данных MySQL».

Импортируйте дамп базы в созданную на новом аккаунте базу данных при помощи phpMyAdmin (вкладка «Импорт») или подключения по SSH:

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

Перенесите домен на новый аккаунт согласно данной инструкции и привяжите его к сайту (раздел «Сайты»).