В данной статье рассмотрим, как своими силами перенести сайт с одного сервера на другой. На сервере, который станет для нашего сайта новым, мы будем использовать панель управления ISPmanager 6. При этом мы посмотрим, как перенести сайт с сервера, работающего с панелью управления ISPmanager 6, а также с сервера, на котором данной панели нет.
Перенос сайта между серверами, работающими с панелью ISPmanager 6
Для переноса данных с одного сервера на другой войдите на новом сервере в панель управления ISPmanager 6 и перейдите в Администрирование
→ Импорт пользователя
.
Далее в разделе Тип источника
следует выбрать пункт меню из панели ISPmanager 5, ISPmanager 6 (через rsync)
. После чего укажите данные сервера, с которого планируется перенести сайт. А именно, URL его панели управления, его порт SSH, логин его учётной записи с правами администратора и пароль данной учётной записи. Заполнив поля нажмите Импортировать
.
На следующем шаге импорта укажите пользователей, учётные записи которых необходимо перенести на новый сервер.
Также необходимо активировать опцию Включать доступ к shell автоматически
. Это нужно для того, у пользователей удалённого сервера был доступ к shell
. Другие опции на данном этапе используйте по необходимости. Для перехода к следующему шагу нажмите Далее
.
После завершения отправки формы откроется окно отчёта о выполнении. Для завершения переноса следует нажать Завершить
.
Перенос данных будет осуществляться в фоновом режиме. Проверить завершение импорта можно будет перейдя в меню Пользователи
. Там вы уже сможете увидеть список перенесённых со старого сервера учётных записей пользователей.
Перенос сайта с сервера без установленной панели ISPmanager 6
Метод переноса сайта с одного сервера на другой, когда на обоих серверах можно воспользоваться панелью управления, является наиболее комфортным. Правда зачастую дело обстоит так, что на сервере, с которого осуществляется перенос, панель ISPmanager 6 не установлена. В данных условиях перетащить данные с него можно при помощи rsync.
Во-первых, на сервере, куда планируется перенос, необходимо с помощью учётной записи суперпользователя подготовить сайт.
Для этого перейдите в Сайты
→ Создать сайт
.
При создании сайта обратите внимание на строку Владелец сайта
. По умолчанию там указана учётная запись www-root
. Если вы указываете другого пользователя, запомните его имя.
После создания сайта он станет доступен в списке ваших сайтов панели управления.
Теперь необходимо подключиться по SSH к серверу, на который планируется перенос сайта, и от имени учётной записи root
набрать команду, при помощи которой вы скопируете файлы со старого сервера на новый.
# rsync -avP root@old_server_IP_address:/root_dir_of_your_site_on_old_server/ /root_dir_of_your_site_on_new_server/
В данном случае:
old_server_IP_address
– IP-адрес сервера, с которого переносится сайт;/root_dir_of_your_site_on_old_server/
– полный путь до корневой директории сайта на старом сервере;/root_dir_of_your_site_on_new_server/
– полный путь до корневой директории сайта на новом сервере.
Следующая команда нужна для того, чтобы назначить владельца на директорию сайта на новом сервере. По умолчанию таким пользователем является учётная запись www-root
.
# chown -R www-root:www-root /root_dir_of_your_site_on_new_server/
Далее, на новом сервере необходимо создать новую базу данных, которая будет иметь точно такое же название, как и на старом сервере. Также в создаваемой базе нужно указать пользователя с точно таким же именем и паролем, как и на сервере, с которого происходит перенос данных. Название создаваемой базы данных, имя пользователя и его пароль можно увидеть в файлах конфигурации. Например, в Joomla это файл configuration.php
, а в WordPress это – wp-config.php
.
Для создания новой базы данных перейдите Базы данных
→ Создать базу данных
.
В открывшейся форме заполните все поля и нажмите Ок
.
После создания база появится в списке баз данных вашего сервера.
На следующем шаге подключитесь к вашему новому серверу по SSH и запустите команду, которая создаст дамп базы данных на вашем старом сервере и сохранит полученный дамп на сервер, предназначенный для переноса сайта.
# ssh root@old_server_IP_address "mysqldump -u'your-db-user' -p'your-db-user-pass' your-db" > /root/your-db.sql
Здесь:
old_server_IP_address
– IP-адрес сервера, с которого переносится сайт;your-db-user
– имя пользователя вашей базы данных;your-db-user-pass
– пароль пользователя вашей базы данных;your-db
– название базы данных.
Другими словами, данная команда запускается на целевом сервере, при этом создаёт дамп базы данных на старом сервере и сохраняет результат на новом. По завершении работы команды сохранённый дамп необходимо развернуть.
# mysql your-db < /root/your-db.sql
В завершении останется установить на новый сервер SSL-сертификат. Для чего необходимо на старом сервере найти файлы, содержащие текст SSL-сертификата, ключа и цепочки. После чего перенесите их на новый сервер. Поскольку настройка серверов, не имеющих панели управления, происходит индивидуально под каждого владельца, то общего решения у этой задачи нет. Для получения помощи в данном вопросе обратитесь в техническую поддержку RuVDS.
Если по окончании переноса проверка работоспособности сайта с нового сервера дала удовлетворительный результат, то можно уже будет изменить А-запись вашего домена в соответствии с IP-адресом вашего нового сервера.
Перенос всех сайтов сразу
При помощи панели управления ISPmanager 6 можно одной операцией перенести все сайты с одного сервера на другой. Для этой цели в панели существует встроенный функционал – Импорт пользователя
.
Чтобы воспользоваться им, перейдите в Администрирование
→ Импорт пользователя
и активируйте опцию из панели управления ISPmanager 5, ISPmanager 6 (через backup)
. В следующих полях укажите URL панели сервера, с которого вы переносите данные, имя привилегированного пользователя на нём, его пароль и пользователей, подлежащих переносу.
После нажатия кнопки Ok
запустится отправка формы, по окончании которой все сайты окажутся на новом сервере. Проверить их доступность вы сможете уже с использованием IP-адреса нового ресурса.
Перенос одного сайта из нескольких
С помощью панели управления ISPmanager 6 можно перенести один сайт из нескольких, размещённых на сервере. Для того, чтобы это сделать, подключитесь к панели сервера, с которого планируете перенести один из сайтов, перейдите в Сайты
, выберите необходимый сайт и нажмите Редактировать
→ Изменить
.
Здесь следует обратить внимание на такие аспекты как корневая директория, кодировка, режим работы PHP, SSL-сертификат и прочее.
Далее на сервере, на который вы планируете осуществить перенос, необходимо создать точно такой же сайт. Другими словами новый сайт должен иметь такое же название и такие же предварительные настройки, как и его аналог на старом сервере.
Теперь в панели управления старого сервера перейдите в раздел Сайты
, выделите переносимый сайт и нажмите кнопку Файлы сайта
.
В открывшемся менеджере файлов перейдите на одну директорию выше, чтобы у вас была возможность оперировать со всей директорией сайта.
Далее выделите директорию нужного сайта и нажмите Скачать
.
В результате на ваш локальный компьютер загрузится файл архива корневой директории сайта.
После чего перейдите в панель управления целевого сервера, где у вас создан сайт с аналогичными названием и настройками. Здесь перейдите в Сайты
→ Файлы сайта
. Затем в менеджере файлов нажмите Загрузить
.
В открывшейся форме укажите тип файла как Файл с локального компьютера
и выберите загруженный на предыдущем шаге архив сайта. После чего нажмите Ок
.
По окончанию загрузки архива выделите его и нажмите Архив
→ Извлечь
.
В качестве директории для извлечения необходимо выбрать ту, которая содержит корневой каталог сайта.
После нажатия кнопки Ок
панель распакует содержимое архива, заменив тем самым файлы созданного сайта файлами сайта с исходного сервера.
На следующем этапе необходимо перенести на новый сервер базу данных. Для чего в панели управления целевого сервера перейдите в Базы данных
→ Создать базу данных
.
И там создайте базу с точно такими же как на исходном сервере названием, именем пользователя и паролем пользователя. Все эти данные доступны в ISPmanager 6 сервера, с которого вы переносите сайт.
Далее на сервере, с которого вы осуществляете перенос, перейдите в Базы данных
, выделите нужную базу и проследуйте Дамп
→ Экспорт
.
В результате система создаст дамп базы и сохранит его на ваш локальный компьютер.
Теперь на новом сервере перейдите к созданной вручную базе данных, выделите её и нажмите Дамп
→ Импорт
.
Затем установите тип файла в Файл с локального компьютера
, выберите файл загруженного дампа и нажмите Ок
.
После этого система развернёт на целевом сервере дамп вашей базы данных. Таким образом вы перенесли базу со своего старого сервера на новый.
На заключительном этапе переноса сайта вам необходимо будет перенести установленный на исходном сервере SSL-сертификат. Если вы используете бесплатный его вариант от Let’s Encrypt, то скорее всего имя SSL-сертификата будет выглядеть как my-domain.host_le1
, или my-domain.host_le2
, или my-domain.host_le3
и так далее. В связи с этим, более корректным будет не перенос SSL-сертификата со старого сервера, а генерация нового SSL-сертификата на конечном сервере по окончании переключения DNS-записей. При этом сертификат будет доступен для автоматического продления при завершении срока своего действия.
В случае, если на сервере, с которого вы переносите сайт, установлен SSL-сертификат, приобретённый в центре сертификации, то данный сертификат необходимо переносить.
Для этого на старом сервере в панели управления перейдите в SSL-сертификаты
и выделив необходимый нажмите Данные сертификата
. В результате чего система покажет вам сам SSL-сертификат, а также его ключ и цепочку.
В панели управления конечного сервера так же перейдите в SSL-сертификаты
, нажмите Добавить сертификат
и в окне Тип SSL-сертификата
укажите Существующий
. После чего нажмите Далее
.
На следующем шаге выберите имя пользователя и скопируйте текст в поля SSL-сертификат
, Ключ SSL-сертификата
и Цепочка SSL-сертификатов
из соответствующих полей сертификата на исходном сервере. После чего нажмите Завершить
.
В завершении настройки в разделе Сайты
, выберите переносимый сайт и перейдите в Редактировать
→ Изменить
. Далее в строке SSL-сертификат
из выпадающего списка следует выбрать только что созданный сертификат и сохранить внесённые изменения при помощи соответствующей кнопки.