Перенести сайт с другого хостинга или на сервер помощнее можно с помощью нашей техподдержки — это бесплатно. Но иногда возникают ситуации, когда требуется перенос своими силами. Например, если по договоренности между вами и вашим клиентом вы не можете предоставлять доступ к их информации сторонним подрядчикам, в том числе службе поддержки.
В статье мы расскажем, как самостоятельно перенести сайт между серверами с установленной панелью управления ISPmanager, а также как перенести данные с сервера, на котором нет панели управления.
Перенос с правами суперпользователя (root)
Между серверами с панелью ISPmanager
Откройте панель ISPmanager на новом сервере и перейдите в меню Администрирование - Импорт пользователя.
В меню Тип источника выберите пункт из панели управления ISPmanager 5, ISPmanager 6 (через rsync), заполните поля ниже данными старого сервера и нажмите Импортировать.
Теперь необходимо выбрать пользователей для импорта и какие IP-адреса будут использоваться для перенесенных сайтов. Обязательно поставьте галочку напротив пункта Включать доступ к shell автоматически, так как пользователям на удаленном сервере должен быть предоставлен доступ к shell. Остальные пункты выбирайте по необходимости. Нажмите Далее.
В панели появится форма отчета о выполнении. Нажмите Завершить.
Данные будут переноситься на новый сервер в фоновом режиме.
Во время импорта пользователя, напротив его имени в панели ISPmanager во вкладке Пользователи появляется значок импорта.
Как только импорт завершится, значок исчезнет.
Проверьте работу сайтов с нового сервера и смените DNS записи на IP нового сервера.
С сервера без панели ISPmanager на сервер с панелью
Переносить данные с сервера на сервер удобнее всего импортом через панель управления, установленную как на старом, так и на новом сервере. Но ситуации бывают разные и может так получиться, что на исходном сервере панели ISPmanager нет. В этом случае вы можете переносить данные с помощью rsync.
-
На целевом сервере из-под уровня суперпользователя (обычно root) создайте сайт, который будете переносить, в разделе Сайты — кнопка Создать сайт. И обязательно запомните, под каким пользователем создаете сайт (по-умолчанию www-root), позже пригодится:
-
Подключитесь по ssh к серверу, на который будете переносить сайт (целевой сервер), введите команду на копирование файлов сайта с исходного сервера:
rsync -avP root@IP_исходника:/путь/до/корневой/директории/сайта/на/исходнике/. /путь/до/корневой/директории/сайта/на/целевом/сервере/
Если подключение происходит в первый раз, то нужно ввести
yes
.Далее вводим пароль root’а исходного сервера:
Будут скопированы файлы сайта с исходного сервера на целевой. Если имена пользователя отличаются на исходном и целевом сервере, то необходимо изменить владельца на того, под кем был создан сайт в п. 1 (по умолчанию www-root):
chown -R имя_на_целевом:имя_на_целевом путь/до/корневой/директории/сайта/на/целевом/сервере
-
На целевом сервере в разделе Базы данных создаем новую базу данных с точно таким же названием, именем пользователя и паролем, как на исходном сервере. В случае, когда пароль, пользователь или имя базы данных неизвестны, вы можете указать новые или посмотреть старые данные на исходном сервере в файлах сайта. Вот список конфигурационных файлов для популярных CMS (путь начинается с домашней директории сайта):
./configuration.php
- конфигурационный файл для Joomla.bitrix/.settings.php
и в./bitrix/php_interface/dbconn.php
- конфигурационный файл для Bitrix./wp-config.php
- конфигурационный файл для WordPress
-
Возвращаемся в ssh-консоль целевого сервера, вводим команду на создание дампа базы данных на удаленном сервере и сохранение полученного дампа на целевом сервере:
ssh root@IP_исходника "mysqldump -u'имя_пользователя_базы_данных' -p'пароль' название_базы" > /root/название_базы.sql
То есть запускаем команду дампа базы на исходном сервере, но результат дампа сохраняем уже на целевой сервер.
Ждём, пока создастся дамп базы данных. Если база большая, то процесс может занять продолжительное время. Затем разворачиваем дамп командой:
mysql название_базы < /root/название_базы.sql
-
Теперь вам необходимо установить SSL-сертификат. Для этого найдите на старом сервере файлы сертификата, цепочку, ключ и перенесите их на новый сервер. Универсального решения в этом вопросе нет, поскольку серверы без панели настраиваются под каждого владельца индивидуально. Если необходима помощь в переносе или по другим вопросам работы сервера — напишите нам в поддержку.
-
Остается только проверить работу сайтов с нового сервера и сменить DNS-записи на IP нового сервера.
Перенос с правами пользователя
Рассмотрим, как перенести сайт между серверами своими силами, имея пользовательский доступ в ISPmanager.
Как перенести все сайты
Если нужно перенести все сайты, а не какой-то один определенный из нескольких имеющихся, то можно воспользоваться встроенным в панель механизмом Импорта пользователя.
- В списке Тип источника выбираем из панели управления ISPmanager 5, ISPmanager 6 (через backup). Вводим данные для подключения к ISPmanager, установленной на сервере, с которого переносим сайт.
- После нажатия кнопки Импортировать на исходном сервере запустится задание на создание резервной копии пользователя. Затем эта копия будет скопирована на целевой сервер и развёрнута.
Останется только дождаться, когда процесс завершится. Индикатора прогресса нет, но по завершении в правом нижнем углу появится сообщение об успешном импорте.
Как перенести определённый сайт
Если перенести нужно один сайт из нескольких, используем второй, более вдумчивый способ.
- На исходном сервере выбираем нужный сайт, нажимаем Изменить и проверяем все настройки.
Обращаем внимание на корневую директорию, псевдонимы, кодировку, режим работы PHP, включен ли SSL, если включен, то какой SSL-сертификат установлен.
- На целевом сервере создаем точно такой же сайт с идентичными настройками в разделе Сайты.
- На исходном сервере в разделе Сайты выделяем нужный сайт — кнопка Файлы сайта. Откроется менеджер файлов в корневой директории сайта. Нужно нажать стрелку Назад, чтобы иметь возможность выделить всю директорию.
- Выделяем директорию с названием нужного сайта, нажимаем кнопку Скачать.
После этого архив всей корневой директории сайта будет создан и загружен к вам на компьютер.
- На целевом сервере у нас уже создан сайт. Заходим в Сайты, выделяем его и нажимаем кнопку Файлы сайта.
Откроется менеджер файлов в корневой директории сайта. Там мы нажимаем кнопку Загрузить и копируем на сервер скачанный ранее с исходного сервера архив с файлами сайта.
- Выделяем загруженный архив, нажимаем Извлечь.
Путь выделяем «www».
Готово. Файлы сайта перенесены в корневую директорию сайта на новом сервере. Но это ещё не всё, нам нужно перенести базу данных и SSL-сертификат.
- На целевом сервере в разделе Базы данных создаем новую базу с точно таким же названием, именем пользователя и паролем, как на исходном сервере. Все данные можно посмотреть в ISPmanager на исходном сервере.
- На исходном сервере заходим в раздел Базы данных, выделяем нашу базу, нажимаем кнопку Экспорт.
Дамп базы данных будет создан и сохранён на ваш компьютер. Если база данных большая, то нужно подождать и не закрывать открывшуюся пустую вкладку — в этот момент происходит создание дампа.
- На целевом сервере у нас уже создана база данных с точно таким же названием, пользователем и его паролем. Поэтому просто выделяем ее и нажимаем кнопку Импорт. Находим только что скачанный на наш компьютер дамп, нажимаем Закачать. Ждём — в этот момент происходит развёртывание дампа. Если база большая, то процесс может занять длительное время, не закрывайте страницу.
Готово. База данных перенесена на новый сервер.
- Остался SSL-сертификат.
Если на исходном сервере SSL-сертификат имеет название «имя.сайта_le1» или le2, le3 и т.п., значит, это бесплатный SSL-сертификат от Let’s Encrypt. И правильнее будет не переносить его с исходного сервера, а сгенерировать новый на целевом сервере уже после переключения записей DNS. Так он будет автоматически продлеваться по истечении срока действия.
Если же на исходном сервере установлен купленный в центре сертификации SSL-сертификат, его нужно перенести.
На исходном сервере открываем раздел SSL-сертификаты, выделяем нужный, нажимаем кнопку Данные сертификата.
Видим перед собой сертификат, ключ и цепочку.
На целевом сервере в разделе SSL-сертификаты нажимаем кнопку Добавить сертификат, выбираем Тип SSL-сертификата — Существующий.
Выберите имя пользователя, которому принадлежит сайт.
На исходном сервере текст в полях SSL-сертификат, Ключ SSL-сертификата и Цепочка SSL-сертификатов нужно скопировать и перенести в соответствующие поля на целевом сервере.
Нажимаем Завершить.
В разделе Сайты выбираем нужный сайт и нажимаем Изменить, в выпадающем списке SSL-сертификат выбираем наш только что созданный сертификат, нажимаем кнопку Сохранить.