Перенос Drupal-сайта на новый хостинг от «А» до «Я»
Преамбула
По роду своей деятельности довольно часто приходится сталкиваться с задачей переноса клиентских сайтов на наш хостинг. Так же опыт показывает, что для многих данная операция представляет довольно большую сложность, собственно это и послужило мотивацией для написания данной статьи
Этап 1. Инвентаризация
Для удачного и быстрого переноса нужно иметь следующее:
- SSH- или FTP-доступ к старому
- Доступ к базе данных на старом хостинге
- SSH- или FTP-доступ к новому хостингу
- Доступ к БД на новом хостинге
- Доступ к панеле управления доменом
SSH-доступ не обязателен, но очень часто необходим, например, когда требуется сохранить даты изменения файлов или ещё что-то, так в частности было с http://drupaler.ru
Доступ к панеле управления доменом нужен для оперативной смены NS-серверов домена на сервера нового хостинга, если вы регистрировали домен через хостера, то уточните, предоставляет ли он интерфейс для управления доменом, некоторые хостеры не только не предоставляют интерфейс, но и берут деньги за смену NS-серверов для домена. В случае, если вы регистрировали домен напрямую через регистратора, то обычно волноваться не о чем.
Этап 2. Подготавливаем рабочее место
Готовим новый хостинг
- Добавляем домен в контрольную панель, в примере это blablabla.com
- Создаём базу данных и пользователя к ней, если это необходимо(зависит от хостера)
- [опционально] Создаём "технический" домен, т.е. домен предоставляемый хостером
Домен к новому хостеру лучше добавить в самом начале, так как NS-сервера на которые вы будете делегировать домен, должны о нём знать, а репликация между серварами не всегда происходит мгновенно.
Готовим сайт к переносу
- Отключаем модули кеширования, такие как boost, authcache и т.п.
- Переводим сайт в режим обслуживания
На этом второй этап можно считать законченным. Медленно, но верно, переходим к этапу номер 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, а именно за параметры подключения к базе данных отвечает следующая строка.
Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
- 2024-07-26 » Интеграция с Эквайринг
- 2024-07-26 » Интеграция с СДЕК
- 2024-07-26 » Интеграция с Битрикс-24
- 2024-07-26 » Интеграция с Travelline
- 2024-07-26 » Интеграция с Iiko
- 2024-07-26 » Интеграция с Delivery Club
- 2024-07-26 » Интеграция с CRM
- 2024-07-26 » Интеграция с 1C-Бухгалтерия
- 2024-07-24 » Что такое сторителлинг: техники и примеры
- 2024-07-17 » Ошибка 404: что это такое и как ее использовать для бизнеса
- 2024-07-03 » Размещайте прайс-листы на FarPost.ru и продавайте товары быстро и выгодно
- 2024-07-01 » Профилирование кода в PHP
- 2024-06-28 » Изучаем ABC/XYZ-анализ: что это такое и какие решения с помощью него принимают
- 2024-06-17 » Зачем вам знать потребности клиента
- 2024-06-11 » Что нового в работе Яндекс Метрики: полный обзор обновления
- 2024-06-11 » Поведенческие факторы ранжирования в Яндексе
- 2024-06-11 » Скорость загрузки сайта: почему это важно и как влияет на ранжирование
Чтобы вырастить плодоносящий сайт - его полезно регулярно поливать и удобрять с помощью рекламы и оптимизации Компания "RedLine" |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.