Главная » Администрирование Битрикс » Как перенести Битрикс на локальный сервер для разработки

Как перенести Битрикс на локальный сервер для разработки

Схема переноса сайта 1С-Битрикс на локальное окружение для разработки и тестирования

Работа над задачей напрямую на боевом сайте — быстрый способ сломать что-то у реальных посетителей. Разберём, как корректно перенести копию 1С-Битрикс на локальный сервер для разработки и тестирования, не задев прод и не столкнувшись с типичными проблемами вроде "локально всё работает, а на сервере — нет".

Что переносить: файлы и база данных

Полный перенос состоит из двух независимых частей: файлов сайта (ядро, шаблоны, загруженный контент в upload/) и дампа базы данных MySQL. Забыть про любую из частей — гарантированно получить нерабочую копию: без файлов не будет шаблонов и загруженных изображений, без актуальной базы — не будет реального контента и настроек.

Выгрузка файлов

# с сервера на локальную машину
rsync -avz --exclude 'bitrix/cache' --exclude 'bitrix/managed_cache' \
  user@server:/path/to/site/ ./local-site/

Каталоги кеша (bitrix/cache, bitrix/managed_cache, bitrix/stack_cache) переносить не нужно — они пересоздаются автоматически и только увеличивают объём переносимых данных без практической пользы. Каталог upload/ может оказаться весомой частью переноса на проектах с большим количеством изображений — для чисто функционального тестирования логики без визуальной проверки его иногда разумно пропустить, подставив вместо него несколько тестовых файлов.

Нужна помощь с Битрикс?





    Выгрузка и импорт базы данных

    # выгрузка на сервере
    mysqldump -u user -p database_name > dump.sql
    
    # импорт локально
    mysql -u root -p local_database_name < dump.sql

    База 1С-Битрикс на реальном проекте может быть весьма объёмной — для ускорения выгрузки и передачи стоит сразу сжимать дамп (mysqldump ... | gzip > dump.sql.gz), особенно при переносе через медленный канал.

    Настройка подключения к БД под новое окружение

    После импорта базы обязательна правка файла bitrix/php_interface/dbconn.php — локальные логин, пароль и имя базы почти всегда отличаются от боевых. Оставленные боевые реквизиты в этом файле на локальной копии — не просто ошибка конфигурации, а потенциальный риск, если локальная машина случайно получит сетевой доступ к боевой базе.

    Смена адреса сайта в самой базе

    Домен сайта хранится не только в конфигурации сервера, но и внутри самой базы данных (таблица b_lang, поле SERVER_NAME, и некоторые связанные настройки) — без этой правки система продолжит генерировать ссылки и редиректы на боевой домен даже при полностью локальном окружении, что особенно заметно на страницах с абсолютными ссылками и в письмах.

    Локальное доменное имя и hosts

    # /etc/hosts (Linux/Mac) или C:\Windows\System32\drivers\etc\hosts
    127.0.0.1   project.local

    Локальный псевдо-домен вместо обращения по localhost или IP удобнее для работы с многосайтовостью и cookie, привязанными к конкретному имени хоста, — некоторые механизмы Битрикса (например, сессии и авторизация) чувствительны к точному совпадению домена.

    Отключение внешних интеграций на локальной копии

    Перенесённая копия базы содержит те же настройки внешних интеграций, что и прод, — платёжные системы, отправка писем, обмен с 1С, вебхуки CRM. Без явного отключения или переключения в тестовый режим локальное тестирование рискует случайно отправить реальные письма клиентам, создать тестовый платёж в боевом платёжном шлюзе или запустить синхронизацию с реальной 1С — это одна из самых частых и неприятных ошибок при первом переносе на локальную машину.

    Проверка версий PHP и MySQL

    Локальное окружение должно соответствовать версиям PHP и MySQL, максимально близким к боевому серверу, — расхождение версий может скрыть проблему совместимости, которая проявится только при реальном обновлении сервера, или наоборот, создать локальную ошибку, которой на проде вообще нет.

    Частые ошибки

    • Боевые реквизиты БД остаются в dbconn.php. Риск случайного подключения локальной копии к продовой базе.
    • Домен в базе не изменён на локальный. Ссылки и редиректы продолжают вести на боевой сайт.
    • Внешние интеграции не отключены. Локальное тестирование отправляет реальные письма или создаёт тестовые платежи в боевом шлюзе.
    • Каталоги кеша перенесены вместе с остальными файлами. Лишний объём переноса без практической пользы.

    Итог

    Полный перенос на локальный сервер требует синхронной выгрузки файлов и базы данных, правки реквизитов подключения и адреса сайта внутри базы, и, что легко забыть, явного отключения внешних интеграций — без этого шага локальная копия рискует выполнить реальные действия во внешних системах вместо изолированного тестирования.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний