# Перенос сайта на PHP в новый хостинг-контейнер
Перенос сайта на PHP в новый хостинг-контейнер состоит из следующих этапов:
создание и настройка нового хостинг-контейнера;
перенос файлов сайта;
создание и перенос дампа базы данных;
тестирование сайта на новом хостинг-контейнере;
запуск сайта в новом хостинг-контейнере.
Запускать сайт для тестирования будем на техническом адресе нового хостинг-контейнера. Технический адрес — это домен вида 'j12345678.myjino.ru'.
# Создание и подготовка нового хостинг-контейнера
Чтобы создать новый хостинг-контейнер в панели управления хостингом (opens new window) нажмите кнопку «Создать новый хостинг».
В созданном хостинг-контейнере подключите услуги «Поддержка PHP», «СУБД MySQL» или «СУБД PostgreSQL» — в зависимости от СУБД, которую используете.
Далее в разделе УправлениеНастройки веб-сервера напротив имени технического домена выберите версию интерпретатора PHP, на которой работает сайт.
В разделе УправлениеУправление MySQL (Управление PostgreSQL) создайте новую базу данных и пользователя для работы сайта.
# Перенос файлов сайта
Чтобы сайт работал, все его файлы нужно размещать в папке domains в подпапке с доменным именем (в нашем случае это подпапка с техническим адресом сайта).
Для переноса файлов из одного хостинг-контейнера в другой есть несколько способов.
# Команда rsync
В новом хостинг-контейнере в разделе УправлениеКонсоль откройте консоль и введите команду:
rsync -av username@host_name:Source Destination
Здесь:
username — имя пользователя хостинг-контейнера, на котором расположен сайт и с которого мы будем его «забирать»;
host_name — имя хоста, к которому подключаемся;
Source — путь к папке с проектом;
Destination — путь к папке в новом хостинг-контейнере, в которую будем помещать проект (~/domains/j12345678.myjino.ru).
После установки соединения нужно будет ввести пароль для SSH-подключения к указанному хосту и начнётся копирование данных:
#Output
…
sent 339,834 bytes received 2,034,714,717 bytes 23,801,807.61 bytes/sec
total size is 2,033,094,800 speedup is 1.00
Примечание
У параметра Source в конце пути должен стоять символ /. Без / скопируются не только файлы сайта, но и папка, в которой они расположены.
Например, можно использовать следующую команду:
rsync -av j12345678@j12345678.myjino.ru:~/domains/example.com ~/domains/j12345678.myjino.ru
Но это не очень удобный способ, так как при этом папка example.com со всем её содержимым скопируется в папку ~/domains/j12345678.myjino.ru. И затем вам нужно будет потратить время на перемещение файлов и папок. Правильный вариант адреса должен выглядеть так: ~/domains/example.com/.
# SFTP
SFTP — безопасный протокол передачи данных.
Для копирования файлов сайта в новый хостинг контейнер:
подключитесь к хостинг-контейнеру, на котором расположен сайт, с помощью любого SFTP-клиента (данные для подключения представлены в разделе УправлениеFTP-аккаунты);
скопируйте содержимое папки ~/domains/example.com на локальную машину;
подключитесь к новому хостинг-контейнеру;
разместите файлы сайта в папке с техническим адресом домена (~domains/j12345678.myjino.ru).
# Файловый менеджер
Вам нужно сделать 4 действия:
в разделе УправлениеФайловый менеджер выберите папку с файлами проекта и заархивируйте её;
скачайте архив на локальную машину;
переключитесь в новый хостинг-контейнер;
откройте файловый менеджер и загрузите скачанный архив.
# Перенос базы данных
Перенос базы данных состоит из двух этапов: создание дампа базы данных сайта и загрузка этого дампа в новую базу в новом хостинг-контейнере.
Создать дамп базы данных можно двумя способами.
# Создание дампа базы данных с помощью командной строки
При использовании командной строки дамп базы данных создаётся в той директории, где в данный момент находится пользователь. Рекомендуем перед созданием дампа перейти в директорию сайта, чтобы в дальнейшем при копировании файлов сайта можно было сразу же «забрать» дамп базы.
Дамп базы данных создаётся следующей командой:
mysqldump --opt -Q -uLogin -pPassword db_name > dump_file_name.sql
Здесь:
Login — имя пользователя базы;
Password — пароль пользователя для подключения к базе;
db_name — имя базы данных, для которой создаёте дамп;
dump_file_name — имя файла, который будет содержать дамп базы данных.
# Создание дампа базы данных с помощью phpMyAdmin
phpMyAdmin — это веб-интерфейс для работы с базами данных.
Чтобы войти в панель работы с phpMyAdmin, зайдите в раздел УправлениеУправление MySQL и нажмите кнопку Войти в разделе phpMyAdmin.
В phpMyAdmin в левой части окна выберите базу, которую импортировать, перейдите на вкладку Экспорт и нажмите Вперёд.
Дамп выбранной базы будет создан и скачается на вашу локальную машину.
Загрузить дамп базы данных можно теми же двумя способами.
# Загрузка дампа базы данных с помощью командной строки
Перенесите файл с дампом базы данных в новый хостинг-контейнер, как обычный файл.
После этого подключитесь к хостинг-контейнеру по SSH или через раздел УправлениеКонсоль, перейдите в директорию, где находится загруженный дамп базы, и выполните команду:
mysqldump --opt -Q -uLogin -pPassword db_name < dump_file_name.sql
Здесь:
Login — имя пользователя базы, в которую загружается дамп;
Password — пароль пользователя для подключения к базе;
db_name — имя базы, в которую загружается дамп;
dump_file_name — имя загружаемого файла, который содержит дамп базы данных.
Имя базы, имя пользователя и пароль к ней — это параметры, которые задаются при подготовке хостинг-контейнера.
# Загрузка дампа базы данных с помощью phpMyAdmin
Перейдите в раздел УправлениеУправление MySQL и зайдите в phpMyAdmin. Выберите созданную для приложения базу, перейдите на вкладку «Импорт» и выберите файл с дампом базы данных, который вы создали на предыдущем шаге.
После завершения импорта вы должны увидеть сообщение «Импорт успешно завершён, выполнено N запросов (db_name)»
# Предварительная настройка сайта
Перед началом проверки работы сайта откройте его конфигурационный файл и в блоке, отвечающем за подключение к базе данных, укажите новые данные для подключения.
# Тестирование сайта на новом хостинг-контейнере
После того как все файлы сайта будут перенесены в папку ~/domains/j12345678.myjino.ru, а дамп базы данных загружен в новую базу, можно проверять правильность работы сайта.
В адресной строке вашего браузера введите технический адрес нового хостинг-контейнера. В открывшемся окне должна появиться стартовая страница перенесённого сайта.
# Запуск сайта
Чтобы запустить сайт в «боевом» режиме, к хостинг-контейнеру должно быть привязано доменное имя сайта, все файлы сайта должны размещаться в папке с именем сайта, а база данных должна быть максимально свежей.
Запуск сайта в этом случае состоит из следующих этапов:
перенос доменного имени;
перемещение файлов сайта;
последнее обновление базы данных.
# Перенос доменного имени
В разделе ДоменыУправление доменами выберите доменное имя сайта и перейдите в Основные настройки. Далее в окне «Привязка домена» выберите новый хостинг-контейнер. Все необходимые DNS-записи будут изменены автоматически.
# Перемещение файлов сайта
После привязки домена к хостинг-контейнеру в папке domains появится подпапка с доменным именем.
Переместите все файлы сайта из папки с техническим адресом в папку с основным именем домена. Проще всего это сделать при помощи файлового менеджера.
# Обновление базы данных
Чтобы время бездействия сайта было минимальным, последней переносим базу данных. Как это сделать, описано в пункте «Перенос базы данных».
Готово — ваш сайт перенесён в новый хостинг-контейнер.