Раздел помощи SpaceWeb

Перенос на VDS с VestaCP

01 дек, 2023

Инструкция по переносу сайта с виртуального хостинга на VDS с VestaCP на примере популярной CMS WordPress включает в себя следующие пункты:

Создание архива файлов сайта и базы данных

Создание дампа базы данных

Для начала разберемся с дампом (слепком) базы, которую использует для работы сайт. Чтобы понять к какой базе и с каким паролем подключиться найдите конфигурационный файл CMS. Для Wordpress это — wp-config.php, размещенный в корневом каталоге сайта. Информацию о расположении конфигурационных файлов для других CMS возможно найти в сети интернет, либо в разделе помощи.
 

Он имеет примерно такое содержимое:

Обратим внимание на следующие строки:

define('DB_NAME', 'vh100sup');
define('DB_USER', 'vh100sup');
define('DB_PASSWORD', 'piuvdanuis');
define('DB_HOST', 'localhost:');

В указанных переменных хранятся данные для подключения к базе данных. localhost — означает, что MySQL размещен на том же сервере, что и файлы сайта, vh100sup — имя пользователя базы данных vh100sup. На нашем хостинге они совпадают, если на стороннем хостинге это не так, то используйте имя пользователя, piuvdanuis — пароль для подключения к базе данных. Подробнее об инструменте phpMyAdmin.
Теперь зайдите в phpMyAdmin с логином vh100sup и паролем piuvdanuis и сделайте экспорт базы данных в формате SQL:

  1. Зайдите в раздел Базы данных панели управления аккаунтом, и напротив нужной базы нажмите на PMA

  1. Перейдите на вкладку Экспорт

  1. Выберите быстрый метод экспорта и формат SQL

  1. Нажмите Вперед и получите файл дампа базы с расширением .sql

Создание архива файлов сайта

Папку с сайтом необходимо поместить в архив.

Чтобы создать архив:

  1. Перейдите в панель управления аккаунтом раздел Файловый менеджер.
  2. Выберите папку и в меню папки выберите Создать архив:

  1. Затем созданный архив необходимо загрузить на локальный компьютер с помощью "Файлового менеджера". Для файлов, размер которых превышает 100 Мб, рекомендуем использовать FTP.

В результате проделанных операций должно получится два файла: архив с файлами сайта и дамп базы данных. Этого достаточно для того, чтобы разместить сайт на новой платформе.

Загрузка сайта на VDS c установленной панелью VestaCP

Копирование файлов сайта на сервер VDS

  1. Для копирования файлов сайта сначала необходимо подключиться по ssh к серверу на хостинге, где находятся файлы сайта. Рекомендуем воспользоваться для этого удобным для вас SSH-клиентом (например, Putty в Windows) или стандартным терминалом в Linux или MacOS.
  2. После успешного подключения к серверу воспользуйтесь Midnight Commander, для этого в терминале выполните команду mc
  3. Далее выполните подключение к VDS серверу, куда была установлена Vesta CP выбрав в Midnight Commander меню Shell Link

  1. Теперь укажите параметры подключения к серверу VDS вида - root@<ip_адрес_сервера> :

  1. В правой панели выберете директорию с файлами сайта на виртуальном хостинге.
  2. В левой панели – директорию на виртуальном сервере, в которой необходимо размещать файлы сайта (эта директория была создана автоматически при добавлении вашего домена в панели Vesta CP): home/admin/web/имя_домена/public_html
  3. Выделите файлы и папки сайта в файловом менеджере и скопируйте их в директорию сайта на виртуальном сервере:

Загрузка дампа базы данных на сервер VDS с VestaCP

  1. В панели VestaCP создайте новую базу данных для переносимого сайта, сделать это можно в разделе DB. Нажмите на кнопку Добавить БД:

  1. Укажите имя базы данных и пользователя:

  1. После создания базы данных из раздела DB можно сразу перейти в phpMyAdmin, для этого нажмите на соответствующую кнопку в панели.
  2. В phpMyAdmin перейдите в созданную в п.2 базу данных и откройте меню Импорт в верхней панели.
  3. Выберете предварительно сохраненный файл резервной копии и нажмите на кнопку Вперед.

Настройка прав доступа

  1. Для дальнейшей настройки потребуется подключиться к VDS серверу:

ssh root@<ip_адрес_сервера>

где <ip_адрес_сервера> — IP-адрес вашего сервера. Далее потребуется ввести пароль, указанный при создании сервера.

  1. Для корректной работы веб-сервера измените владельца файлов в корневой директории сайта на admin.

chown -R admin:admin /home/admin/web/support-test.ru/public_html

Проверить текущего владельца можно командой:

ls -l /home/admin/web/support-test.ru/public_htmll

Если владелец не изменился или команда chown выполняется с ошибкой, то проверьте, что пользователь admin существует.
Это можно сделать командами:

getent passwd admin
getent passwd admin

Если пользователя admin нет, то добавьте его используя команды:

[root@support-test ~]# useradd admin
[root@support-test ~]# getent passwd admin
admin:x:1000:1000::/home/admin:/bin/bash
[root@support-test ~]# getent group admin
admin:x:1000:

  1. Также задайте корректные права для файлов и директорий сайта.

Если вы не планируете использовать FTP для работы с этим сайтом, то установите следующие права:

find /home/admin/web/support-test.ru/public_html -type d -exec chmod 751 {} \;
find /home/admin/web/support-test.ru/public_html -type f -exec chmod 644 {} \;

Если в дальнейшем вы планируете работать с этим сайтом через FTP соединение, то установите следующие права на директории и файлы:

А. режим только чтение:

find /home/admin/web/support-test.ru/public_html -type d -exec chmod 755 {} \;
find /home/admin/web/support-test.ru/public_html -type f -exec chmod 645 {} \;

Б. режим чтение и запись:

find /home/admin/web/support-test.ru/public_html -type d -exec chmod 757 {} \;
find /home/admin/web/support-test.ru/public_html -type f -exec chmod 647 {} \;

  1. После этого необходимо исправить пользователя, под которым запускается и работает веб-сервер Apache на admin, для этого отредактируйте файл /home/admin/conf/web/support-test.ru.apache2.conf:

<IfModule mod_ruid2.c>
RMode config
RUidGid admin admin
RGroups admin
</IfModule>
<IfModule itk.c>
AssignUserID admin admin
</IfModule>

  1. После успешного редактирования конфигурационного файла /home/admin/conf/web/support-test.apache2.conf, для того, чтобы изменения вступили в силу, перезагрузите веб сервер apache,  для этого выполните консольную команду:

service apache2 reload

  1. После того как все данные были перенесены на сервер VDS,  рекомендуем проверить работу сайта. Для этого необходимо отредактировать основную  A-запись, указав IP-адрес сервера VDS. Редактирование DNS-записей доступно в разделе Мои домены, пункт DNS в меню «три точки» 

  1. Через 15 минут после того как файл зоны будет обновлен, можно проверить работу сайта. Если сайт работает неправильно, то не рекомендуется переходить к следующему этапу. Нужно еще раз по шагам проверить правильность выполненных действий.

Перенос домена

Когда домен делегирован на DNS-серверы SpaceWeb, перенос домена выполняется согласно инструкции по переносу доменов между аккаунтами.
Единственным отличием будет то, что на VDS-аккаунте не потребуется выбирать папку для домена (это было сделано в VestaCP).

Если домен делегирован на сторонние DNS-серверы, то для доступности сайта по основному домену, необходимо указать DNS-серверы SpaceWeb:

ns1.spaceweb.ru
ns2.spaceweb.ru
ns3.spaceweb.pro
ns4.spaceweb.pro

Изменение DNS-серверов производится текущим регистратором доменного имени. Узнать регистратора домена и текущие настройки DNS возможно с помощью сервиса Whois.

DNS-серверы могут обновляться до 72 часов. Как правило обновление проходит в течение суток. Как только интернет-провайдер обновит DNS-кэш, сайт будет загружаться с VPS сервера SpaceWeb.