Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд

Резервна копія сайту на локальному сервері дає змогу безпечно працювати з кодом, тестувати теми та плагіни, а також швидко відновлювати проєкт після збоїв на хостингу. У цій інструкції оновлено старий підхід (Денвер) під OpenServer 6+ з використанням FileZilla або завантажувача редактора PhpStorm. Після змін ви легко заливаєте оновлені файли назад через FTP/SSH.

Навіщо робити локальну резервну копію

  • Безпечна «пісочниця»: тестування тем, плагінів, оновлень WordPress, PHP без ризиків для продакшену.
  • Швидка діагностика помилок та оптимізація БД.
  • Робота офлайн і висока швидкість локальної збірки.
  • Миттєве повернення до робочого стану у випадку злому або збою хостингу.

Що знадобиться

  • OpenServer 6+ (Windows; Apache/NGINX + PHP + MySQL/MariaDB).
  • Доступ до продакшен-хостингу: FTP/SFTP і phpMyAdmin (або SSH).
  • FileZilla чи PhpStorm (Deployment) для передачі файлів.
  • Облікові дані бази даних вашого сайту (з wp-config.php).

Крок 1. Встановлюємо та запускаємо OpenServer 6+

  1. Встановіть OpenServer у, наприклад, C:\OSPanel\.
  2. Запустіть Open Server → у треї оберіть потрібні модулі (PHP, Apache/NGINX, MySQL/MariaDB) → Запустити.
  3. Переконайтесь, що працює http://localhost/ і доступний phpMyAdmin.(в новій 6 весії phpMyAdmin треба встановлювати окремо)

Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд

Крок 2. Створюємо локальний домен

У OpenServer усі сайти зберігаються у OSPanel\home\. Створіть папку вашого проєкту, наприклад OSPanel\home\mysite.loc\. Головна сторінка – це index.php у цій папці.

  • в середині каталога домену , робите ще один з назвою .osp в ньому текстовий файл з роширеням(.ini) project.ini склад такий:


    [mysite.loc]php_engine = PHP-8.2


    Або скопируйте з папки сайта приклада example.local
  • Пілся цього треба вімкнути потрібні модулі. Правій кнопкою мишки по значку в треє-опенсервера, пройдіть в розділ Модулі-PHP та Модулі-MariaDB (я такі БД застосовую), та вімкніть потрібні.
    Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд
    Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд
  • Після перезавантажьте сервер. Повна інструкцію по Опенсерверу ось тут.

Крок 3. Копіюємо файли сайту з хостингу

Задача – завантажити усі файли продакшен-сайту у OSPanel\home\mysite.loc\. Зручно робити це через FileZilla або PhpStorm → Deployment.

Варіант A: FileZilla

  1. Відкрийте Site Manager → створіть підключення (хост, порт, логін, протокол FTP/SFTP).
  2. Увімкніть Directory Comparison/Synchronized browsing, щоб легше оновлювати зміни.
  3. Скачайте корінь сайту (включно з wp-content, wp-includes, wp-admin та прихованими файлами типу .htaccess).
    Повна інструкція як працювати з FileZilla

Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд

Варіант B: PhpStorm (Deployment)

  1. Settings → Build, Execution, Deployment → Deployment → додайте SFTP/FTP, вкажіть корінь сайту.
  2. Налаштуйте Mappings, щоб локальна папка вказувала на OSPanel\domains\mysite.loc\.
  3. Синхронізуйте файли через Download from….

Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд

Порада. Зазвичай не потрібно тягнути кеші (wp-content/cache, uploads/cache). Це заощадить час.

Крок 4. Експортуємо базу даних із хостингу

  1. Зайдіть у phpMyAdmin на хостингу → оберіть БД сайту (зазвичай назва з wp-config.php).
  2. Експорт → формат SQL (опційно: стиснення gzip).

phpMyAdmin на хостингу: вкладка Export і вибір формату SQL

Заміна домену при перенесенні:

  • У WordPress є серіалізовані дані, тому масовий пошук/заміна в текстовому редакторі може зламати структуру, потрібен спеціальний, підійде Notepad++.
  • Після скачування відкрийте SQL  файл в будб якому HTML редакторі, наприклад Notepad++:Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд
  • Альтернатива без заміни в БД – плагін переносу Duplicator

Крок 5. Імпортуємо базу в OpenServer

  1. Відкрийте phpMyAdmin локально (через http://localhost/) → створіть нову БД, наприклад mysite_local (COLLATION: utf8mb4_unicode_ci).
  2. Перейдіть у Import → завантажте SQL (або .sql.gz).
    Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд

Якщо файл великий, підніміть ліміти у php.ini вибраної версії PHP OpenServer:


; приклад: OSPanel\modules\php\PHP_8.2\php.ini
upload_max_filesize = 256M
post_max_size = 256M
max_execution_time = 300
memory_limit = 1024M

Після змін перезапустіть OpenServer. Для дуже великих дампів використовуйте імпорт з консолі MySQL/MariaDB або утиліти на кшталт Sypex Dumper/BigDump.

Крок 6. Підключаємо сайт до локальної БД (wp-config.php)

  1. Відкрийте OSPanel\domains\mysite.loc\wp-config.php і внесіть параметри під локальну БД:


define( ‘DB_NAME’, ‘mysite_local’ );
define( ‘DB_USER’, ‘root’ );
define( ‘DB_PASSWORD’, ” ); // стандарт для OpenServer
define( ‘DB_HOST’, ‘localhost’ );// або mariadb(№версії)

Щоб сайт одразу відкрився на локальному домені без глобальної заміни у БД, можна тимчасово задати URL:


define( ‘WP_HOME’, ‘http://mysite.loc’ );
define( ‘WP_SITEURL’, ‘http://mysite.loc’ );

Для налагодження:


define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_LOG’, true ); // лог у wp-content/debug.log
define( ‘WP_DEBUG_DISPLAY’, false );

Крок 7. Перевірка та типові помилки

  • Зайдіть у Налаштування → Постійні посилання і збережіть ще раз (перегенеруються .htaccess правила).
  • Вимкніть/очистіть кеш-плагіни (WP Super Cache, W3TC, LSCACHE тощо).
  • Перевірте Медіафайли (шлях wp-content/uploads) і права доступу.
  • Якщо відсутні віджети/меню – вручну пересохраніть у Зовнішній вигляд → Меню/Віджети.

Рекомендовані практики для щоденної роботи

    • Git для коду: робіть коміти малими порціями; додайте .gitignore:
  • Плагіни резервного копіювання (продакшен): UpdraftPlus, WPvivid, Duplicator. Налаштуйте інкрементальні бекапи на хмару.
  • Розгортання: після змін з локалки завантажуйте через FileZilla або PhpStorm Deployment (тільки змінені файли).


# WordPress
wp-content/cache/
wp-content/uploads/
wp-config.php
node_modules/
vendor/

Швидка шпаргалка

Крок Дія Інструмент Примітка
1 Встановити OpenServer 6+ OpenServer Запустити модулі PHP/Apache/MySQL
2 Створити домен mysite.loc OSPanel\domains Папка сайту = домен
3 Скачати файли з хостингу FileZilla/PhpStorm Захопити .htaccess та приховані файли
4 Експортувати БД phpMyAdmin (хостинг) Формат SQL (можна .gz)
5 Імпортувати БД локально phpMyAdmin (локально) Підняти ліміти у php.ini за потреби
6 Оновити wp-config.php Редактор коду DB_NAME/USER/PASS/URL для локалки
7 Перевірити сайт Браузер Перезберегти Permalinks, почистити кеш

Висновок

Локальна резервна копія сайту на OpenServer 6+ — це зручний і безпечний спосіб розробляти, тестувати та оновлювати ваш проєкт. Працюйте зі змінами локально, а на продакшен відправляйте вже перевірений код через FTP або завантажувач PhpStorm.

Будьте на звʼязку: підписуйтеся на наш Telegram-канал з корисними нотатками та апдейтами — t.me/AshifinStudio.

Fedor
Привіт! Я — Ашифін Федір, full-stack розробник та автор власних тем і плагінів.
Створюю сайти без використання конструкторів — лише чистий і валідний код. Це забезпечує високу швидкість завантаження та відмінні показники в Google PageSpeed, а отже — вартість кліка в рекламі зменшується в 2–3 рази.
Потрібен сайт з нуля, оптимізація існуючого проекту або доопрацювання функціоналу?
📩 Напишіть у будь-який месенджер — обговоримо ваш проект!

FAQ

Питання Відповідь
Чи обов’язково міняти домен у базі? Ні, можна тимчасово задати WP_HOME/WP_SITEURL у wp-config.php. Але для повної сумісності краще зробити безпечну заміну (Better Search Replace або WP-CLI).
Що робити, якщо дамп БД надто великий? Підняти ліміти у php.ini, використати стислий .sql.gz, або імпортувати через консоль/утиліту Sypex Dumper/BigDump.
Чому не працюють посилання після перенесення? Перезбережіть Постійні посилання (Settings → Permalinks), перевірте .htaccess та, за потреби, модуль переписування в Apache/NGINX.
Як швидко відправити зміни на продакшен? Через FileZilla або PhpStorm Deployment – завантажуйте тільки змінені файли. Для автоматизації використовуйте Git-хуки або CI/CD (за можливості).
Чи можна робити регулярні резервні копії автоматично? Так, на продакшені налаштуйте плагіни UpdraftPlus, WPvivid або Duplicator з інкрементальними копіями та відправкою в хмару.

Коментарі до "Резервна копія сайту на домашньому сервері (OpenServer 6+): покроковий гайд"

  1. Спасибо, Федор!
    Отличная подробная инструкция.
    В свое время я долго “тыкался” пытаясь решить эту же задачу. Справился, конечно. Но времени и сил затратил немерено.

  2. Если используется свой сервер/vps, либо хостер предоставляет возможность скопировать непосредственно файлы/каталоги базы данных, то перенести проще именно так.
    На никсах базы могут находиться по пути /var/lib/mysql
    Для своего сервера можно выполнить такую составную команду:
    /etc/init.d/mysql stop && cd /var/lib && rm /home/allMySQL.tar.gz && tar cfz /home/allMySQL.tar.gz mysql && /etc/init.d/mysql start
    1. остановить демона mysql
    2. сменить директорию на /var/lib
    3. удалить предыдущий файл-архив (если есть)
    4. упаковать все БД в один архив
    5. запустить демона mysql

    Слышал от некоторых администраторов, что возможны проблемы. Но у меня их не возникало, испробовал в разных вариация
    Windows ↔ Linux Gentoo ↔ Linux Debian
    Базы замечательно подхватываются после рестарта, а главное, не нужно долго ожидать, пока утилиты будут неторопливо пихать запросы, проверяется уникальность ключей и т. п.

    У себя содержимое распаковать в \\usr\local\mysql-XX\
    Каждая база — это отдельный каталог.

    1. Спасибо! Это конечно больше для продвинутых пользователей.
      Тут весь смысл создания копии сайта, чтоб можно было с ней работать, проводить эксперименты. настраивать темы и шаблоны.

  3. Пытался сделать копию сайта, как вы советуете и это думаю правильно и удобно. Но не получилось, че-то не пошло, а времени разбираться не было. Но знаю, что копию делать нужно обязательно, чтобы потом не плакать. Решил вопрос так: зашел в админку-консоль-инструменты-экспорт и скачал файл. Пока не пробовал восстанавливать такой файл, но надеюсь через какой-то плагин получиться ))

  4. Застряла на переносе БД. Она у меня 30Мб. Изменила настройки в файле php.ini. Сначала процесс пошел, а потом выдало ошибку 1054 – неизвестная колонка. Перерыла интернет, так и не нашла, что тут делать. Федор, что вы можете подсказать?
    .

      1. Благодарю, Федор. Все прошло замечательно. Воспользовалась вашей версией скрипта. Вы очень хорошо разложили все по полочкам. Работает прекрасно. Тоже не вижу необходимо использовать нечто более навороченное.
        Конечно же проверила, открывает ли скрипт БД, что создает хостинг – не открывает. Наверное, действительно, есть разные способы сжатия.

        Вот теперь я могу приступать к дальнейшим шагам по сайту. Хотя с переносом провозилась долго, но не жалею – приобрела кучу знаний и опыта.

        1. теперь после переноса возникла другая проблема. Не пускает в админ панель. Выдает, что пароль неверный. Федор, вы встречались с такой ситуацией? Что можно сделать?

          1. Нужно сбросить пароль через базу данных Если на Денвере то адрес //localhost/Tools/phpMyAdmin/ находите таблицу wp_users
            отмечаете ее и первая кнопка-обзор находите себя -админа и нажимаете карандаш-правка
            там поле user_pass в него вставляете в поле-значение 21232f297a57a5a743894a0e4a801fc3

            и сохраняете. Теперь Ваш пароль admin
            Затем в админке поменяете

            1. Нашла ошибку.
              В поле Функция надо выбрать функцию MD5.
              Это я нашла в интернете. Но не понимаю, что такое. Кстати, как я поняла, пароль все-таки можно вводить любой. Но экспериментировать с этим желания нет 🙂

              Все прошло прекрасно. Пароль воспринялся, в админку вошла и поменяла уже на свой пароль.
              Еще раз благодарю за помощь.

              1. MD5 идет по умалчиванию . Это способ шифрования.
                Я никогда не восстанавливал пароль на Денвере, может там и нужно указывать, буду знать.

            2. Большое спасибо за ответ. Замену провела без проблем. Потом обновила Denwer.
              В окно ввожу этот же пароль (все время я копируя его с вашего письма).
              Но все равно в админку не пускает. Говорит, что пароль не верен.

              Может, что еще надо почистить?
              И зачем такой длинный пароль вводить в таблицу? Это какой-то умолчаемый параметр? Зависит ли он версии WP?

      2. Сейчас начну изучать. Попутно вопрос – надо ли теперь возвращать Denwer в исходное состояние? Я уже туда скопировала файлы движка. Плюс изменила pho.ini.

  5. Скачала материалы по вашей ссылке. Как вы считаете, нужно ли менять Denwer на предложенную вами версию? Я в начале ставила официальную версию WordPress и создавала пустую БД. Созданный так сайт в локалке открывался.

    1. Если открывался то не обязательно менять.
      Проблемы могут быть с новыми шаблонами, которые применяют новые технолигии типа буштрап, они на Денвере могут глючить и давать ошибки.
      Вообще если честно то для 4 версии WordPress лучше использовать другой сервер. Денвер стал очень отставать и дает много ошибок.
      Я все делаю на тестовом сайте в сети а мой дизайнер предпочитает XAMPP

      1. А XAMPP обновляется? Посмотрела – как-будто тоже давняя разработка. Есть статьи за 2010 год. Но все же я переходе подумаю позже, когда подопрет. Denwer все-таки уже знаю.

  6. Федор, еще такая проблема. После переноса на Denwer не отображаются аватарки в комментариях.
    Переустановила все по второму разу и опять получила ту же картину.
    Локальный сервер у меня не имеет доступа в интернет. Связано ли это с этим? Или же причина в чем-то ином? В интернете ничего вразумительного не смогла найти.

  7. Да это важная тема затронута, я недавно чистил от вирусов комп, так все папки пропали с информацией. Х

    1. А причем здесь локальный сервер? Чтобы не было вирусов на компе, надо иметь хороший антивирус. На эту тему у Федора есть отдельная статья.

  8. Да это важная тема затронута, я недавно чистил от вирусов комп, так все папки пропали с информацией. Хорошо что самые важные я сохранил на почте и на диске. А если с сайтом что то, это вообще проблема. Надо подумать и попробовать себе так сделать.

    1. Информация с сайта сохраняют двумя способами. 1. Хороший хостер регулярно делает копии. 2. Сам автор заботится о своем детище и тоже делает копии. Локальный сервер нужен не для хранения данных, а для работ с сайтом. Лучше пробовать на нем до того, как переносить какие-то изменения на основной сайт.

  9. Статья хорошая и полезная.
    У себя применяю плагин WP Database Backup, всегда на почту приходит архив базы данных.
    Плюс как дополнение на хостинге всегда можно восстановить резервную копию, есть выбор по дням сохранения. Очень удобно, пользовался много раз. Хостинг beget.

    1. Неужели у вас так часто летела БД? Мне как-то не приходилось пользоваться такой услугой. Единственное мое обращение к хостеру было связано с DOS-атакой. Честно говоря, напугали меня сильно.

  10. Я тоже буквально вчера этот плагин установил и начинаю им пользоваться. Действительно удобно то что на почту приходят архив базы данных

    1. Я не считаю нужным ставить дополнительный плагин. БД всегда можно скачать прямо из своего кабинета на хостинге. Занимает считанные минуты. Так зачем дополнительная нагрузка на сайт?

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *