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

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

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

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

На этом второй этап можно считать законченным. Медленно, но верно, переходим к этапу номер 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 и 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, а именно за параметры подключения к базе данных отвечает следующая строка.

Источник: lred.ru

Оцените статью
новости для мужчин