# Как перенести сайт на VPS: пошаговая инструкция

> Для переноса сайта на VPS требуется создать резервную копию файлов и базы данных, настроить сервер (LAMP/LEMP), загрузить данные и изменить DNS‑запись. По шагам процесс описан ниже.

Canonical: https://work-hosting.ru/kak-perenesti-sajt-na-vps/
Updated: 2026-10-15

## Главное

Перенос сайта на VPS состоит из нескольких этапов: резервное копирование, выбор сервера, установка стеков, копирование файлов и БД, настройка виртуального хоста и обновление DNS.
Выбор дата‑центра в России важен из‑за требования 152‑ФЗ (ч. 5 ст. 18), которое обязывает хранить персональные данные граждан РФ на территории страны. Провайдеры Timeweb Cloud и Aeza предоставляют российские локации и прием карт РФ.
После миграции проверяют работу сайта по IP и домену; типичные ошибки включают неверные права файлов, несовместимость версии PHP и забытый кеш.

## Когда и зачем нужно переносить сайт на VPS

- Если ваш проект растёт и обычный хостинг не справляется с нагрузкой, VPS даёт отдельные ресурсы CPU и RAM.
- Для сайтов, требующих кастомных настроек сервера, например, специфических модулей Apache или Nginx.
- При необходимости разместить данные в России в соответствии с 152‑ФЗ, что защищает персональные данные граждан.

## Подготовка: создание резервной копии файлов и базы данных

1. Подключитесь к текущему хостингу через FTP/SFTP и скачайте все файлы сайта в отдельную папку.
2. В панели управления хостингом откройте phpMyAdmin, выберите нужную базу и нажмите «Экспорт». Сохраните .sql файл.
3. Проверьте, что архивы находятся в надёжном месте, например, на внешнем диске.
4. Если используете WordPress, дополнительно сделайте экспорт медиа‑файлов через WP‑CLI: `wp media export`.

## Выбор VPS: российские дата‑центры и соответствие 152‑ФЗ

При выборе VPS обратите внимание на расположение дата‑центра и возможность оплаты российскими картами. По закону 152‑ФЗ (ч. 5 ст. 18) персональные данные граждан РФ должны храниться на серверах в России.

| Провайдер | Дата‑центр в РФ | Соответствие 152‑ФЗ | Способ оплаты |
|-----------|----------------|----------------------|----------------|
| Timeweb Cloud | Санкт‑Петербург, Москва, Новосибирск | Да (данные хранятся в РФ) | Карты РФ |
| Aeza | Европа + РФ (в зависимости от тарифа) | Не указано в источнике | Карты РФ |

Timeweb Cloud — российский провайдер, Aeza предлагает гибридные варианты. Оба провайдера принимают карты РФ.

Подробнее о требованиях 152‑ФЗ читайте в статье [Хостинг в России 152‑ФЗ](https://work-hosting.ru/hosting-v-rossii-152-fz/).

## Настройка сервера (LAMP/LEMP)

1. Подключитесь к новому VPS по SSH (`ssh root@IP`).
2. Установите нужный стек. Для LAMP выполните:

   ```bash
   apt update && apt install apache2 mysql-server php php-mysql
   ```
   Для LEMP (Nginx) используйте:
   ```bash
   apt update && apt install nginx mysql-server php-fpm php-mysql
   ```

3. Проверьте версии: `php -v`, `mysql --version`. Если сайт требует конкретную версию, установите её из репозитория.

4. Настройте брандмауэр: `ufw allow 80,443/tcp && ufw enable`.

## Перенос файлов сайта на VPS

1. На сервере создайте каталог для сайта, например `/var/www/example.com`.
2. Установите права: `chown -R www-data:www-data /var/www/example.com`.
3. С помощью `scp` или `rsync` загрузите архив файлов:

   ```bash
   rsync -avz /local/path/ root@IP:/var/www/example.com/
   ```

4. Распакуйте архив, если он был заархивирован (`tar -xzf archive.tar.gz`).

Для примера переноса с другого хостинга смотрите [перенос сайта на другой хостинг](https://work-hosting.ru/perenos-sajta-na-drugoj-hosting/).

## Перенос и импорт базы данных

1. На VPS создайте новую базу и пользователя:

   ```bash
   mysql -u root -p
   CREATE DATABASE db_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
   CREATE USER 'db_user'@'localhost' IDENTIFIED BY 'strong_password';
   GRANT ALL PRIVILEGES ON db_name.* TO 'db_user'@'localhost';
   FLUSH PRIVILEGES;
   EXIT;
   ```

2. Импортируйте .sql файл:

   ```bash
   mysql -u db_user -p db_name < /path/to/dump.sql
   ```

3. Проверьте, что таблицы созданы и данные доступны.

## Настройка веб‑сервера и виртуального хоста

1. В Apache создайте файл `/etc/apache2/sites-available/example.com.conf`:

   ```apache
   <VirtualHost *:80>
       ServerName example.com
       DocumentRoot /var/www/example.com
       <Directory /var/www/example.com>
           AllowOverride All
           Require all granted
       </Directory>
   </VirtualHost>
   ```
   Затем включите сайт: `a2ensite example.com && systemctl reload apache2`.

2. В Nginx создайте `/etc/nginx/sites-available/example.com`:

   ```nginx
   server {
       listen 80;
       server_name example.com;
       root /var/www/example.com;
       index index.php index.html;
       location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
       }
   }
   ```
   Активируйте: `ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/ && systemctl reload nginx`.

## Изменение DNS (A‑запись) и делегирование домена

1. В панели управления доменом найдите раздел «DNS‑записи».
2. Замените текущую A‑запись на IP‑адрес вашего VPS.
3. При необходимости добавьте запись CNAME для www, указывающую на основной домен.
4. Сохраните изменения; распространение DNS обычно занимает несколько минут.
5. После обновления проверьте, что домен открывается по новому IP, используя `dig example.com`.

## Проверка работоспособности после переноса

1. Откройте сайт в браузере по IP‑адресу, чтобы убедиться, что страница загружается без ошибок.
2. Проверьте формы, авторизацию и загрузку медиа‑файлов.
3. Включите режим отладки в CMS (например, `WP_DEBUG=true` в WordPress) и просмотрите журнал ошибок.
4. При появлении ошибки «страница не найдена» проверьте `.htaccess` или правила переадресации в Nginx.

## Возможные ошибки и их решение

- **Ошибка подключения к базе**: проверьте `DB_HOST`, `DB_USER`, `DB_PASSWORD` в конфигурационном файле.
- **Права файлов**: Apache/Nginx требует `www-data` (или `nginx`) как владельца; исправьте `chown`.
- **Версия PHP**: если сайт требует PHP 8.0, а на сервере установлена 7.4, выполните `apt install php8.0` и переключите `php-fpm`.
- **Кеширование**: после миграции очистите кеш браузера и любой серверный кеш (например, `php artisan cache:clear`).
- **DNS‑пропаганда**: если сайт не открывается сразу, подождите несколько минут или проверьте запись через `nslookup`.

## Выбор провайдера: Timeweb Cloud и Aeza

Timeweb Cloud имеет дата‑центры в России (СПб, Москва, Новосибирск) и принимает карты РФ. Aeza предлагает серверы в России и за рубежом, возможность выбора тарифов с локацией в России. Оба провайдера принимают карты РФ.

Отзывы о Timeweb Cloud можно посмотреть в статье [Timeweb Cloud отзывы](https://work-hosting.ru/timeweb-cloud-otzyvy/).

## Разница между виртуальным хостингом и VPS

- Виртуальный хостинг – общий сервер, ресурсы делятся между клиентами, настройки ограничены панелью.
- VPS – отдельный виртуальный сервер с собственным ядром, памятью и диском, доступ к root‑доступу и полной конфигурации.
- При росте трафика и необходимости кастомных модулей лучше использовать VPS.

**Читайте также:**

- [VPS или хостинг](https://work-hosting.ru/vps-ili-virtualnyj-hosting/)
- [Сравнение хостинга](https://work-hosting.ru/timeweb-ili-aeza/)
- [VPS и оплата](https://work-hosting.ru/zarubezhnyj-vps-oplata-iz-rossii/)
- [Хостинг для WordPress](https://work-hosting.ru/hosting-dlya-wordpress/)

## Частые вопросы

### Каким образом выполнить перенос сайта на VPS самостоятельно?

Создайте резервную копию файлов и БД, установите LAMP/LEMP на VPS, загрузите данные, настройте виртуальный хост и измените DNS‑запись.

### Когда стоит переходить с хостинга на VPS?

Когда требуется больше ресурсов, кастомные настройки сервера или хранение данных в России согласно 152‑ФЗ.

### Как выбрать VPS с российскими дата‑центрами по 152‑ФЗ?

Ищите провайдеров, указывающих дата‑центры в РФ и возможность оплаты российскими картами; пример – Timeweb Cloud.

### Каким способом перенести базу данных на VPS?

Экспортируйте БД в .sql через phpMyAdmin или mysqldump, создайте новую БД на VPS и импортируйте файл командой `mysql`.

### Что делать после переноса сайта на VPS?

Проверьте работу сайта по IP, исправьте возможные ошибки, обновите DNS, дождитесь полной пропаганды и отключите старый хостинг.
