Перенос сайта с хостинга на VDS

Когда ваш сайт начинает «разрастаться» и ресурсов хостинга уже недостаточно или по другим причинам, актуальным становиться вопрос «переезда» с хостингового сервера на выделенный виртуальный сервер VDS (англ.Virtual Dedicated Server). На данный момент, мы предоставляем VDS на виртуализации KVM.

При заказе сервера стоит вопрос о выборе панели управления. Мы не будем рассматривать платные панели, мы только рассмотрим «переезд» на сервер без панели и под управление VestaCP. Данный пример будет произведен на основе маленького сайта на платформе WordPress.

Первые шаги

Изначально нам нужно скачать файлы нашего сайта и его БД. Здесь у нас есть два варианта:
1. Подключиться к нашему хостинг аккаунту с помощью FTP и выкачать файлы нашего сайта:

1
2. Обратиться в тех поддержку, с просьбой создания и выдачи резервной копии нашего хостинг аккаунта. В итоге получаем файл cpmove-имя_аккаунта .tar:

2

Мы пошли вторым путем.
Далее переходим в панель управления хостингом (в нашем примере это cPanel, но инструкция актуальна для всех отличных от нее) и опускаемся в раздел «Базы данных» и переходим в приложение phpMyAdmin:

3
кликаем на нужную нам базу данных и нажимаем экспорт:

4

Сохраняем в формате .sql.

Перенос на сервер без панели управления

После заказа ВДС мы имеем сервер «из коробки». То есть у нас есть виртуальная машина с установленной ОС. Первое что необходимо – это установка LAMP.
LAMP— акроним, обозначающий набор (комплекс)  серверно-програмного обеспечения , широко используемый во Всемирной паутине. LAMP назван по первым буквам входящих в его состав компонентов:
-Linux – операционная система Linux;
-Apache –  web-сервер;
-MariaDB/MySqlDB – субд;
-PHP – скриптовый язык программирования общего назначения, в основном применяемый в разработке веб-приложений.
Так же нам понадобиться FTP-сервер. Наш выбор пал на ProFtpd.
Теперь нам необходимо завести пользователя, который не будет иметь никаких ограничений, своего рода вэб-мастер или админ, кому как нравиться:

ftpasswd --passwd --file=/etc/proftpd/ftpd.passwd --name=admin --uid=335 --gid=335 --home=/var/www/ --shell=/bin/bash

После выполнения команды система попросит ввести дважды пароль пользователя.

Не забываем обязательно перезагрузить фтп-сервер:

/etc/init.d/proftpd restart

Конектимся по фтп на наш сервер через клиен FileZilla. Заливаем в наш домашний каталог либо же архив нашего бэкапа для дальнейшей его распаковки, либо же непосредственно директорию с нашим сайтом. Так же заливаем нашу БД:

5

Далее –  разархивируем архив нашего бэкапа, полученного от хостера. Переносим файлы сайта в директорию /var/www.

Теперь нам нужно развернуть дамп нашей базы данных, заходим на наш MySql сервер и создаем базу данных:

mysql -p

вводим пароль суперпользователя:

create database имя_нашей_бд;

Проверяем созданные БД – show databebses:

DB1

Создаем пользователя БД:

mysql> grant all on db1.* to 'db1_user' identified by 'db1_password';

db1.* – база данных;
db1_user  – имя пользователя для данной базы;
db1_password  –  пароль пользователя db1_user.

Чтобы изменения вошли в силу, теперь необходимо “перезагрузить” права это можно сделать следующей командой:

mysq> flush privileges;

Далее делаем импорт таблиц из нашей БД в ново созданную:

mysql -u пользователь_БД -p имя_БД < файл_дампа_БД

Переходим на сайт. Наслаждаемся)

P.S. Не забудьте проверить свой файл конфигурации.