Переезд или восстановление сайта для начинающих: не бойтесь, всё проще, чем кажется
Опубликовано 06.10.2025
Переезд или восстановление сайта для начинающих: не бойтесь, всё проще, чем кажется
Переезд сайта на новый сервер или восстановление после сбоя может звучать как страшная задача, особенно если вы новичок в веб-разработке или администрировании. Но не паникуйте. С правильным подходом и пошаговым планом вы справитесь без стресса. Ниже — разбор всего процесса: от резервного копирования до проверки работоспособности, включая панели ISPmanager и FreePanel и локальное тестирование через hosts
без изменения публичного DNS.
Что такое переезд и восстановление сайта
Переезд сайта — перенос всех файлов, баз данных и настроек с одного сервера (или хостинга) на другой. Это нужно, если вы:
- меняете хостинг-провайдера (цена, производительность, ограничения),
- переходите с локального сервера на продакшен,
- обновляете сервер (устаревшее ПО/железо).
Восстановление сайта — возврат сайта в рабочее состояние после сбоя, взлома или случайного удаления. Обычно выполняется из резервной копии.
Цель — понять процесс и избежать типичных ошибок. Примеры ниже ориентированы на WordPress и статические сайты, но принципы универсальны.
Почему это не страшно
Страх «всё сломать» уходит, если вы:
- делаете бэкап перед началом,
- следуете чёткому плану,
- проверяете каждый шаг.
Шаг 1. Подготовка и резервное копирование
Почему важно. Без бэкапа рискуете потерять данные навсегда. Даже если всё работает — сделайте копию.
Что сохранить
- Файлы сайта: HTML, PHP, CSS, JS, изображения. На серверах часто:
/var/www/html
или~/www/public_html
. - База данных: MySQL/MariaDB (часто для WordPress).
- Конфигурации:
.htaccess
(Apache), виртуальные хосты Nginx, PHP-настройки. - DNS-настройки: A, CNAME и другие записи у регистратора/в DNS-провайдере.
Как сделать бэкап
Файлы:
- через FTP/SFTP (например, FileZilla) — скачать папку сайта;
- через SSH — создать архив и потом скачать:
tar -czvf site-backup.tar.gz /var/www/html
База данных (MySQL/MariaDB):
mysqldump -u username -p database_name > backup.sql
Хостинг-панели: в ISPmanager и FreePanel есть экспорт БД из интерфейса.
WordPress: плагины UpdraftPlus или Duplicator создают полный бэкап (файлы + БД).
Совет. Храните копию вне исходного сервера: внешний диск, облако (Google Drive, Dropbox), другой сервер.
Шаг 2. Подготовка нового сервера
Если переезд — готовим новый сервер. Если восстановление — приводим текущий сервер в порядок.
Установите ПО (Ubuntu пример):
sudo apt update
sudo apt install apache2 php libapache2-mod-php mysql-server
Альтернатива: Nginx + PHP-FPM.
Доступ и сети
sudo apt install openssh-server
sudo ufw allow 80
sudo ufw allow 443
Создайте БД и пользователя (MySQL):
CREATE DATABASE new_database;
CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON new_database.* TO 'new_user'@'localhost';
FLUSH PRIVILEGES;
Шаг 3. Перенос или восстановление данных
Перенос файлов
Через SFTP/FTP — загрузите содержимое в корень сайта на новом сервере (часто /var/www/html
).
Через SSH:
scp site-backup.tar.gz user@new-server-ip:/var/www
ssh user@new-server-ip
sudo tar -xzvf /var/www/site-backup.tar.gz -C /var/www/html
sudo chown -R www-data:www-data /var/www/html
sudo find /var/www/html -type d -exec chmod 755 {} \;
sudo find /var/www/html -type f -exec chmod 644 {} \;
Восстановление базы
mysql -u new_user -p new_database < backup.sql
WordPress: обновите wp-config.php
(имя БД, пользователь, пароль, хост).
Конфигурация веб-сервера
Apache
Проверьте .htaccess
. Базовый для WordPress:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Nginx Пример виртуального хоста:
server {
listen 80;
server_name yourdomain.com www.yourdomain.com;
root /var/www/html;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # проверьте версию PHP-FPM
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_index index.php;
}
}
Перезапуск:
sudo systemctl restart apache2
# или
sudo systemctl restart nginx
Шаг 4. Обновление DNS при переезде
- В панели у регистратора/в DNS-провайдере измените A-запись на новый IP.
- За день до миграции уменьшите TTL записи, чтобы ускорить применение.
- Ожидайте 1–24 часа на распространение.
Шаг 5. Локальное тестирование через hosts
Тест до смены публичного DNS. Пользователи изменений не видят.
Редактирование hosts
- Windows:
C:\Windows\System32\drivers\etc\hosts
- Linux/macOS:
/etc/hosts
Добавьте строку:
192.168.1.100 yourdomain.com www.yourdomain.com
Где 192.168.1.100
— IP нового или локального сервера.
Сброс кэша DNS
- Windows:
ipconfig /flushdns
- macOS:
sudo dscacheutil -flushcache
- Linux (systemd):
sudo systemd-resolve --flush-caches
Откройте http://yourdomain.com
— запросы пойдут на указанный IP. После теста удалите строку из hosts
и снова сбросьте кэш.
Локально на сервере
Добавьте в /etc/hosts
:
127.0.0.1 yourdomain.com
Проверьте:
curl -I http://yourdomain.com
Если используете ISPmanager/FreePanel — добавьте домен в панели и укажите корневую папку сайта.
Шаг 6. Проверка сайта
Доступ и функциональность
- Откройте сайт по домену/по IP.
- Пройдите страницы, формы, медиа.
- WordPress: вход в
/wp-admin
.
Логи
# Apache
tail -f /var/log/apache2/error.log
# Nginx
tail -f /var/log/nginx/error.log
База Проверьте, что контент отображается корректно.
HTTPS
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
# или для Nginx:
# sudo apt install certbot python3-certbot-nginx
# sudo certbot --nginx
Переезд с использованием ISPmanager
Бэкап
- Вход в панель (
https://<ip>:1500
). - «Файловый менеджер»/«Резервное копирование»: архивируйте и скачайте папку сайта (
/var/www/<user>/data/www/yourdomain.com
). - «Базы данных»: экспорт
.sql
. - Зафиксируйте параметры домена и PHP-версию.
Перенос
- На новом сервере загрузите архив и распакуйте в целевую папку.
- Создайте БД и пользователя, импортируйте
.sql
. - В «Домены» добавьте домен, укажите корень сайта, версию PHP.
- В «SSL-сертификаты» подключите Let’s Encrypt или загрузите свой.
Примечание. ISPmanager автоматом пишет конфиги Apache/Nginx, но проверьте владельца/права (обычно 755 для папок, 644 для файлов).
Переезд с использованием FreePanel
Бэкап
- Вход (часто
http://<ip>:8080
). - «File Manager»: скачайте папку сайта или сделайте архив:
tar -czvf site-backup.tar.gz /var/www/html/yourdomain
- «Databases»: экспорт
.sql
или через SSHmysqldump
.
Перенос
- На новом сервере в «File Manager» загрузите архив и распакуйте:
tar -xzvf site-backup.tar.gz -C /var/www/html/yourdomain
- Создайте БД и пользователя, импорт:
mysql -u new_user -p new_database < backup.sql
- «Domains»: добавьте домен, корневую папку, PHP-версию.
SSL Если авто-Let’s Encrypt недоступен:
sudo certbot --apache
# или:
# sudo certbot --nginx
Замечание. В FreePanel больше ручной работы. При проблемах проверьте конфиги в /etc/apache2
или /etc/nginx
и права.
Типичные проблемы и быстрые решения
- Database connection error — проверьте
wp-config.php
(DB_NAME/DB_USER/DB_PASSWORD/DB_HOST). - 404 на WordPress — перепроверьте
.htaccess
(Apache) илиtry_files
в Nginx. - Белый экран — включите отладку:
define('WP_DEBUG', true);
и смотрите логи веб-сервера.
Медленная загрузка — проверьте, что DNS уже указывает на новый IP и нет смешанной статики со старого сервера.
Не хватает файлов — сравните содержимое архива и целевой папки.
Проблемы в панелях
- ISPmanager: домен привязан к корректной папке, PHP-версия совпадает.
- FreePanel: права/владельцы и корректность конфигов вручную.
Локальное тестирование не работает — убедитесь в верном IP в
hosts
и сбросьте кэш DNS.
Полезные советы
- Тестируйте на поддомене
test.yourdomain.com
. - Для WordPress используйте миграционные плагины (Duplicator, UpdraftPlus).
- Настройте регулярные бэкапы (cron или инструменты панели).
- Документируйте шаги, логины и изменения конфигов.
Заключение
Переезд или восстановление сайта — задача выполнимая. При наличии бэкапа и понятного плана риск низкий. Панели ISPmanager и FreePanel упрощают рутину, а тестирование через hosts
позволяет проверить всё без изменения публичного DNS. Делайте шаги последовательно, проверяйте логи и не храните единственную копию на исходном сервере. Со временем вы будете выполнять такие операции уверенно.
Отзывы по теме
Спасибо Михаилу за отзывчивость. Созвонились, объяснил как сделать самому. Обращаюсь уже второй раз, все супер и оперативно.

kireevk · Консультация по nginx proxy manager и portainer
Освоившийся покупатель25.02.2025 · ⭐ 5/5
Спасибо Михаилу за отзывчивость. Созвонились, объяснил как сделать самому. Обращаюсь уже второй раз, все супер и оперативно.
Хочу выразить огромную благодарность специалисту, который настроил мне ЧПУ на OpenCart. Настроить ЧПУ оказалось легко и просто, и я рад, что наконец нашел профессионала, который сделал всё качественно и без лишних сложностей. До этого я сменил четырёх специалистов, и каждый раз возникали проблемы с настройкой, но этот человек справился с задачей идеально.

apande · Настройка nginx и opencart
Очень мощный покупатель07.09.2024 · ⭐ 5/5
Хочу выразить огромную благодарность специалисту, который настроил мне ЧПУ на OpenCart. Настроить ЧПУ оказалось легко и просто, и я рад, что наконец нашел профессионала, который сделал всё качественно и без лишних сложностей. До этого я сменил четырёх специалистов, и каждый раз возникали проблемы с настройкой, но этот человек справился с задачей идеально.
Отличная работа, обращаюсь не первый раз, находит решения к сложным задачам. Рекомендую.

Evgeni8j · Nginx rate limit
Покупатель профи-эксперт10.05.2024 · ⭐ 5/5
Отличная работа, обращаюсь не первый раз, находит решения к сложным задачам. Рекомендую.
Отличная работа! Выполнил поставленную задачу в срок и без ошибок. Было приятно сотрудничать, рекомендую.

Evgeni8j · Настройка nginx
Покупатель профи-эксперт03.05.2024 · ⭐ 5/5
Отличная работа! Выполнил поставленную задачу в срок и без ошибок. Было приятно сотрудничать, рекомендую.
Отличный специалист, вник в проблему, разобрался, исправил. Рекомендую.

Evgeni8j · Исправление regexp в location в nginx
Покупатель профи-эксперт21.03.2024 · ⭐ 5/5
Отличный специалист, вник в проблему, разобрался, исправил. Рекомендую.
Нужно было решить проблему с SSL сертификатом на сервере, который был выпущен через Ngnix Proxy manager. Михаил уточнил все детали, как у меня все устроено, попросил доступы чтобы оценить реальность решения задачи, т. к. до этого не сталкивался с подобным сервисом. Быстро разобрался и решил мою проблему. Идеальное сотрудничество)

kireevk · Диагностика Nginx Proxy Manager в docker контейнере и решение проблемы
Освоившийся покупатель15.03.2024 · ⭐ 5/5
Нужно было решить проблему с SSL сертификатом на сервере, который был выпущен через Ngnix Proxy manager. Михаил уточнил все детали, как у меня все устроено, попросил доступы чтобы оценить реальность решения задачи, т. к. до этого не сталкивался с подобным сервисом. Быстро разобрался и решил мою проблему. Идеальное сотрудничество)
Похожие посты
104 | Революция в реальном времени: Погружение в мир WebSockets и Long Polling
12.09.2025
010 | Настройка DNS для почты и сайта: Часть 3 — Как настроить и проверить
31.05.2025
009 | Настройка DNS для почты и сайта Часть 2 — Защита почты (SPF, DKIM, DMARC)
30.05.2025
008 | Настройка DNS для почты и сайта: Часть 1 — Что такое DNS и основные записи (A, MX)
29.05.2025