Периодически у клиентов и форумчан возникают вопросы, как правильно перенести сайт с одного хостинга на другой. Решил набросать небольшой FAQ.
Итак, перенос сайта без ощутимого простоя состоит из таких действий:
1. Подготовка места для сайта
На новом месте для сайта надо создать все необходимое - домен в панели управления, папки и т.д. У разных хостеров это делается по-разному. Также, крайне полезно будет выяснить, в каком месте на диске будет жить сайт. Сделать это можно, например так:
а) Создаем текстовый файл php.php, в нем пишем:Код:б) Заливаем его в папку сайта и открываем броузером (может понадобиться правка файла hosts, см. п.3).<? phpinfo(); ?>
в) Скроллим страничку вниз, находим секцию PHP Variables. Там есть много всего интересного, в том числе переменная _SERVER["DOCUMENT_ROOT"]. Это и есть путь к нашему сайту на сервере. Кстати, на старом хостинге тоже не помешает узнать этот путь.[свернуть]2. Копирование данных
Копирование файлов может проходить по-разному, в зависимости от того, что предлагает хостер. Традиционно у всех есть FTP. С ним есть нюанс - некоторые FTP-клиенты работают корректно не со всеми FTP-серверами, в частности, в таком была неоднократно замечена любимая многими Filezilla. Из корректных могу порекомендовать Far Manager - помимо удобной навигации по файловой системе компьютера, с ним еще ни разу не было проблем с FTP. Главное, не забыть выставить пассивный режим передачи (нужен, когда вы находитесь в серой сети за роутером, но и в общем случае вреда не будет).
Базу данных хостер, как правило, отдает в виде дампа. Это обычный текстовый файл. Опять же, как правило, кодировка у него UTF-8, для корректного импорта в таком случае надо открыть дамп в редакторе и написать в начале строку SET NAMES utf8; Если кодировка файла дампа другая - указываем ее.[свернуть]3. Тестирование
Для этого совершенно необходимо понимать базовые принципы работы DNS и своего компьютера. В частности, на компьютере есть файл hosts. В ОС Windows он обычно находится в папке Windows\System32\Drivers\Etc. Это обычный текстовый файл, который потребуется поправить текстовым редактором (тот же FAR Manager это умеет делать замечательно). В поздних версиях Windows надо будет разрешить себе доступ для изменения этого файла (в принципе, FAR это опять же, умеет). В файле видим такую картину:Код:Записи в этом файле говорят машине не слушать DNS-сервер провайдера, а идти по заданному имени на тот IP, который здесь прописан.# Copyright (c) 1993-2009 Microsoft Corp. # # This is a sample HOSTS file used by Microsoft TCP/IP for Windows. # # This file contains the mappings of IP addresses to host names. Each # entry should be kept on an individual line. The IP address should # be placed in the first column followed by the corresponding host name. # The IP address and the host name should be separated by at least one # space. # # Additionally, comments (such as these) may be inserted on individual # lines or following the machine name denoted by a '#' symbol. # # For example: # # 102.54.94.97 rhino.acme.com # source server # 38.25.63.10 x.acme.com # x client host # localhost name resolution is handled within DNS itself. # 127.0.0.1 localhost # ::1 localhost
По умолчанию, все записи закомментированы знаком # и не работают. Нам же требуется добавить одну или несколько такого вида:Код:Здесь 123.123.123.123 - IP, который выдал сайту новый хостер, mysite.ru, соответственно, домен сайта.123.123.123.123 mysite.ru 123.123.123.123 www.mysite.ru
Сохраняем файл, открываем сайт в броузере и видим, как он отдается с нового хостинга. На всякий случай, можно еще нажать кнопки Windows-R, запустить там cmd и в открывшемся окне написать ping mysite.ru. Если в выводе команды показывается IP нового сервера - все сделано правильно.
После этого, скорее всего, придется поправить файлы конфигурации сайта, прописать там новые БД, логин-пароль для доступа к БД и так далее. Еще крайне полезно будет поискать в исходниках сайта путь к нему, который был у старого хостера и заменить на путь у нового хостера. Также, подобные изменения могут понадобиться и в БД (в случае с Wordpress, например).
Еще крайне полезной штукой являются логи работы вебсервера. Как правило, это лог запросов (access.log) и лог ошибок (error.log). Первый нас не интересует, а вот второй лучше внимательно почитать и добиться того, чтобы ошибок там не было либо были несущественные.
Когда результат тестирования станет удовлетворительным, делаем на старом хостинге бекап БД повторно (на случай, если она за это время изменилась) и заливаем на новое место. Если требовалось в нее вносить изменения - делаем. Попутно на новом хостинге даем права доступа пользователю с IP старого сервера. После чего на старом сервере правим конфигурацию БД в настройках сайта и меняем хост на IP нового сервера. Все, обе версии сайта уже работают с БД на новом сервере.
Опять синхронизируем файлы, если они изменялись.[свернуть]4. Правка DNS
Здесь в принципе все более-менее просто, заходим туда, где правятся записи для домена и меняем IP старого сервера на IP нового. Если домен живет на нейм-серверах хостера - меняем IP в настройках домена у обоих хостеров и вносим изменения у регистратора - меняем NS.[свернуть]5. Финальная синхронизация
Через несколько дней, когда трафик уже полностью переключится на новый хостинг, синхронизируем файлы опять при необходимости. БД синхронизировать уже не надо - оба сервера уже работают с новой.[свернуть]
Конечно, все нюансы переноса охватить нереально, могут вылезать самые разные проблемы. Однако, принцип переноса без простоя такой, остальные моменты можно достаточно легко найти в поисковых системах либо узнать на форуме.
- 02.06.2012 06:26
Последний раз редактировалось jared; 02.06.2012 в 06:31.
- 03.06.2012 02:44
Хороший фак, но местами немного сложновато - особенно для тех, кто действительно не в теме. Думаю, дальнейшие правки будут? :)
Спасибо сказали:
ArhStrAngeR(03.06.2012), - 03.06.2012 03:39
Действительно написано для тех кто это уже это и так знает, а для новичков не плохо было бы сделать со скриншотами и более развернуто.
- 03.06.2012 03:43
Насчет первого пункта, чтобы не заниматься непонятными манипуляциями, можно установить движок с нуля, а потом залить шаблон и базу данных. Ну по крайней мере я так всегда делаю :)
- 03.06.2012 05:10
bober, cкриншотов наделать технически не выйдет - писано все для общего случая, без привязок к хостерам, регистраторам и панелям. Ну и писалось для человека, который хотя бы немного представляет себе, что такое MySQL, PHP, зачем они нужны и как работают сайты. Если есть, чем дополнить - с удовольствием добавлю в первый пост.
OKyJIucT, я привел пример, классический для наемного админа - попадаешь на сервер, а там неведомая CMS, писанная непонятно, кем, как и для кого. Если отсутствие плагинов позволяет все переставить с нуля - конечно, не вопрос, но в общем случае все именно так. В том же общем случае все занимает, как правило, 20-40 минут, без учета обновления DNS.Последний раз редактировалось jared; 03.06.2012 в 05:15.
Спасибо сказали:
OKyJIucT(03.06.2012),
« Help me to VDS | Перенос сайта »
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Как перенести сайт на другой хостинг? | Хостинг и Серверы | 11 | 30.11.2011 16:59 |
как перенести сайт на CMS | Софт, скрипты, сервисы | 17 | 04.11.2011 23:10 |
как перенести сайт на CMS | Вопросы от новичков | 0 | 20.10.2011 15:32 |
Как перенести сайт с Joomla на WordPress. | Вопросы от новичков | 2 | 19.08.2011 11:32 |
Как перенести сайт с большой БД? | Прочее | 21 | 14.09.2009 01:58 |






