Перенос Drupal-сайта на новый хостинг от «А» до «Я»

Преамбула
По роду своей деятельности довольно часто приходится сталкиваться с задачей переноса клиентских сайтов на наш хостинг. Так же опыт показывает, что для многих данная операция представляет довольно большую сложность, собственно это и послужило мотивацией для написания данной статьи
Этап 1. Инвентаризация
Для удачного и быстрого переноса нужно иметь следующее:

  1. SSH- или FTP-доступ к старому
  2. Доступ к базе данных на старом хостинге
  3. SSH- или FTP-доступ к новому хостингу
  4. Доступ к БД на новом хостинге
  5. Доступ к панеле управления доменом

SSH-доступ не обязателен, но очень часто необходим, например, когда требуется сохранить даты изменения файлов или ещё что-то, так в частности было с http://drupaler.ru
Доступ к панеле управления доменом нужен для оперативной смены NS-серверов домена на сервера нового хостинга, если вы регистрировали домен через хостера, то уточните, предоставляет ли он интерфейс для управления доменом, некоторые хостеры не только не предоставляют интерфейс, но и берут деньги за смену NS-серверов для домена. В случае, если вы регистрировали домен напрямую через регистратора, то обычно волноваться не о чем.
Этап 2. Подготавливаем рабочее место
Готовим новый хостинг

  1. Добавляем домен в контрольную панель, в примере это blablabla.com
  2. Создаём базу данных и пользователя к ней, если это необходимо(зависит от хостера)
  3. [опционально] Создаём "технический" домен, т.е. домен предоставляемый хостером

Домен к новому хостеру лучше добавить в самом начале, так как NS-сервера на которые вы будете делегировать домен, должны о нём знать, а репликация между серварами не всегда происходит мгновенно.
Готовим сайт к переносу

  1. Отключаем модули кеширования, такие как boost, authcache и т.п.
  2. Переводим сайт в режим обслуживания

На этом второй этап можно считать законченным. Медленно, но верно, переходим к этапу номер 3
Этап 3. Собираем вещи
Копируем файлы
Тут возможны много путей
На новом хостинге есть SSH, на старом есть SSH:
Авторизуемся по SSH на новом хостинге, вводим команду:
mc
Откроется файловый менеджер очень похожий на Far.
В левой панеле выберем каталог домена, что-то вроде ~/domains/blablabla.com/public_html, это новый хостинг
В правой нажмём на пункт меню "Right", выбираем "Shell link" и введём параметры подключения к старому хостингу:
Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Нажмём Enter
Потом mc запросит пароль, введём его, нажмём Enter
Через несколько секунд на правой панеле увидите файловую систему вашего аккаунта на старом хостинге.
Далее нам выделить все файлы и каталоги из корня друпала и нажимаем F5, пойдёт копирование, когда скопируются файлы, переходите к разделу перенос БД
На новом хостинге есть SSH, на старом нет SSH:
Авторизуемся по SSH на новом хостинге, вводим команду:
mc
Откроется файловый менеджер очень похожий на Far.
В левой панеле выберем каталог домена, что-то вроде ~/domains/blablabla.com/public_html, это новый хостинг
В правой нажмём на пункт меню "Right", выбираем "FTP link" и вводим параметры подключения к старому хостингу:
user: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Нажмём Enter
Откроется FTP-соединение со старым хостингом
Выделяем, копируем, переходим к переносу БД
Перенос БД
Как это не странно, но данный пункт может изрядно добавить гемороя при переезде.
Вариант 1. Используем SSH
Логинимся по SSH
вводим в консоль команду mysqldump, если есть, то нам повезло, есть хостеры запрещающие использовать данную утилиту.
Вводим команду:
mysqldump -uusername -ppassword -hhost db_name > /path/dump.sql
Где:
username - ваш MySQL-пользователь
password - Пароль данного юзера
databasename - Имя БД
host - опционально, зависит от места размещения вашей БД, зависит от хостера, если не указать, то будет localhost
path- путь куда будет записан дамп, возможно будет достаточно просто ~, т.е. домашняя директория пользователя, зависит от хостера
Пользователя, пароль, хост и имя базы данных можно подсмотреть в файле settings.php вашеего друпал-сайта, чаще всего он находится по пути sites/default/settings.php
Он имеет следующий синтаксис:
$db_url = 'mysql://username:password@localhost/databasename';
Вариант 2. Используем утилиты
Когда нет вариантов сделать дамп через mysqldump, приходится извращаться, способов достаточно, описывать всех их не буду, перечислю просто их:

  • Sypex Dumper
  • Импорт\экспорт через phpMyAdmin
  • Drupal-модуль Backup & Migrate

Так же хотелось бы сказать, что дампы от Sypex и phpMyAdmin подходят для импорта посредством утилиты mysql, что может быть достаточно полезным, потому что дамп весом около сотни мегабайт тяжеловато разворачивать с помощью phpMyAdmin.
Этап 4. Новоселье
Домен добавлен на новый хостинг, БД создана, файлы переброшены, дамп БД вы тоже надеюсь перекинуть на новый хост не забыли, если хотите разворачивать через консоль, можно разворачиваться
Импорт БД
Можно импортировать базу данных через Sypex, phpMyAdmin, etc, но мы не ищем лёгких путей, консоль в руки и:
mysql -u username -p
вводим пароль и попадаем в консоль mysql
USE databasename;
Таким образом мы выбираем базу данных для дальнейшей работы
SOURCE /path-to-sql-dump/dump.sql
С помощью этой команды мы развернём дамп в базу данных databasename, естественно, дамп должен быть заранее скопирован на новый хостинг.
Правка settings.php
Файлы размещены, БД развёрнута, теперь надо подключить Drupal к базе данных, делается это в файле settings.php, а именно за параметры подключения к базе данных отвечает следующая строка.

Читать комменты и комментировать

Добавить комментарий / отзыв



Защитный код
Обновить

Перенос Drupal-сайта на новый хостинг от «А» до «Я» | | 2012-01-16 23:35:51 | | Статьи Web-мастеру | | Преамбула По роду своей деятельности довольно часто приходится сталкиваться с задачей переноса клиентских сайтов на наш хостинг. Так же опыт показывает, что для многих данная операция представляет | РэдЛайн, создание сайта, заказать сайт, разработка сайтов, реклама в Интернете, продвижение, маркетинговые исследования, дизайн студия, веб дизайн, раскрутка сайта, создать сайт компании, сделать сайт, создание сайтов, изготовление сайта, обслуживание сайтов, изготовление сайтов, заказать интернет сайт, создать сайт, изготовить сайт, разработка сайта, web студия, создание веб сайта, поддержка сайта, сайт на заказ, сопровождение сайта, дизайн сайта, сайт под ключ, заказ сайта, реклама сайта, хостинг, регистрация доменов, хабаровск, краснодар, москва, комсомольск |
 
Поделиться с друзьями: