Как перенести сайт с одного хостинга на другой? Перенос сайта на другой хостинг PHP MySQL
Переход на новый hosting
Недавно написал я статью про конец света, и вскоре с данным сайтом стало твориться что-то неладное. Два дня подряд он по несколько часов или жутко тормозил, или просто был недоступен.
Такое бывало и ранее, но переносить его на другой хостинг мне не хотелось, т.к. очень много уже «залито» разных важных файлов, создано несколько почтовых ящиков и поддоменов. А делегировать перенос сайта кому-либо мне не хотелось из-за психологических предрассудков
В общем, заниматься этим не хотел, но за последние несколько дней из-за проблем с хостингом заметно упал трафик с поисковиков, так что я решил, что пора. В разное время приходилось уже «переезжать», но сейчас получилось как-то всё долго и немного проблемно — до сих пор техническая служба разбирается с почтовыми ящиками (они не шлют письма).
(ПЕРЕЙТИ СРАЗУ К ПРОЦЕССУ ПЕРЕНОСА)
В чём вообще были проблемы со старым хостингом? Да на самом деле, никаких, кроме того, что сайты постоянно DDoS’или (особым образом атаковали) и те ресурсы, на которых не была направлена атака, тем не менее, страдали от неё — тормозили или вырубались вовсе. А также бывали периодические проблемы с маршрутизаторами.
Старого хостера для данного сайта я даже рекомендовал в статье «почему спам — плохо?«. При совсем небольшой цене, на нём можно:
- разместить неограниченное число сайтов (доменов)
- с неограниченным числом баз данных,
- неограниченным числом почтовых ящиков
- и неограниченным трафиком.
Почти всё не ограничено, кроме свободного места — 1 Гб. Но это очень много для статейных сайтов (а для крупных файлов всё равно лучше использовать облачные хранилища).
Ещё там есть возможность недорого купить домены и компетентная тех.поддержка. Да и сервер, на котором располагались мои сайты имеет 16 Гб ОЗУ, так что всё там быстро и удобно.
Но вся проблема в том, что этот хостер размещает ресурсы на серверах в Hetzner (крупнейшая европейская хостинговая компания с огромным дата-центром), и то ли Hetzner предоставил плохое оборудование, то ли что-то ещё, но сайт иногда по три раза в день бывал недоступен на 3-10 минут. Ну и постоянные DDoS-атаки.
Поэтому я решил перенести всё на выделенный сервер и к той компании, которая бы использовала подконтрольное ей техническое оборудование.
Сначала решил «податься» к уважаемому мной хостингу Timeweb.ru (я и сейчас всем его рекомендую), но лично мне хотелось, чтоб этот мой проект находился бы за пределами РФ. А timeweb размещает сервера в Санкт-Петербурге.. Если вам всё равно, где «географически» находятся ваши сайты, то смело пользуйтесь timeweb — мощности у них хорошие, да и пинг сайта будет, естественно, меньше.
Но я подумал «опробовать» компанию Fornex.com, давно к ним присматривался (компания — в Испании, сервера — в Германии, сайт — на русском). Причём, для быстроты дела, решил взять обычный виртуальный хостинг (пока на месяц, но, как оказалось, при заказе на месяц — дают два). И пока это самый быстрый хостинг, который мне доводилось пробовать. Подробный отзыв про Fornex.com как-нибудь ещё напишу, пусть пока разберутся с почтовыми ящиками (up: разобрались как статью дописал; очень качественно :)).
В общем, процесс переезда я подробно «отскриншотил» (для истории), так что в данной статье расскажу стандартный алгоритм переноса сайта с одного на другой хостинг в картинках.
Нужно отметить, что я напишу именно про хостинг PHP MySQL (а не IIS, Java и т.п) — т.к. это самый распространённый вариант.
Как перенести сайт с одного хостинга на другой?
Всё довольно просто, но может получиться долго. Если ваш ресурс не использует БД (базу данных), то нужно выполнить всего два шага, а так их три:
- переносим файлы сайта со старого хостинга на новый;
- также переносим БД;
- меняем DNS для связки доменного имени с новым сервером.
Теперь расскажу обо всём по порядку.
Перенос файлов сайта на другой хостинг со старого
Делать это предлагаю не посредством FTP, а через веб-интерфейс Панели управления, потому что большое количество файлов по FTP передаётся очень долго. Мне повезло — у обоих хостеров используется панель ISPmanager одной версии. Но если в вашем случае они отличаются — сути это не меняет.
В панели старого PHP MySQL хостинга (с которого уходим)
Сначала надо скопировать всю папку с сайтом к себе на компьютер. Как правило, папка автоматически архивируется в .tgz формат и сразу скачивается. Показываю на примере ISPmanager, но в других ПУ всё аналогично:
Выделяем папку с файлами сайта…
…и скачиваем её
Далее можно сразу закачать эти файлы на новый хостинг. Но лучше так не делать — у некоторых хостеров к названию БД и имени пользователя БД добавляется специальный префикс, поэтому необходимо в скачанной ранее папке с файлами сайта найти конфигурационный файл и изменить в нём БД/имя пользователя БД. А для этого надо создать новую БД, чтобы узнать этот префикс (об этом — далее).
Чтобы затем опять не возвращаться в ПУ старого хостинга, лучше сразу скачать к себе на компьютер БД. Сделать это можно обычным способом — через phpMyAdmin, путём экспорта её в файл:
Экспорт старой базы данных в файл
— щёлкаем вкладку «Экспорт» и жмём «OK» в правом нижем углу. Вся ваша БД теперь «соберётся» в обычный текстовый файл с расширением .sql. Этот файл может оказаться неожиданно большим..
А можно (если позволяет ПУ) просто зайти в соответствующий раздел панели и сразу скачать её на компьютер:
Скачиваем БД через ISPmanager
Больше в данную ПУ возвращаться не потребуется.
В панели нового хостинга (куда нужно переносить сайт)
Создаём новую БД — прописываем её название, имя пользователя и пароль:
Переходим к созданию БД на новом хостинге…
… и создаём её
Теперь, создав БД, можно внести её данные в конфиг.файл. Если сайт ваш создан на WordPress, то этот файл называется wp-config.php и лежит в корневой директории — т.е. его можно найти в архиве, который мы скачали ранее:
Правка config-файла в WordPress
Так что разархивируем скачанное, правим файл и сохраняем изменения. И теперь вновь создаём архив из всех файлов сайта. В Windows проще всего сделать .zip-архив — для этого выделяем все файлы в папке (CTRL+A) и щёлкаем правой кнопкой мышки по любому из них:
Архивируем все файлы
Как будет назван архив — не важно. Но не стоит прямо сейчас закидывать его на другой хостинг. Дело в том, что когда в ПУ будет создан новый домен, то он автоматически создаст папку с новым доменным именем — вот в неё потом и закинем файлы этого архива.
Создаём новый домен в ПУ хостинга и переносим БД
Теперь можно забыть о старом хостинге и остаться в ПУ нового.
Сперва заходим в phpMyAdmin (в созданную БД) и делаем импорт той другой БД, которую мы сохранили на компьютер:
Импорт базы данных в phpMyAdmin
— выбираем файл со старой БД и жмём «OK» (справа внизу). Импорт большой БД может затянуться..
Всё, с БД покончено. Теперь осталось создать домен в ПУ:
Создаём новый домен в ISPmanager
Здесь всё просто, в разных ПУ выглядит по-разному. После создания домена появится папка в корневой директории нашего хостинг-аккаунта, имя этой папки = домен переносимого сайта. В неё-то и нужно закачать архив с файлами, который мы делали ранее.
Для этого в файловом менеджере находим папку с именем домена, открываем и закачиваем в неё архив — он у меня назвался readme.zip, но это не важно:
Закачиваем архив в ISPmanager
После успешной закачки надо разархивировать находящиеся в нём файлы:
Распаковываем архив в ISPmanager
После распаковки — архив удаляем (чтоб не мешал).
На данном этапе перенос сайта на другой хостинг почти закончен:
- файлы лежат там, где надо
- то же самое с БД
Теперь нужно «связать» новый сервер с нашим доменным именем.
Прописываем DNS
Чтобы указать новые DNS (их должен был сообщить хостер), надо перейти в панель управления доменного регистратора (большую часть всех доменов я держу на 2domains.ru) и указать там не менее 2-х DNS от хостера:
Меняем DNS домена на 2domains.ru (он недавно сменил внешний вид)
В общем-то и всё, перенос завершён, остаётся подождать, пока произойдёт эта «связка».
У некоторых хостеров ещё требуется добавить домен в аккаунт хостинга, в Fornex.com то же самое:
Добавляем домен в аккаунт на хостинге
Вот теперь точно всё. Хотя нет…
Желательно ещё раз заглянуть в папку с файлами нашего сайта и поискать, нет ли там файла index.html. Если ваш сайт сделан на PHP, то должен быть index.php (скорей всего). Поэтому удалите тот файл (.html), иначе, даже после «связывания» нового сервера с доменным именем, можно будет увидеть т.н. «заглушку» хостера:
Заглушка Fornex.com
Ну вот, с помощью таких простых и нудных действий мы перенесли сайт с одного хостинга на другой. Логично, что часто делать эту процедуру не захочется. Поэтому желательно сразу выбрать «добротного» хостера (иногда может понадобиться абузоустойчивый хостинг) и не отвлекаться на подобные вещи.
Что делать, если плагин WordPress не устанавливается через админку?Обычно в сайтах, которые делаются на WordPress, всё просто. Но порой и с...
Как сделать 302 редирект (moved temporarily)?Раз уж я написал про 301 редирект, то было бы неправильно обойти...
SEO-аудит блога О женщинах, для женщин Aleximax.ru. ВидеоЗдесь - проверка блога "О женщинах, для женщин". Самая главная проблема...
SEO-аудит сайта о недвижимости в Испании Port-banus.ru. ВидеоИнтересный коммерческий сайт агенства недвижимости по продаже и арен...
Обзор партнерской программы Gagarin Partners...ляется то, что Gagarin Partners дает приложения под слив трафика с Гугла или с Фейсбука.