FAQ - как перенести сайт без простоя

(Ответов: 4, Просмотров: 1604)
  1. Студент Аватар для jared
    • Регистрация: 24.09.2010
    • Сообщений: 61
    • Репутация: 26
    • Webmoney BL: ?
    Периодически у клиентов и форумчан возникают вопросы, как правильно перенести сайт с одного хостинга на другой. Решил набросать небольшой FAQ.

    Итак, перенос сайта без ощутимого простоя состоит из таких действий:

    1. Подготовка места для сайта

    На новом месте для сайта надо создать все необходимое - домен в панели управления, папки и т.д. У разных хостеров это делается по-разному. Также, крайне полезно будет выяснить, в каком месте на диске будет жить сайт. Сделать это можно, например так:
    а) Создаем текстовый файл php.php, в нем пишем:
    Код:
    <? phpinfo(); ?>
    б) Заливаем его в папку сайта и открываем броузером (может понадобиться правка файла hosts, см. п.3).
    в) Скроллим страничку вниз, находим секцию 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 это опять же, умеет). В файле видим такую картину:
    Код:
    # 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
    Записи в этом файле говорят машине не слушать DNS-сервер провайдера, а идти по заданному имени на тот IP, который здесь прописан.
    По умолчанию, все записи закомментированы знаком # и не работают. Нам же требуется добавить одну или несколько такого вида:
    Код:
    123.123.123.123         mysite.ru
    123.123.123.123         www.mysite.ru
    Здесь 123.123.123.123 - IP, который выдал сайту новый хостер, mysite.ru, соответственно, домен сайта.
    Сохраняем файл, открываем сайт в броузере и видим, как он отдается с нового хостинга. На всякий случай, можно еще нажать кнопки Windows-R, запустить там cmd и в открывшемся окне написать ping mysite.ru. Если в выводе команды показывается IP нового сервера - все сделано правильно.

    После этого, скорее всего, придется поправить файлы конфигурации сайта, прописать там новые БД, логин-пароль для доступа к БД и так далее. Еще крайне полезно будет поискать в исходниках сайта путь к нему, который был у старого хостера и заменить на путь у нового хостера. Также, подобные изменения могут понадобиться и в БД (в случае с Wordpress, например).
    Еще крайне полезной штукой являются логи работы вебсервера. Как правило, это лог запросов (access.log) и лог ошибок (error.log). Первый нас не интересует, а вот второй лучше внимательно почитать и добиться того, чтобы ошибок там не было либо были несущественные.

    Когда результат тестирования станет удовлетворительным, делаем на старом хостинге бекап БД повторно (на случай, если она за это время изменилась) и заливаем на новое место. Если требовалось в нее вносить изменения - делаем. Попутно на новом хостинге даем права доступа пользователю с IP старого сервера. После чего на старом сервере правим конфигурацию БД в настройках сайта и меняем хост на IP нового сервера. Все, обе версии сайта уже работают с БД на новом сервере.
    Опять синхронизируем файлы, если они изменялись.
    [свернуть]

    4. Правка DNS

    Здесь в принципе все более-менее просто, заходим туда, где правятся записи для домена и меняем IP старого сервера на IP нового. Если домен живет на нейм-серверах хостера - меняем IP в настройках домена у обоих хостеров и вносим изменения у регистратора - меняем NS.
    [свернуть]

    5. Финальная синхронизация

    Через несколько дней, когда трафик уже полностью переключится на новый хостинг, синхронизируем файлы опять при необходимости. БД синхронизировать уже не надо - оба сервера уже работают с новой.
    [свернуть]


    Конечно, все нюансы переноса охватить нереально, могут вылезать самые разные проблемы. Однако, принцип переноса без простоя такой, остальные моменты можно достаточно легко найти в поисковых системах либо узнать на форуме.
    Последний раз редактировалось jared; 02.06.2012 в 06:31.
    • 5

    Спасибо сказали:

    A1ex(03.06.2012), G00D(03.06.2012), InFakes(02.06.2012), OKyJIucT(03.06.2012), Демиург(02.06.2012),
  2. Super Moderator Аватар для Демиург
    • Регистрация: 09.06.2011
    • Сообщений: 2,212
    • Репутация: 1782
    • Webmoney BL: ?
    Хороший фак, но местами немного сложновато - особенно для тех, кто действительно не в теме. Думаю, дальнейшие правки будут? :)
    • 1

    Спасибо сказали:

    ArhStrAngeR(03.06.2012),
  3. Гуру Аватар для bober
    • Регистрация: 17.12.2009
    • Сообщений: 522
    • Репутация: 118
    • Webmoney BL: ?
    Действительно написано для тех кто это уже это и так знает, а для новичков не плохо было бы сделать со скриншотами и более развернуто.
    • 0
  4. Sunshine reggae Аватар для OKyJIucT
    • Регистрация: 02.09.2011
    • Сообщений: 3,240
    • Репутация: 1830
    • Webmoney BL: ?
    Насчет первого пункта, чтобы не заниматься непонятными манипуляциями, можно установить движок с нуля, а потом залить шаблон и базу данных. Ну по крайней мере я так всегда делаю :)
    • 0
  5. Студент Аватар для jared
    • Регистрация: 24.09.2010
    • Сообщений: 61
    • Репутация: 26
    • Webmoney BL: ?
    bober, cкриншотов наделать технически не выйдет - писано все для общего случая, без привязок к хостерам, регистраторам и панелям. Ну и писалось для человека, который хотя бы немного представляет себе, что такое MySQL, PHP, зачем они нужны и как работают сайты. Если есть, чем дополнить - с удовольствием добавлю в первый пост.

    OKyJIucT, я привел пример, классический для наемного админа - попадаешь на сервер, а там неведомая CMS, писанная непонятно, кем, как и для кого. Если отсутствие плагинов позволяет все переставить с нуля - конечно, не вопрос, но в общем случае все именно так. В том же общем случае все занимает, как правило, 20-40 минут, без учета обновления DNS.
    Последний раз редактировалось jared; 03.06.2012 в 05:15.
    • 1

    Спасибо сказали:

    OKyJIucT(03.06.2012),

Похожие темы

Темы Раздел Ответов Последний пост
Как перенести сайт на другой хостинг?
Хостинг и Серверы 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

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры