Сегодня вас ждет пошаговая инструкция, как перенести сайты с одного хостинга на другой. Я сейчас переношу сайты с хостинга на выделенный сервак, вот решил поделиться с читателями, как я это делаю. Я постарался сделать универсальную инструкцию – не важно, на каком движке ваши сайты или блоги, будь то Joomla, WordPress, DLE и др.
Я не доверяю каким-либо программам для переноса сайтов, все делаю руками и этот метод переноса универсален.
Если коротко, то процесс перноса сайта состоит из пяти простых шагов:
1. Создать БД на новом хостинге и добавить домен (если он не добавлен).
2. Сделать дамп БД и залить его в новую БД.
3. Сделать бекап файлов и перенести их на новый хост.
4. Изменить ДНС у домена.
5. Поменять настройки подключения к БД.
* Для сайтов без базы данных нужно сделать все то же самое, исключая все действия с БД.
Предположим, вы решили переехать с одного хостинга на другой. Самый простой и выгодный для вас вариант – это попросить тех. поддержку нового хостинга о том, чтобы они все перенесли и настроили для работы. Перед этим на всякий случай сделайте бекап сайта и баз данных и скачайте это все себе на компьютер. Если поддержка адекватна и уважает своих клиентов, то вам должны помочь в вопросе переноса.
Если по каким то причинам вам отказали в помощи или вы сами хотите перенести сайты на другой хостинг (или переносите сайты с localhost), но не знаете, как это сделать, то читайте далее…
Первое, что нужно сделать – это подготовительная работа .
Почистите базу данных, например, удалите все спам комментарии или ненужные посты. Также удалите ненужные файлы, если они есть.
К примеру, при переносе одного сайта, я удалил 4 гигабайта ненужного хлама – это были файлы – бекапы базы данных, которые копились в одной папке. Представляете, как долго бы я вытягивал все это себе на комп, а потом переносил на другой хостинг…
1. Создание БД и создание нового домена
На новом хостинге нужно, чтобы:
— Был добавлен домен сайта. который переносим. Добавить домен в CPanel можно через «Дополнительные домены», в DirectAdmin – «Управление доменами» + «Добавить другой Домен». В ISPManager — «WWW домены» + кнопка «Создать».
— Создана База данных (если она используется). Создать базу данных в CPanel: Базы данных MySQL® -> Создать базу данных. Не забудьте добавить пользователя к базе данных на той же странице*. В DirectAdmin: Базы данных MySQL -> Создать новую базу данных. В ISPManager: Базы данных -> кнопка «Создать».
* В некоторых панелях управления (например, в CPanel) необходимо к созданной базе данных добавить пользователя и выдать ему привилегии на управление этой БД. В том же CPanel на странице «Базы данных MySQL» ищите «Добавить пользователя к базе данных».
Забегая вперед, напишу, что для безопасности будет лучше создавать к каждой БД нового пользователя.
2. Создание резервной копии базы данных MySQL и ее перенос
Теперь необходимо сделать резервную копию БД (MySQL дамп) и импортировать его в новую БД на новом хосте.
Как создать резервную копию БД? Резервные копии БД можно сделать в phpMyAdmin. Ищем ссылку на него в вашей панели управления хостингом, с которого хотите переехать, кликаем по ней (возможно появиться окно, где нужно ввести логин и пароль пользователя — вводим) и и попадаем в phpMyAdmin.
То, что вы видите на рисунке, может отличаться от того, что вы увидите в своем phpMyAdmin. Тут все зависит от выбранной темы оформления и от версии программы. Но, если так, не пугайтесь — суть остается той же. Также, вы можете выбрать в настройках внешнего вида Тема/Стиль: Original, тогда скриншоты и описание действий будут более похожи.
Здесь нужно выбрать нужную БД и нажать «Экспорт ».
Теперь в опциях экспорта выбираем, что нам необходимо. Я меняю тип сжатия. Если не будет сжатия, дамп БД будет слишком большого размера. Остальное в принципе – опционально. На скриншоте я оставил только те опции, которые поменял.
Жмем кнопку «Ок » и сохраняем файл на компьютер.
Импортировать дамп базы данных .
Теперь открываем phpMyAdmin на новом хостинге и будем импортировать старую базу в новую.
Выбираем базу данных, созданную в первом шаге и жмем кнопку «Импорт».
Тут просто нужно выбрать файл дампа (резервной копии) и нажать «ОК». Если все верно, то вы увидите похожее сообщение:
Импорт успешно завершен, запросов выполнено: 254.
3. Создаем бекап файлов и переносим файлы.
Бекап файлов делается простым переносом файлов с хостинга к вам на компьютер. Намного удобнее и быстрее перенести файлы, если их сжать в архив. Во многих панелях управления это легко сделать. Я распишу, как сжать файлы в cPanel, DirectAdmin и ISPManager.
Заходим в панель управления, ищем там ссылку « Диспетчер файлов », переходим по ней.
После этого, скорее всего, появиться окно выбора каталога, который откроется. Там выберете необходимый домен и обязательно поставьте галочку «Показывать скрытые файлы (начинающиеся с точки)».
После этого откроется новое окно файл менеджера «Диспетчер файлов». Там нужено будет выделить все файлы после чего нажать на ссылку «Сжать»
Откроется окно выбора типа сжатия.
Какой тип сжатия выбрать? Тут все зависит от того, какой тип сжатия поддерживает хостинг на который вы переносите сайт. Часто бывает, что в той или иной панели управления нельзя распаковать какой-то тип архива (например, у меня постоянно траблы с распаковкой архивов в DirectAdmin, поэтому для нее я делаю zip архив. Для ISP и Cpanel — gzip архив). После того, как выбираем тип сжатия, жмем на кнопку «Compress File(s)», нам покажут результаты компресии (там жмем «Close»).
Теперь архив появился в той же папке, находим его, выделяем (клик по нему) и жмем кнопку «Скачать» и сохраняем архив на комп.
ISPmanager.
Тут все также просто. Менеджер файлов -> Выделяем необходимые файлы (зажав Ctrl), жмем кнопку «Архив», выбираем тип сжатия и вводим имя архива. Потом его можно скачать, кликнув по кнопке «Скачать».
DirectAdmin.
Тут все немного по другому, заходим в панель, потом «Файлы», там выделяем файлы, жмем кнопку «Добавить в буфер», затем ищем что-то типа «Архивировать файлы из буфера обмена» в поле вписываем имя архива, тип сжатия и жмем «Создать». Клик по появившемуся файлу инициирует его загрузку.
Перенос файлов на хостинг
Теперь нужно перенести получившийся архив на новый хостинг. Заливаем его в корень сайта и распаковываем. Для заливки файлов на хостинг я использую программу WinSCP.
Также можно заливать файлы через панель управления (там же, где вы сжимали файлы и скачивали себе на комп).
Задача у вас простая – залить архив с файлами и распаковать его.
В CPanel и ISPmanager нужно выделить файл и нажать кнопку «Извлечь». В DirectAdmin – «Распаковать».
4. Смена ДНС у домена
Чтобы привязать домен к хостингу, нужно прописать у домена DNS сервера. Делается это в панеле, где вы регистрировали домен.
Просто впишите новые NS-сервера. Их должен выдать новый хостер.
5. Меняем настройки подключения к БД
Так как на новом хостинге, скорее всего, поменялись данные для доступа к базе данных, то чтобы все работало, нужно в настройках движка поменять эти данные.
— В WordPress это делается в файле wp-config. php, который лежит в корне.
— В DLE нужно править файл /engine/data/dbconfig. php.
— В Joomla редактируем файл configuration. php.
В файле необходимо вместо текущего сервера баз данных вписать сервер нового хостинга (часто это без изменений — localhost), имя БД и пароль пользователя (если они стали другие).
Не знаю, как сейчас обстоят дела, но раньше файл wp-config. php нужно было править в спец. редакторах. Нельзя было тупо открыть его в блокноте и поправить – возникали ошибки. Я для правки php, html, tpl, css и прочих файлов использую прогу – phpDesigner или бесплатную Notepad++ .
Мини фишка.
Процесс смены NS серверов занимает до 48 часов. Поэтому, можно на новом хостинге при создании БД поставить «Удаленный доступ», а в настройках доступа к БД на старом хостинге прописать данные доступа к базе нового хостинга. Таким образом, теперь, при написании комментов или добавлении материалов, все будет записываться в новую БД. Я делаю именно так, имхо очень удобная фишка.
Подводные камни.
Перенос сайта часто сопровождается косяками. Тут я предлагаю озвучить самые распространенные косяки и методы их решения.
1. Что делать, если размер БД слишком велик и phpMyAdmin отказывается его импортировать?
Так бывает довольно часто. Многие хостинги выставляют ограничение на размер импортируемого файла. При экспорте нужно использовать сжатие. Если даже оно не помагает уменьшить размер файла до необходимого предела, попробуйте в. htaccess вставить строку типа:
php_value upload_max_filesize 30М
где 30М – размер файла (30 мегабайт).
Это срабатывает не на всех хостингах, поэтому, если не получилось, то для импорта вам нужно повоевать с тех поддержкой или использовать специальную программу. Я использую бесплатный скрипт Sypex Dumper .
2. Проблемы с кодировкой
Самая злая проблема – это когда после переноса на сайте корявая кодировка – все в вопросиках (. ) или кракозябре (Спасибо). Тут нужно смотреть кодировку БД и менять кодировки экспорта и импорта на нужные. Также иногда бага с кодировкой появляется когда добавляешь домен и указываешь при этом кодировку не ту, которую нужно. (У меня такая ошибка была в ISPManager).
3.Ошибки подключения БД
Третья самая распространенная ошибка при переносе сайтов – это ошибки подключения к БД. В вордпресс нам показывают сообщение:
Error establishing a database connection
The Error returned was:
Unknown MySQL server host ‘localhost’ (1)
Либо «Access denied for user ….»
Если вы видите такие ошибки — это значит, что вы неправильно прописали данные для доступа к базе данных. Будьте внимательны на 5-ом пункте.
4Разные ошибки при импорте базы
Например часто вылетает ошибка:
Ответ MySQL: Документация #1153 — Got a packet bigger than ‘max_allowed_packet’ bytes
Вот такая объемная инструкция получилась. Надеюсь, теперь вы знаете, как перенести сайт на хостинг. Не забывайте после переноса проверять работоспособность сайта и посмотрите все ли необходимые права выставлены на папки или файлы.