Как перенести файлы с одного сайта на другой

Обновлено: 07.07.2024

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

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

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

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

Шаг 1: добавляем домен

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

Простой способ зарегистрировать домен в одной из популярных зон — приобрести его в Eternalhost. Низкие цены и бесплатный DNS-хостинг.

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

Шаг 2: переносим файлы сайта

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

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

  • Протокол FTP/SFTP (FileZilla, FAR, Total Commander);
  • Протокол SSH (Putty);
  • Встроенный в панель управления хостингом менеджер файлов.

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

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

Шаг 3: переносим базу данных

Этот шаг относится к сайтам с CMS. Подобные системы управления, чаще всего работают на основе баз MySQL, которые тоже нужно переместить. Управлять базами данных (БД) можно с помощью веб-интерфейса, встроенного в панель управления хостингом или вручную, через панель phpMyAdmin.

Для переноса MySQL нужно зайти в раздел, содержащий БД и выделить все файлы. Далее запускаем функцию «Экспорт» и выбираем путь для сохранения файлов. Как и в случае с файлами сайта, для экономии времени можно заранее создать архив.

На новом хостинге выбираем функцию «Создание базы данных». Заполняем соответствующие поля, включая название БД, логин, пароль, после чего нажимаем кнопку «Создать».

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

Шаг 4: переносим учетные записи e-mail

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

  1. Адрес почты находится на регистраторе доменного имени. Самый удобный вариант. Для переноса учётных записей e-mail нужно просто зайти в аккаунт регистратора и привязать почтовый сервер на IP-адрес выбранного хостинга.
  2. Электронная почта привязана к сервису-посреднику (например, Microsoft 365, Google G Suite, МойОфис). В этом случае нужно проверить, обновляются ли в DNS записи MX, необходимые поставщику e-mail услуг.
  3. Адрес электронной почты размещенна сервере старого хостинг-провайдера. Тогда придется потратить время, чтобы заново создать учетные записи на новом хостинге. Для этого нужно воспользоваться функцией импорта e-mail в разделе «Электронная почта».

Шаг 5: обновление файлов конфигурации CMS

Необходимо изменить настройки в системном документе ресурса. Обычно это файл находится в папке с «движком» и имеет в своём названии слова «config», «conf», «settings». Например, на WordPress он называется «wp-config.php», на Bitrix «dbconn.php», а на Joomla «configuration.php».

Ищем конфигурационный файл в сохранённом архиве с данными сайта и открываем в «блокноте». В строках со словами «Name», «User», «Password», «Host» прописываем всю свежую информацию. Когда конфигурация будет исправлена, устанавливаем файл в корень веб-сайта на новом сервере.

Шаг 6: меняем DNS-сервер и переносим домен

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

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

Поле серверов имён (NS) в панели биллинга на хостинге.

Трансфер можно осуществить тремя способами:

  • полностью перенести домен к новому хостеру/регистратору;
  • изменить DNS-запись;
  • поменять Сервера имён (NS сервера) домена.

Два первых способа связаны с рядом технических сложностей, поэтому остановимся на описании третьего варианта. Сначала нужно узнать новые значения NS серверов нового хостинга – они начинаются с букв «ns1», «ns2» и т.д. Обычно эта информация находится в памятке, присылаемой по почте при регистрации. Затем обновить эти значения на старом хостинге через панель управления доменом.

Проверка сайта

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

  1. Сделать проверку через технический доменов ресурса. Обычно это адреса четвертого уровня, обеспечивающие работу страниц даже тогда, когда основное имя не функционирует.
  2. Проверить работу сайта через поддомен, подключённый к public_html.
  3. Заказать проверку работоспособности через техническую поддержку хостера.

Заключение

Следуя этому алгоритму, можно без особых трудностей сменить хостинг сайта самостоятельно. Если же своих сил и познаний в администрировании ресурса не хватает, всегда есть возможность запросить эту услугу у технической поддержки нового хостера. Провайдеры — и Eternalhost тут не исключение — охотно помогают клиентам с переездом. Достаточно создать обращение (тикет) через панель управления или написать на e-mail, как к решению технически сложных задач переноса сайта тут же подключатся профессионалы.

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

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

Я сто лет не пользовался нативными инструментами импорта/экспорта Вордпресс и уже даже забыл, как оно там все раньше работало. И работало ли. По этому вопросу гуглится очень много проблем. Решений на самом деле несколько. Профессиональные разработчики вряд ли вообще будут заморачиваться с этой функцией. Любители же обычно выбирают самое простое решение с минимальным количеством телодвижений. И такое решение есть — плагин Auto Upload Images. На нем и остановимся.

Экспорт записей

Экспортируем записи с сайта донора стандартным образом: Инструменты ⟶ Экспорт ⟶ Записи

Как перенести записи вместе с картинками на другой Вордпресс сайт

Экспорт записей в Вордпресс

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

Импорт записей

Тоже стандартная процедура, останавливаться на ней подробно не будем: Инструменты ⟶ Импорт ⟶ WordPress (Запустить импорт). Если авторы на сайтах отличаются, Вордпресс в процессе импорта спросит с какими авторами сопоставить записи на новом сайте или предложит их создать.

Как перенести записи вместе с картинками на другой Вордпресс сайт

Импорт записей в Вордпресс

Загрузка изображений

Я использовал «Auto Upload Images» ранее на одном проекте, где авторы не любили (или просто ленились?) загружать изображения и вставляли их напрямую с внешних ресурсов. Плагин за них все загружал и сохранял в медиабиблиотеку. Делал это абсолютно бесшумно, незаметно, и оставил приятное впечатление.

У плагина нет никаких настроек, все работает «из коробки»: просто устанавливаем его, активируем и идем в раздел «Записи». Там и будем производить все манипуляции.

Все, что потребуется это отметить импортированные записи, в выпадающим списке выбрать «Изменить», нажать кнопку «Применить» и в открывшемся блоке нажать «Обновить». Всё!

Как перенести записи вместе с картинками на другой Вордпресс сайт

Работа плагина «Auto Upload Images»

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

Еще раз оговорюсь, если постов тысячи и к ним прикреплены гигабайты изображений, лучше экспортировать напрямую из БД и скопировать руками весь wp-content . Данное решение больше подходит обычным пользователям с простыми ситуациями, когда постов не так много, но уже лень переносить изображения руками. И категорически не советую обновлять сразу сотни постов, особенно если сайт размещен на виртуальном хостинге. Ресурсов скорее всего не хватит и хостинг выпишет леща.

Делаю сайты на Вордпресс с 2008 года. Не просто сайты, а уникальные инструменты для решения сложных бизнес‑задач с оптимизацией и поддержкой.

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

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

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

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

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

Что именно необходимо переносить?

В своей статье «Что такое сайт?» я рассказывал о трех компонентах каждого интернет ресурса. При переносе мы должны поработать с каждым из них.

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

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

В-третьих , потребуется перенести все данные (файлы, базы данных) со старого хостинга на новый.

Это вкратце, теперь давайте рассмотрим весь процесс в подробностях. Максимум, для переноса потребуется 8 шагов. Я буду описывать процесс исходя из предположения, что у вас уже есть новый хостинг, если у вас его еще нет, то сначала выберите подходящий и зарегистрируйте в нем аккаунт, порекомендовать могу один из этих (ссылки партнерские): Timeweb или Sprinthost .

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

Шаг 1. Добавить домен в админку нового хостинга

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

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

Добавить домен к хостингу

Шаг 2. Перенести файлы с одного сервера на другой

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

Иногда, сайты могут иметь большой объем данных и много файлов, поэтому, лучше всего, полностью все файлы упаковать в ZIP архив еще на старом месте и дальше перекидывать уже один архивный файл. Такой архив без проблем распакуется на любом хостинге, а времени на перенос уйдет намного меньше, да и нагрузка на сервера снизится.

сжимаем файлы сайта на хостинге


Скачиваем файлы на компьютер:

скачиваем файлы с хостинга на компьютер

Если ваш ресурс очень простой (выполнен на простом HTML) и не имеет баз данных, то пункты с 3 по 6 можно пропустить. Но любой сайт, использующий систему управления контентом (CMS), требует для своей работы базу данных MySQL, ее тоже необходимо перенести.

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

экспорт базы данных MySQL

выбрать сжатие базы данных

Шаг 4. Создать базу данных на другом хостинге

Точно также, как и в предыдущем пункте, открываете на другом хостинге раздел «Управление базами данных» (Базы MySQL), только вместо выбора нужной базы – выбираете пункт создать новую базу данных.

Для нее нужно будет указать название, а также логин пользователя и пароль для доступа. Некоторые хостеры автоматически устанавливают имя пользователя (логин) соответствующий названию базы данных, поэтому просят ввести только пароль. Запишите эти данные, они вам понадобятся.

создаем новую базу данных MySQL

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

Шаг 5. Импортировать базу данных на новый хостинг

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

переносим базу данных на другой хостинг

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

После того, как мы перенесли файлы и базу данных, нам нужно связать их между собой. Для этого найдите конфигурационный файл вашей CMS. В WordPress он называется wp-config.php, находится он в корневой директории сайта (прямо в public_html).

Открываете этот файл для редактирования и заменяете следующие строки:

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

Шаг 7. Проверить работу файлов и базы данных

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

Проверяем работу сайта на новом хостинге:

Шаг 8. Изменить DNS записи домена

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

Выглядят эти записи примерно вот так (это для моих хостингов):

У любого другого хостера DNS записи свои.

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

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

Что такое FTP и зачем он нужен?


Ибо если же вам нужно перенести хотя бы гигабайты данных, то вы неминуемо столкнетесь с проблемами, что обрывается соединение, файлы передаются очень медленно и долго. Это объясняется простым фактом, что протокол FTP был создан аж в 1971 году. То есть ему уже 50 лет.

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

Как работать с файлами на сервере Linux не имея доступа по FTP?

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


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

А можно просто использовать любой FTP-клиент подключаясь SSH-пользователем на 22-порт. Можно даже рутом и тогда будете иметь доступ через Файлзиллу к любым файлам на сервере.


И такой вариант для работы с файлами всегда будет работать гораздо стабильнее, безопаснее и быстрее. А плюс к этому, не нужно даже настраивать FTP-службу на сервере.

Быстрый перенос и копирование файлов с сервера на сервер

Упаковка (архивация) файлов сайта на сервере и копирование с помощью SCP

Её, разумеется, часто можно выполнить и через панель управления. Затем копируем (отправляем) с исходного сервера на целевой:

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

Будет запрошен пароль от целевого сервера и файл улетит туда.

Затем его можно там распаковать:

и дальше уже положить файлы куда вам надо на новом сервере.

Копировать можно вводя команды и на новом сервере, следующим образом:

Копирование большого количества файлов и папок с одного сервера на другой без архивации

Результат будет точно таким же.

Однако, такой способ имеет некоторые недостатки. Во-первых, при таком копировании могут не сохраниться или сбиться права доступа к файлам и папкам. Вернее даже не права доступа, а владельцы. И их потом нужно будет выставлять, менять на нужные командой chown.

А еще даже при переносе с одного сервера на другой случается, что связь рвется, и нужно опять же процесс перезапускать.

Так вот, есть ещё более удобная штука, которая решает и эти заморочки. Это синхронизация.

Перенос файлов с одного сервера на другой синхронизацией утилитой rsync

Ну что-ж, теперь давайте посмотрим как это делается.

Для начала, её может понадобиться установить, хотя часто она и так уже есть на серверах. Если не окажется, то сделать так:

Но для начала, хочу сказать, что сам я этой утилитой пользуюсь не только для передачи файлов по сети между серверами. А пользуюсь для обычного копирования и внутри одного сервера. К примеру, надо мне на всякий случай сохранить текущие файлы и папки конфигурации сервера перед настройкой, я это в 2 секунды могу сделать с помощью rsync. Например так:

В этом случае будет создана папка /backup/etc и внутри будет все содержимое. Аналогично тому, как если бы вы воспользовались копированием

Однако есть нюансы, которые важно понимать, при работе с утилитой rsync. Обратите внимание, в первой команде в пути исходной папки нет закрывающего слеша. А во второй он есть, и наоборот его нету у второй папки.

Такой вариант отработает точно так же.

Однако если исполнить

Это будет работать совсем иначе. В этом случае, содержимое папки /etc нальется прямо в папку /backup. Что конечно совершенно не подходит. Ибо там может лежать что-нибудь ещё., потом разбираться что где лежит.

Без указания слеша папка будет скопирована полностью вместе с содержимым. Но ещё лучше сделать так:

Это значит, что будет создана папка /backup/etc_backup_131019/ и в нее синхронизируется содержимое папки /etc/

Если вдруг мне понадобится потом все вернуть, я исполню так:

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

Так нам нужно исполнить на старом сервере в качестве второго аргумента указан новый сервер и путь к папке сайта на нем, после двоеточия. Так же, как и в случае с scp. В этом случае, при существовании такой папки на целевом сервере ее содержимое будет синхронизировано с исходной. Если она не существует, то будет создана и затем синхронизирована. Но помните о слешах, тут надо внимательно.

Если вы сделаете например так:

В общем, вкусив rsync, вы больше не сможете жить без него, и будете вспоминать FTP как страшный сон. Я гарантирую это.

Запуск переноса файлов в фоновом режиме

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

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

ставится точно так же, если отсутствует.

Затем её запускаем

И всё, у вас откроется как-бы терминал в терминале. Можете там делать всё, о чем мы говорили ранее, и вообще что угодно любое другое.

Теперь, если ваш терминал на локальной машине отвалится от сервера, вы всегда можете подключиться заново, набрать

И попадете туда, где вы запустили ваш процесс.

Можно и принудительно отключиться от screen, оставив процесс выполняться в фоне, а самому что-то продолжить дальше делать в основном терминале. Для этого надо нажать комбинацию клавиш ctrl+a, и затем D. А вернуться потом обратно screen -r.

Еще есть куча вариантов и способов для этой тривиальной задачи, но в 95% случаев этого достаточно.

Как переносить сайты между серверами по FTP, если нету SSH?

А ещё, вот это вот всё очень помогает понимать как можно удобнее и быстрее бэкапить свои данные. Ибо утилита rsync позволяет не перегонять весь объем данных по сети, а экономно и быстро слить только новые и изменившиеся данные. Вообще, rsync имеет кучу всевозможных опций. Умеет копировать и так и сяк. Может попутно удалять файлы как с исходного места, так и чистить лишние на целевом и ещё много всякого. Это же может делать и lftp. Но с этим стоит быть очень аккуратным, во избежание потери данных.

Надеюсь, это чуточку облегчит кому-то жизнь и поможет стать существенно профессиональнее 🙂

Читайте также: