21 июня 2011 г.

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

   Казалось бы, заголовок банальной темы, которую многие изучили "От А до Я", однако в сервисе вопросов и ответов Google до сих пор спрашивают о тех или иных нюансах. Поскольку я ещё не описывал сий процесс, хотелось бы немного об этом рассказать. Дело не сложное, но может занять много времени (в зависимости от количества данных, размещённых на Вашем сайте, и скорости соединения).

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

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

 1. Большое количество файлов (как, например, в Joomla!) будет очень долго копироваться. Если веб-мастер когда-либо пользовался FTP и копировал большие объёмы файлов, он заметит этот минус практически сразу;
 2. При некачественном соединении могут случаться обрывы связи, а один файл при таких обрывах скачать куда проще, нежели несколько каталогов;
 3. При частых обрывах придётся выяснять, какие из файлов уже скачаны (и скачаны ли полностью), а какие файлы ещё не были скопированы в одноимённые каталоги на компьютере. Архив же можно скачать с помощью какого-либо загрузчика, которому обрывы связи не страшны.

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

   После того, как файлы скопированы, нужно создать копию базы данных. В этом поможет PHPMyAdmin или какая-либо другая утилита работы с базами данных (на различных хостингах компоненты и утилиты для работы с ними могут значительно отличаться). Постольку, поскольку на многих хостингах используются сервера баз данных MySQL, многие новички сталкиваются именно с ним. Он лёгок в управлении и экспортировать базу не составит труда.

   При наличии PHPMyAdmin следует выбрать "Экспорт", выделить нужную базу данных, поставить галочку "Сохранить как файл" и нажать "OK". После того, как файл будет скачан на компьютер, база данных будет успешно сохранена.

   Когда имеется копия файлов сайта и копия базы данных, нужно зайти в контрольную панель управления хостингом (куда собираетесь переносить сайт), "залить" все файлы в корневой каталог и импортировать базу данных (в PHPMyAdmin выбрать "Импорт"). Если имеется возможность создать пользователя для управления базой данных с тем же логином и паролем, какие были на прошлом хостинге, это непременно следует сделать. В ином случае нужно будет прописывать в конфигурационных файлах сайта логин нового пользователя, а также пароль к нему, иначе соединения с базой данных не будет.


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

   При импорте базы данных может появиться сообщение о том, что у пользователя, которым управляется база данных, не хватает прав на создание новой базы (например, такую ошибку могут наблюдать веб-мастера, пользующиеся хостингом Jino). Это следствие того, что в сохранённой архивной копии базы данных сказано, что при импорте базы данных нужно создать новую базу данных с тем же именем, какое было на предыдущем хостинге. В этом случае придётся вручную создать базу данных с произвольным именем, открыть файл архивной копии базы данных каким-нибудь редактором и удалить строчку вида:


CREATE DATABASE `database` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

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


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

Комментариев нет:

Отправить комментарий